E-Commerce

Open-Source-Webshop Magento im Test

12.04.2012
Von Daniel Nitz

Technische Basis

Architektur und Hardwareanforderungen:

Mit Magento lassen sich diverse Social-Commerce-Ansätze im Webshop realisieren.
Mit Magento lassen sich diverse Social-Commerce-Ansätze im Webshop realisieren.

Magento wurde auf dem aktuellsten Stand der Technik programmiert. Es basiert auf dem Zend-Framework und der objektorientierten Skriptsprache PHP 5. Das Zend-Framework, das vielen Entwicklern gut vertraut ist, wird kontinuierlich durch seine eigene Community und Zend weiterentwickelt. Damit liegt Magento ein solides und weit verbreitetes Framework zugrunde. Eine flexible Skalierbarkeit ist dadurch garantiert, dass die Architektur von Magento das Aufsetzen von Datenbank- und Web-Server-Clustern unterstützt. Das Projekt implementiert allgemeingültige Programmiermuster wie MVC (Model View Controller) oder Singleton (Entwurfsmuster) und überzeugt nicht nur deswegen durch eine sehr durchdachte Softwarearchitektur.

Allerdings stellt der technische Ansatz hohe Anforderungen an die Hardware. Verfügen Shop-Betreiber über einen adäquat dimensionierten Server und optimieren dessen Einstellungen, werden sie keinerlei Performance-Probleme bekommen. Neben größer dimensionierter Hardware kann der Leistungsbedarf auch durch Caching kompensiert werden. Diese Unterstützung wurde unter anderem durch Memcached eingeführt. Eine gute Performance auf einem billigen Shared-Hosting-Paket zu erreichen, ist aber definitiv nicht möglich. Damit liegen die Kosten für das Server-Hosting bei Magento deutlich höher als bei so manch anderen E-Commerce-Lösungen aus dem Open-Source-Umfeld.

Programmierung und Anpassungen:

Da bei Magento Programmkern, Funktionen und Design klar getrennt sind, lassen sich sehr gut Anpassungen am System vornehmen - und zwar ohne Änderung des Original-Softwarecodes. Die Update-Fähigkeit bleibt erhalten. Voraussetzung dafür ist eine professionelle Umsetzung der Anpassungen und ein tieferes Verständnis des Systems. Generell erfordert die Programmierung von Magento fundierte PHP-Kenntnisse und Know-how in Sachen Entwicklungs-Frameworks. Selbst erfahrene PHP-Programmierer brauchen einiges an Einarbeitungszeit, da Magento zwar auf dem Zend-Framework basiert, das System an sich aber sehr komplex ist. Aufgrund dieser Komplexität können Shop-Betreiber Funktionen, die nicht im Standardumfang von Magento enthalten sind, meist nicht selbst umsetzen.

Für die Erstellung individueller Templates beispielsweise, die über die flexiblen Design- und Layout-Vorlagen von Magento hinausgehen, braucht man spezifische Programmierkenntnisse. Gerade für kleinere Unternehmen ist deshalb eine handfeste Implementierung mit speziellen Features finanziell kaum zu bewältigen. Wollen sie Magento nutzen, müssen sie deutliche Abstriche bei der Umsetzung individueller Anforderungen in Kauf nehmen - sofern ihnen nur ein sehr schmales Budget zur Verfügung steht. Bei der Entscheidung für Magento müssen also auf jeden Fall die technischen, infrastrukturellen und fachlichen Gegebenheiten berücksichtigt werden beziehungsweise die Kosten, die durch die Inanspruchnahme von Agenturen oder Hosting-Partnern entstehen würden.

Modularität:

Magento ist durchgängig modular aufgebaut und kann deswegen flexibel erweitert werden - das entsprechende Know-how immer vorausgesetzt. Mit Magento Connect besteht die Möglichkeit, viele Open-Source-Ergänzungen aus der Community einfach per Knopfdruck zu installieren. Hier existieren schon über 1.000 individuelle Module. Bis auf die erwähnten finanziellen Belange sind den individuellen Anpassungen kaum Grenzen gesetzt. Insgesamt ist Magento sehr verbindungsfreudig und lässt sich nahtlos an vorhandene Workflows koppeln. Ein Web-Services-API unterstützt sowohl SOAP als auch REST und erlaubt den Produkt- und Bestelldatenaustausch mit Modulen von Drittanbietern, beispielsweise mit diversen ERP-Systemen. Neben der problemlosen Integration mit internen Systemen lässt sich Magento durch eigene Erweiterungen auch an externe Services und Dienstleistungen wie beispielsweise Online-Marktplätze oder Logistik-Dienstleister anbinden.