Anzeige
Anzeige
E-Commerce

Anforderungen und Umsetzung – Ein Erfahrungsbericht: Handy-Shop mit TYPO3

An E-Commerce-Lösungen für die Mobilfunkbranche werden besondere Ansprüche gestellt. Ein System „von der Stange“ kommt hier nicht in Frage, da die Beziehung zwischen Produkten, Tarifen, Providern und Zubehörartikeln den Rahmen normaler Shop-Systeme sprengt. Soll das Ganze noch mit einem CMS verbunden werden, liegt die Idee einer Umsetzung des Frontends mit TYPO3 als einem der leistungsfähigsten Open-Source-Systeme nicht allzu fern.

5 Min.
Artikel merken
Anzeige
Anzeige

Im Jahr 2007 manifestierte sich bei der _dug telecom ag der Wunsch nach einer Ablösung der bestehenden, auf OScommerce basierenden Online-Shop-Lösung, und man begann mit der Entwicklung eines eigenen Shop-Systems. Dieses sollte einerseits genau auf die Bedürfnisse der Mobilfunkbranche zugeschnitten sein und andererseits eine Basis für beliebige Shop-Installationen bilden. Neben dem Shop-Relaunch sollten auch gleichzeitig die eigenen Unternehmensseiten konsolidiert werden.

Anzeige
Anzeige

Die Entscheidung fiel auf die Agentur Votum media und damit zugunsten einer auf TYPO3 basierenden Lösung. Dafür sprachen zum einen die bisherigen positiven Erfahrungen der _dug telecom ag mit Open-Source-Technologien, zum anderen aber auch die technischen Features von TYPO3. Die Möglichkeiten der dynamischen Generierung von Produktabbildungen, das solide TYPO3-eigene Caching, die Möglichkeit der XML-Verarbeitung, das umfangreiche Angebot an bestehenden Extensions und nicht zuletzt die flexible Erweiterung des Grundsystems durch beliebige eigene Extensions waren ausschlaggebend für die Entscheidung. Eine weitere, wenn auch untergeordnete, Rolle spielten die CMS-Funktionalitäten von TYPO3 für die Pflege der Unternehmensseiten.

Shop mit serviceorientierter Architektur im Backend

Das zu implementierende TYPO3-System sollte im Wesentlichen das Frontend für ein zugrunde liegendes Shop-System mit serviceorientierter Architektur (SOA) bilden. Das System ist eine komplette Eigenentwicklung und wurde speziell an die Bedürfnisse der Mobilfunkbranche angepasst. So müssen neben den klassischen Artikeln eines Shops auch die unterschiedlichen Provider und Tarife mitverwaltet werden können. Eine weitere Besonderheit der Branche ist, dass vielen Artikeln mehrere Zubehörartikel zugeordnet sind. Allein die Möglichkeiten der Preisgestaltung inklusive Rabattmöglichkeiten und Sonderaktionen sprengen schon den Rahmen des durchschnittlichen Shop-Systems.

Anzeige
Anzeige

Das Gesamtsystem umfasst daher eine Vielzahl an Einzelsystemen, die als Services zur Verfügung stehen und größtenteils in PHP und Delphi, vereinzelt auch in Java, implementiert sind. Die Kommunikation der einzelnen Services untereinander erfolgt über ein eigenes SOAP-ähnliches Protokoll via XML.

Anzeige
Anzeige

White-Label-Shop mit TYPO3 als Frontend

Ausgehend von den Vorgaben durch das bestehende Shop-System ergaben sich klare Anforderungen an die Implementierung des Frontends mit TYPO3. Es sollte eine White-Label-Applikation entwickelt werden, die durch geringen Anpassungsaufwand für jede Art von Online-Shop verwendbar ist. Für das Shop-Frontend – und damit die TYPO3-Installation – sollten für eine Designanpassung lediglich neue HTML-Templates und eine Änderung der Konfiguration nötig sein, um zusätzlichen Programmieraufwand möglichst komplett zu vermeiden.

Dafür bedurfte es einerseits einer strikten Trennung von Darstellung und Logik durch sauberes Templating in den zu entwickelnden Frontend-Plugins, andererseits musste die Möglichkeit einer zentralen Konfiguration des Shops gegeben sein.

Anzeige
Anzeige

TYPO3 bot an dieser Stelle mehrere Lösungsansätze für die Anforderungen: Die TYPO3-eigene Konfigurationsdatei „localconf.php“ konnte genutzt und um eigene Konfigurationsparameter erweitert werden. Für diese Variante sprach, dass sich die Konfiguration relativ bequem über das Install-Tool oder, bei einzelnen Extensions, über den Extension-Manager vornehmen lässt. Zusätzlich besteht noch die Möglichkeit, die Konfigurationsdatei mit Skripten auszulesen oder selbst Werte zu setzen. Dieser Punkt gewann im Hinblick auf ein späteres automatisiertes Deployment der Shop-Installation besonders an Gewicht. Gegen die Nutzung der zentralen Konfigurationsdatei sprach allerdings die Durchmischung mit der TYPO3-eigenen Konfiguration, die im Gegensatz zu einer reinen Konfiguration des Shop-Frontends höhere Ansprüche an den Administrator stellt.

Die zweite Möglichkeit bestand in der Nutzung des Constant-Editors und TS-Constants, um die Konfiguration bequem über das TYPO3-Backend vornehmen zu können. Ein Vorteil dieses Ansatzes ist die Nutzerfreundlichkeit für den Administrator, der das Shop-Frontend einrichtet: Es lassen sich sämtliche Konfigurationsmöglichkeiten in einem speziell darauf zugeschnittenen Backend-Formular darstellen. Ein Nachteil dieser Variante ist allerdings die recht aufwändige Bearbeitung der Konfiguration durch Skripte, da die Parameter in einer Datenbank und nicht in Dateien gespeichert werden.

Alternativ dazu gab es noch die Möglichkeit der Nutzung eigener Konfigurationsdateien in Verbindung mit einem eigenen Backend-Modul zur Konfiguration des Shop-Frontends. Die Nachteile der beiden vorher genannten Ansätze gibt es bei dieser Variante zwar nicht, allerdings ist es auch der aufwändigste Ansatz.

Anzeige
Anzeige

Die Wiederentdeckung des Constant-Editors

Letztendlich entschied sich Votum media für eine Nutzung der TYPO3-eigenen Möglichkeiten. Die Lösung war eine Kombination aus der Nutzung der zentralen TYPO3-Konfigurationsdatei und des selten genutzten Constant-Editors im Backend. Damit
wurde versucht, sämtliche Frontend- und Template-spezifischen
Konfigurationen über TS-Constants abzubilden. Es lassen sich sämtliche Einstellungen komfortabel über den Constant-Editor anpassen.
Die Konfiguration des Backends und der Kommunikation mit dem zugrunde liegenden Shop-Framework erfolgt dagegen ausschließlich in der zentralen TYPO3-Konfigurationsdatei, wobei einige wesentliche Parameter auch direkt über Formularfelder im Backend gesetzt werden können. So lassen sich beispielsweise die URLs der angesprochenen Services sowie Logging- und Debugging-Funktionen in der Konfiguration der zentralen Service-Extension im Extension-Manager verwalten. Die gesetzten Werte werden direkt in die zentrale TYPO3-Konfigurationsdatei übernommen.

Zentrale Extension erleichtert Fehlersuche

Zur Abbildung der speziellen Anforderungen war die Entwicklung von acht eigenen Extensions nötig, die für die Darstellung des Shops und die Kommunikation mit dem Backend zuständig sind. Die systemeigene PHP-Client-API wurde in einer eigenen Service-Extension gekapselt, die sämtliche Shop-Funktionen für alle anderen Extensions zur Verfügung stellt. Im Verlauf des Projekts ermöglichte dieser Ansatz eine effiziente Entwicklung: Eine Reihe von kleineren Änderungen an der Client-API konnten direkt mit der zentralen Service-Extension abgefangen werden.

Mit der Zeit entwickelte sich aus dieser Extension das Herzstück des gesamten Frontends, das neben einer umfangreichen Klassenbibliothek noch mächtige Funktionen für das Debugging und die Performance-Messungen enthält. Die schnelle Eingrenzung von Fehlern auf das verursachende System kam nicht nur den Entwicklern von Votum media, sondern letztendlich auch den Entwicklern auf Kundenseite bei der Optimierung des Gesamtsystems zugute. Neben den umfangreichen Extensions für die Katalogdarstellung und den Bestellprozess sind ein Handy-Vergleich und ein Tarifberater weitere Highlights des Systems.

Anzeige
Anzeige

Mehrere zehntausend Seiten aus dem Cache

Die Basis für eine gute Performance des Shops auch bei hoher Last bildet neben der flexibel skalierbaren Serverarchitektur der Frontend-Cache. Ein ungecacheter Aufruf einer Produktdetailseite benötigt aufgrund der Komplexität der Shop-Architektur zwischen einer und drei Sekunden. Deshalb soll ein Shop-Kunde idealerweise immer eine gecachete Seite geliefert bekommen, deren Aufruf lediglich 100 bis 200 Millisekunden dauert.

Redaktionelle Updates werden lediglich einige Male im Monat zu besucherarmen Zeiten durchgeführt. Nach jedem erfolgten Update wird ein Ruby-Skript als Crawler angestoßen, das den Frontend-Cache komplett wiederaufbaut.

Die vom Crawler zu durchlaufende Seitenanzahl ist dabei nicht zu unterschätzen. Bei drei Farbvarianten und sechs möglichen Netzanbietern mit zum Teil mehr als 30 verschiedenen Tarifen ergeben sich pro Handy weit über 500 verschiedene Produktdetailseiten für ein einzelnes Gerät. Insgesamt kommen bei ungefähr 60 angebotenen Mobiltelefonen mehrere 10.000 Seiten zusammen.

Anzeige
Anzeige

Fazit

In diesem Projekt wurde deutlich, dass TYPO3 als CMS und grundsolides Web-Framework seine Stärken im Bereich hochwertiger und komplexer E-Commerce-Plattformen ausspielen kann. Die Vorzüge von Features wie dem Constant-Editor, dem performanten Frontend-Caching und den verschiedenen Arten von Extensions zeigen sich gerade in größeren Projekten. Mit der nahtlosen Integration von TYPO3 in eine serviceorientierte Anwendungsarchitektur ist die Umsetzung eines modernen, anwenderfreundlichen und sicheren Shop-Frontends gelungen.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige