Zur PDF-Version

Transcrição

Zur PDF-Version
Berufsakademie Sachsen
Staatliche Studienakademie Dresden
Studienrichtung Medienproduktion
Wildsmile Studios
Rudolf-Leonhard-Straße 54
01097 Dresden
Machbarkeitsstudie zur Erweiterungsmöglichkeit des
E-Commerce-Systems Magento um die Steuerungsmöglichkeit
produktionsrelevanter Managementprozesse für den Druck
Diplomarbeit
zur Erlangung des Grades
Diplom-Informatiker (BA)
in der Studienrichtung Medienproduktion
eingereicht von:
Christoph Joschko
29. Januar 1984
1. Gutachter:
Herr Dipl.-Medienkünstler Andreas Ullrich
2. Gutachter:
Herr Dr.-Ing. Ulf Martin
Tag der Themenübergabe: 19. Mai 2010
Tag der Einreichung:
26. August 2010
1
AUFTRAGSBLATT E²
2
Autorenreferat
JOSCHKO, Christoph: Machbarkeitsstudie zur Erweiterungsmöglichkeit des E-CommerceSystems Magento um die Steuerungsmöglichkeit produktionsrelevanter Managementprozesse für den Druck, Berufsakademie Sachsen, Staatliche Studienakademie, Studiengang
Medienproduktion, Diplomarbet, 2009
E-Commerce ist für heutige Unternehmen kaum noch wegzudenken, Online-Shops sind
dadurch alltäglich geworden. Die Software Magento setzte als OpenSource-Lösung für
Online-Shops neue Maßstäbe. Auch stark individualisierbare Produkte wie Druckerzeugnisse können so mit einer benutzerfreundlichen Lösung online vertrieben werden. Die vorliegende Arbeit beschäftigt sich mit dem Szenario des Online-Vertriebs und anschließender Fertigung, einer Reihenfolge wie sie bei Druckportalen und anderen Fertigungen üblich ist. Magentos Erweiterungsmöglichkeiten werden hinsichtlich einer Einbindung der
Produktionsprozesse in die Auftragsverwaltung der E-Commerce Software untersucht. Am
Beispiel der Druckagentur stickma.de werden die aufgezeigten Lösungsansätze verglichen
und eine Verallgemeinerung auf andere Fertigungen vorgenommen. Abschließend werden
die Ergebnisse ausgewertet und die Machbarkeit der Verbindung von einem auf Magento
basierten Online-Shop mit einer Produktionssteuerung bewertet.
3
Inhaltsverzeichnis
1 Einleitung........................................................................................................................7
1.1 Motivation......................................................................................................................7
1.2 Ziel und Aufbau der Arbeit ............................................................................................8
1.3 Beschreibung der Software Magento............................................................................9
2 Aktueller Bestellablauf (Ist-Zustand)...........................................................................10
2.1 Auftragseingang...........................................................................................................11
2.2 Auftragsannahme.........................................................................................................11
2.3 Druckvorstufe..............................................................................................................12
2.3.1 Datencheck..............................................................................................................14
2.3.2 Datenaufbereitung....................................................................................................15
2.3.3 Bogensatz................................................................................................................15
2.4 Druck...........................................................................................................................17
2.5 Weiterverarbeitung......................................................................................................17
2.6 Qualitätskontrolle.........................................................................................................18
2.7 Verpackung und Versand............................................................................................18
2.8 Fakturierung................................................................................................................19
2.9 Besonderheiten...........................................................................................................19
3 Analyse des Bestellablaufs.........................................................................................20
3.1 Reihenfolgen und Abhängigkeiten...............................................................................20
3.2 Der Bestellablauf als Geschäftsprozess......................................................................21
3.3 Schwachstellen & Verbesserungsmöglichkeiten.........................................................23
3.3.1 Mangelnde Kenntnis über den Auftragsstatus..........................................................23
3.3.2 Uneinheitliche Datenhaltung.....................................................................................24
4
3.3.3 Unzureichende Automatisierung einzelner Aktivitäten..............................................24
3.3.4 Mangelnde Erfassung der Ereignisse.......................................................................25
4 Überlegungen zum Soll-Zustand................................................................................25
4.1 Zusammenfassung der Parameter für einen Druckauftrag..........................................26
4.2 Anwendungsfälle und Sichten.....................................................................................27
4.2.1 Datencheck..............................................................................................................28
4.2.2 Bogensatz................................................................................................................28
4.2.3 Druck........................................................................................................................29
4.2.4 Weiterverarbeitung...................................................................................................29
4.2.5 Qualitätskontrolle......................................................................................................29
4.2.6 Versand....................................................................................................................30
4.3 Entscheidung zum Erreichen des Soll-Zustandes.......................................................30
5 Schnittstelle zwischen Online-Shop und Produktionen...........................................31
5.1 Anpassung von Magento.............................................................................................32
5.1.1 Core-Änderung.........................................................................................................32
5.1.2 Module-Extension.....................................................................................................33
5.1.3 REST-Integration......................................................................................................35
5.1.4 Magento Core-API....................................................................................................37
5.2 Auswertung und Auswahl der Anpassungsmöglichkeiten............................................40
6 Lösung für den Agenturbetrieb....................................................................................41
6.1 Bessere Kenntnis über den Auftragsstatus.................................................................42
6.2 Vereinfachte Datenhaltung..........................................................................................43
5
6.3 Automatisierung von Arbeitsschritten..........................................................................43
7 Übertragbarkeit der Erkenntnisse...............................................................................44
8 Fazit...............................................................................................................................45
8.1 Machbarkeit.................................................................................................................45
8.2 Vor- und Nachteile von Magento für das Thema.........................................................46
8.3 Möglichkeiten & Ausblick.............................................................................................47
Quellenverzeichnis.............................................................................................................48
Tabellenverzeichnis............................................................................................................49
Abbildungsverzeichnis........................................................................................................50
Eidesstattliche Erklärung....................................................................................................51
6
1 Einleitung
1.1 Motivation
Das Unternehmen „Wildsmile Studios“ betreibt unter der Marke „stickma.de“ eine Druckagentur für individuell gestaltete Aufkleber. Die im Bogen-Offsetdruck gefertigten und optional durch Lackierung veredelten Produkte werden in der anschließenden Weiterverarbeitung je nach Kundenwunsch auf ein rechteckiges Format oder nach einer individuellen
Konturlinie geschnitten. Die eigentliche Produktion im Offsetdruck und die anschließende
Weiterverarbeitung erfolgt durch Geschäftspartner, mit denen ein enges Kooperationsverhältnis besteht. Das Aufgabenfeld der Agentur setzt sich aus den Schwerpunkten Vertrieb
und Druckvorstufe zusammen, sowie der Unterstützung der engagierten Druckereien bei
besonders wichtigen Produktionen. Für den Vertrieb wurde zunächst ein Online-Shop verwendet, welcher als Eigenlösung programmiert wurde. Der Online-Shop bedurfte aufgrund
des nicht mehr zeitgemäßen Standes der Software und damit steigender Wartungs- und
Kompatibilitätsprobleme einer dringenden Ablösung. Im Jahr 2009 wurde die E-Commerce-Software Magento eingeführt, welche im Jahr zuvor als OpenSource-Projekt von der
Varien Inc. veröffentlicht wurde. Die Eignung der Software Magento als Online-Shop für
eine Druck-Agentur wurde bereits dokumentiert sowie die Einführung des Systems angedeutet1.
Mit der nun abgeschlossenen Implementierung von Magento ergibt sich die Gelegenheit,
auch die Struktur des Agenturbetriebs neu zu überdenken und Möglichkeiten der Weiterentwicklung aufzudecken. Die bisherige Erfahrung mit der neuen Software zeigte, dass
zwar der Online-Vertrieb komfortabler wurde, jedoch die Organisation der Auftragsabwicklung außerhalb von Magento stattfindet. Sicher ist es kein Muss, dass ein Online-Shop neben der Kunden- und Auftragsverwaltung auch die Prozesse der Auftragsabwicklung erfasst, jedoch wäre so aus der Auftrags- und Kundenverwaltung ein unmittelbarer Zugriff
auf den Produktionsprozess möglich. Eine verbesserte Transparenz und effiziente Kommunikation mit den Kunden könnte die Folge einer solchen Arbeitsumgebung sein und
zum Mehrwert des Online-Shops beitragen2.
1
2
[METSCHKE 2009], Seite 59
[METSCHKE 2009], Seite 11
7
Nach Möglichkeit soll eine Vereinfachung der Auftragsabwicklung über die Unternehmensgrenzen hinweg erfolgen und gleichzeitig die Kooperation mit vorgenannten Partnern der
Druckproduktion optimieren.
Entscheidend ist, dass im hier untersuchten Szenario Produkte vertrieben werden, die erst
nach Auftragseingang gefertigt werden können. Magento deckt den Bereich E-Commerce
dahingehend ab, als dass Produkte ab Lager vertrieben werden können und die Produktion nicht Teil der Bestellabwicklung ist.
Ziel der vorliegenden Arbeit ist daher, die gegebene OpenSource-Lösung dahingehend zu
erweitern, dass sowohl von Seiten der Agentur als auch ihrer Partnerunternehmen eine
vereinfachte Verwaltung der laufenden Druckaufträge möglich wird und Informationen über
den Produktionsprozess in Magento verfügbar werden.
Über die gegebene Situation der Agentur hinaus soll auch Magentos Erweiterbarkeit und
Flexibilität dahingehend untersucht werden, inwiefern eine grundsätzliche Verknüpfung
von Online-Vertrieb und Produktion außerhalb der Druckbranche möglich ist.
1.2 Ziel und Aufbau der Arbeit
Die vorliegende Arbeit gliedert sich wie folgt:
Zunächst erfolgt im Rahmen des untersuchten Unternehmens eine Bestandsaufnahme der
aktuellen Bestellabwicklung. Dabei werden die nötigen Arbeitsschritte und daran beteiligten
Stationen
dargestellt
und
deren
Zugriff
auf
Auftragsdaten
festgehalten.
In der folgenden Analyse des Ist-Standes wird dargestellt, an welchen Stellen eine in
Magento integrierte Lösung Schwachstellen im Prozess umgehen oder den Prozess zumindest vereinfachen könnte.
8
Daraus soll anschließend ein System definiert werden, welches den Produktionsprozess
des Unternehmens stützen könnte, während Magento als Verkaufslösung dient. Dabei
werden die in der Bestandsaufnahme erfassten Arbeitsschritte einbezogen und daraus Anwendungsfälle ermittelt, welche das ergänzende System umfassen sollte.
Folgend soll untersucht werden, welche Möglichkeiten zur Erweiterung Magento bietet und
inwiefern diese ausreichen, um das zuvor modellierte System in die E-Commerce-Software zu integrieren. Dabei werden unter anderem die von Magento bereitgestellten Möglichkeiten der modularen Erweiterung betrachtet.
Danach wird versucht, die anhand des untersuchten Szenarios gewonnenen Erkenntnisse
im allgemeinen Rahmen anzuwenden. Dabei werden mit Blick auf Magento Besonderheiten bei der Lösungsfindung aufgezeigt, die bei der Prozessgestaltung mit einbezogen werden sollten.
Abschließend wird die Übertragbarkeit der Erkenntnisse ausgewertet und bilanziert, in welchem Verhältnis von Aufwand und Nutzen die gezeigte Lösung auf Basis von Magento zu
realisieren wäre. Ein Teil der Auswertung geht auf die generelle Eignung von Magento für
produzierende Unternehmen ein und stellt dahingehend Aspekte dar, die bei der weiteren
Entwicklung mit Magento relevant sein könnten.
1.3 Beschreibung der Software Magento
Magento wurde im März 2008 von der Varien Inc. veröffentlicht, die mittlerweile gleichnamig als Magento Inc. firmiert. Die Bezeichnung Magento bezieht sich folgend immer auf
die Software. Ist hingegen das gleichnamige Unternehmen gemeint, wird dies erwähnt
bzw. geht aus dem Kontext eindeutig hervor. Magento ist als reine Webanwendung konzipiert und nach dem Modell-View-Controller-Pattern (MVC) in der Skriptsprache PHP 5.2
programmiert. Dabei wurde auf das Zend-Framework der Zend Technologies Ltd. zurückgegriffen. Zur Datenhaltung wird eine MySQL-Datenbank verwendet, welche mithilfe des
Entity-Attribute-Value-Modells (EAV) organisiert ist. Dadurch erreicht das System ein hohes Maß an Skalierbarkeit, da beispielsweise Datenbestände hinzugefügt werden können,
ohne die Abfragelogik des Systems anpassen zu müssen. Gleichzeitig hat das EAV-Modell
9
jedoch zur Folge, dass die Datenbank eine gewisse Komplexität aufweist und Abfragen in
zahlreichen Teilabfragen realisiert werden. Daher arbeitet Magento mit Caches um die bei
Datenbankabfragen entstehenden Geschwindigkeitsdefizite zu kompensieren. Daraus entstehende, an den Browser ausgegebene HTML-Seiten werden ebenfalls in einem separaten Cache abgelegt.
Die Konfiguration sowohl der Oberflächen im Administrations- und im Shop-Bereich als
auch der für Abfragen verwendeten Schnittstellen (zum Model) werden in Form von XMLDateien hinterlegt.
Magento erlaubt den Betrieb mehrerer Domains, welche systemweit als „Sites“ bezeichnet
werden. Pro „Site“ können mehrere Online-Shops (Stores) angelegt werden, deren Ausgabe separat als „Store-View“ konfiguriert werden kann. So können beliebige Kombinationen
aus Site, Store und Store- View angelegt werden, wobei die Abwicklung der einzelnen
Käufe zentral über eine Administrationsoberfläche erfolgt.
2 Aktueller Bestellablauf (Ist-Zustand)
Nach einer Bestellung durchläuft ein Auftrag bei stickma.de mehrere Stationen, an denen
er bearbeitet wird. Solange der Auftrag nicht den tatsächlichen Produktionsschritt durchläuft, also noch kein physisches Druckerzeugnis vorliegt, kann er als eine Menge von Informationen angesehen werden. An den einzelnen Stationen der Verarbeitung werden Teilmengen dieser Informationen aufgerufen und gegebenenfalls mit zusätzlichen Daten ergänzt, die für die weitere Bearbeitung nötig sind. Dabei werden die Daten von unterschiedlichen Benutzern (Mitarbeitern) aufgerufen, die unterschiedliche Sichtweisen auf den Auftrag haben. So sind in der grafischen Bearbeitung das Druckmotiv und alle damit zusammenhängenden Informationen, wie das Format und ggf. das Material des Bedruckstoffes,
relevant. Informationen zur Fakturierung und Lieferung hingegen sind für die Auftragsannahme, Buchhaltung bzw. den Versand von Bedeutung. Die folgenden Abschnitte des Kapitels sollen darstellen, welche Stationen ein Auftrag im derzeitigen Bestellablauf durchläuft und wie die Mitarbeiter auf die zum Auftrag gehörende Informationsmenge zugreifen.
10
2.1 Auftragseingang
Druckaufträge werden über den auf Magento basierenden Online-Shop vom Kunden erstellt. Dabei steht eine vorgegebene Auswahl an Bedruckstoffen und Formaten zur Verfügung. Die für eine Auftragserteilung benötigten Daten kann der Kunde selbst eingeben.
Angaben zu
– Material des Bedruckstoffes
– Format des Druckerzeugnisses
– Auflage des Druckerzeugnisses
– Druckmotiv (optional)
– Datencheck (optional)
– Weiterverarbeitung
– Lieferadresse
– Rechnungsadresse
können im Laufe des Bestellvorgangs eingegeben werden. Die beim Bestellvorgang gesammelten Daten werden per E-Mail an eine vorgegebene E-Mail-Adresse des Unternehmens versendet, wo sie von einem Sachbearbeiter abgerufen und gelesen werden. Außerdem erfasst Magento die Daten in seiner Auftragsverwaltung. Das Druckmotiv kann optional vom Kunden als Datei im Browser übertragen werden, womit es auf einem Server der
Agentur gespeichert wird. Alternativ besteht die Möglichkeit, das Druckmotiv später per EMail zu senden. Alle anderen Angaben (s.o.) sind zwingend erforderlich, um den Bestellvorgang abschließen zu können. In jedem Fall erhält der Kunde eine Dateneingangsbestätigung per E-Mail, die automatisch vom Online-Shop erstellt und versendet wird.
2.2 Auftragsannahme
Die Auftragsannahme wird von einem dafür eingewiesenen Sachbearbeiter übernommen,
der somit Kenntnis über die eingehenden Druckaufträge besitzt. Dieser überprüft zunächst
alle bei der Bestellung angegebenen Daten auf Plausibilität und holt ggf. fehlende Informationen beim Kunden ein.
11
Widersprüchlichkeiten in den Bestelldaten können z.B. die Kombination aus Format und
Weiterverarbeitung sein, wenn das bestellte Format nicht für den Schnitt geeignet ist und
nur mittels einer Formstanzung hergestellt werden kann. Nicht überprüft werden hingegen
Fehler bei der Erstellung der Druckdaten, wie eine zu geringe Auflösung oder fehlender
Beschnitt. Dies ist Teil des Druckdatenchecks, der als kostenpflichtige Option bei der Bestellung angegeben werden kann. Kunden, die diese Option nicht bestellen, erhalten umgehend eine Auftragsbestätigung, unabhängig von der Richtigkeit der Druckdaten.
Wünscht ein Kunde die Überprüfung der Druckdaten, erfolgt die Auftragsbestätigung mit
einem entsprechenden Hinweis, dass die Druckbarkeit der gesendeten Daten überprüft
wird.
Neben der Überprüfung der bestehenden Auftragsdaten, werden bei der Auftragsannahme
weitere, für die Produktion relevante Parameter zu den Auftragsdaten hinzugefügt. So
kann an diese Stelle ein Produktionstermin, ggf. abhängig von vereinbarten Lieferzeiten,
festgelegt werden. Der einzelne Auftrag wird einem geplanten Produktionstermin zugeordnet, für den der Druck des gesamten Bogens vorgesehen ist. Die Zuordnung erfolgt über
die Speicherung der Druckdaten in einer vereinbarten Ordnerstruktur. Diese Struktur ist
wiederum unterteilt in die im Online-Shop angebotenen Bedruckstoffe, auf denen produziert werden kann.
Sobald die Druckdaten in der vorgesehenen Ordnerstruktur einsortiert wurden, sind Sie für
die folgenden Verarbeitungsstationen verfügbar. Anschließend wird die Rechnung für den
Auftrag angelegt. Je nach Zahlungsvereinbarung wird diese sofort an den Kunden versendet (Vorkasse), oder für der Versandabteilung hinterlegt. Außerdem wird dort ein Formular
mit den Lieferdaten und einer Kopie des Druckmotives hinterlegt.
2.3 Druckvorstufe
In der Druckvorstufe werden die zu einem Auftrag gehörenden Druckdaten betrachtet. Das
bei einer im Online-Shop ausgelösten Bestellung optional übertragene Druckmotiv muss
spätestens für die folgend beschriebenen Prozesse vorliegen. Die Druckvorstufe wird von
mehreren Bearbeitern durchgeführt, deren Aufgabenfeld hauptsächlich im graphischen Bereich liegt. Die vorliegenden Druckaufträge können im Rahmen der Druckvorstufe über12
prüft, verändert und für den Bogendruck einem zu produzierenden Druckbogen zugeordnet werden. Die Aufgabenteilung erfolgt in der Regel derart, dass (je nach Menge der Aufträge) mehrere Mitarbeiter die Druckdaten überprüfen, jedoch ein Einzelner für die Erstellung eines Druckbogens zuständig ist. Ähnlich wie bei der Auftragsannahme ist auch hier
nur ein Mitarbeiter in Kenntnis über den Bearbeitungsstand eines Druckbogens und somit
der darauf enthaltenen Aufträge. Um diesen Arbeitsschritt auch aus Sicht der Auftragsannahme, und somit der Kontaktstelle zum Kunden, nachvollziehbar zu machen, werden die
Dateien der Druckmotive entsprechend ihres Bearbeitungsstandes umbenannt oder entsprechend eines vereinbarten Systems an einen anderen Speicherort verschoben. Grafik
1 veranschaulicht dieses Kennzeichnungssystem, dass der internen Kommunikation des
Auftragsstatus dient.
Abbildung 1: Kennzeichnungssystem für Druckdaten bei stickma.de, Quelle: Wildsmile Studios, 2010
13
2.3.1 Datencheck
Das vom Kunden übermittelte Druckmotiv wird anhand verschiedener Parameter auf seine
Druckbarkeit hin überprüft. Dabei werden sowohl qualitätsrelevante Parameter, als auch
logische Zusammenhänge zwischen Druckmotiv und den weiteren Auftragsdaten überprüft. Tabelle 1 zeigt die Auflistung der zu überprüfenden Parameter und deren Zusammenhänge.
Kriterium
qualitätsrelevante
Auflösung
Beschnitt
Farbmodus
produktionsrelevante
Farbauftrag
Format
Anforderung
Zusammenhang mit
min. 300dpi
min. 2mm
CMYK
bestelltes Format
max. zulässiger Farbauftrag
min. Schnittgröße = 35mm
max. Bogenformat = 70x100cm
Bedruckstoff
Weiterverarbeitung
Bedruckstoff
Tabelle 1: Kriterien zur Überprüfung der Druckbarkeit (Datencheck)
2.3.2 Datenaufbereitung
Ergibt der Datencheck (vgl. Abschnitt 2.3.1 ), dass fehlerhafte Druckdaten vorliegen, oder
wünscht ein Kunde ausdrücklich eine Ergänzung oder Veränderung der Druckdaten, wird
diese im Rahmen des Druckdatenchecks vorgenommen. So können dabei erkannte Fehler gegebenenfalls korrigiert werden. Die Veränderung der Druckdaten bedarf der anschließenden Freigabe durch den Kunden. Dieser erhält dazu ein Freigabeformular mit
dem veränderten Druckmotiv und allen Auftragsdaten, dass er unterschrieben postalisch
oder per Fax zurücksendet.
Die Bearbeitung der Druckdaten wird von einem dafür zuständigen Mitarbeiter vorgenommen, meistens demjenigen, der auch die übrigen Druckdaten überprüft. Die für die Druckfreigabe zusätzlich benötigte Zeit, also für Zustellung, Überprüfung und Rücksendung des
Freigabeformulars, muss dabei mit eingeplant werden. Erst nach erfolgter Druckfreigabe
kann das Motiv druckfertig auf den Sammelbogen gesetzt werden kann. Die Kommunikation mit dem Kunden erfolgt in der Regel über die Station der Auftragsannahme. Der Mitar14
beiter der grafischen Bearbeitung sendet das erstellte Freigabeformular an den Mitarbeiter
der Auftragsannahme, der es an den Kunden weiterleitet und die Druckfreigabe anfordert.
2.3.3 Bogensatz
Die Zusammenstellung eines Sammelbogens für den Offset-Druck wird von einem speziell
dafür eingewiesenen Mitarbeiter vorgenommen. Dabei werden alle Druckmotive, die für
das gleiche Material (Bedruckstoff) vorgesehen sind, in auf einer Datei als Druckbogen gesetzt, solange dessen verfügbare Fläche ausreicht. Die möglichen Maße des Bogens sind
durch die Druckerei vorgeschrieben, welche später den Druck ausführt. Der Druckbogen
muss so gesetzt werden, dass dieser nach dem Druck wieder in die einzelnen Motive zerschnitten werden kann.
Eine besondere Rolle nehmen beim Bogensatz Formate bzw. Formen ein, welche nicht im
Stapelschneider, sondern nur mithilfe einer individuellen Stanzform oder eines Formplots
aus dem Bogen geschnitten werden. Dies ist erforderlich, wenn
– das Druckprodukt in seiner Form nicht rechteckig ist (Freiformen)
– mindestens eine Seitenlänge des Endformates das kleinste Schnittmaß des
Stapelschneiders unterschreitet
– der Kunde ein exaktes Format benötigt (z.B. Etiketten)
Die Stanzform, welche als Konturlinie (Pfad) vorliegen muss, kann in einer separaten Datei hinterlegt sein, so dass der Bogensetzer Kenntnis über den geplanten Zuschnitt des
Produktes haben muss. Ferner dürfen beim Bogensatz nur Motive für den Druck platziert
werden, bei welchen im vorhergehenden Datencheck keine Fehler festgestellt wurden.
Auch darüber muss der für den Bogensatz zuständige Mitarbeiter Kenntnis haben. Dazu
wird das am Anfang des Abschnittes 2.3 erwähnte Verfahren (Kennzeichnung via Dateinamen und Speicherort) verwendet.
15
Nach Abschluss des Bogensatzes wird der erstellte Druckbogen gespeichert und einem
weiteren Mitarbeiter mit ausreichender Fachkenntnis zur Überprüfung vorgelegt. Erfahrungen aus früheren Produktionen zeigen, dass dieser Schritt die Fehlerquote erheblich minimiert. Nach Überprüfung des gesetzten Druckbogens, und gegebenenfalls vorgenommener Korrekturen, wird dieser elektronisch auf einen Server der Druckerei übertragen. Ist
die Übertragung angeschlossen, wird die Produktionsleitung der Druckerei per E-Mail oder
telefonisch über den Dateneingang informiert. Eine zusätzliche Auftragserteilung entfällt
aufgrund bestehender Vereinbarungen mit der Druckerei (vgl. Abschnitt 2.9 ), so dass die
Übertragung des Druckbogens und die anschließende Benachrichtigung für die weitere
Produktion bereits verbindlich sind. Ein weiterer Eingriff in den Aufbau des Druckbogens
oder die darauf enthaltenen Motive ist ab diesem Zeitpunkt grundsätzlich nicht mehr möglich.
Im regulären Bestellablauf ist ein optionaler Andruck (Proof) derzeit nicht vorgesehen und
wird im Online-Shop deswegen nicht angeboten.
2.4 Druck
Der Druck selbst findet außerhalb des Einflussbereiches der Druckagentur statt. Für den
Kunden und die Agentur befindet sich der Auftrag in Bearbeitung, ohne dass darauf Einfluss genommen werden kann.
In diesem Produktionsabschnitt werden die Druckplatten hergestellt, die Druckmaschine
eingerichtet und der Druck vorgenommen. Anschließende Veredelungen wie eine UVSchutz-Lackierung oder vorbereitende Maßnahmen, wie eine weiße Grundierung der
Druckflächen auf transparenten Bedruckstoffen, sind Teil des Druckprozesses.
2.5 Weiterverarbeitung
Die Weiterverarbeitung umfasst hauptsächlich den Prozess des Schneidens. Wie in Abschnitt 2.3.3 angedeutet, wird dieser für alle rechteckigen Formate manuell vorgenommen, sofern keine Seitenlänge ein vorgegebenes Mindestmaß unterschreitet. Den Zu16
schnitt nimmt ein Mitarbeiter der Druckerei manuell am Stapelschneider vor. Die Motive,
welche im Bogensatz mit einer Konturlinie versehen wurden, werden gestanzt oder mittels
eines Formplots geschnitten.
2.6 Qualitätskontrolle
Nach Abschluss der Weiterverarbeitung wird das fertige Druckerzeugnis zunächst der
Agentur überstellt und dort einer Qualitätskontrolle unterzogen. Dabei werden die Qualität
des Druckbildes und der Weiterverarbeitung beurteilt, sowie eventuelle Abweichungen von
den Druckdaten überprüft. Die Qualitätskontrolle erfolgt von einem Mitarbeiter, welcher mit
den gesendeten Druckdaten vertraut ist. Die Druckdaten wurden vor der Produktion in der
Auftragsannahme, dem Datencheck und dem Bogensatz verarbeitet, so dass einer der jeweils zuständigen Mitarbeiter die Qualitätskontrolle durchführt.
Weißt das Druckerzeugnis keine Mängel auf, wird es für den Versand freigegeben.
Zeigt die Qualitätskontrolle Mängel am Produkt auf, wird entschieden, ob die Mängel innerhalb akzeptabler Toleranzen liegen, oder ein Nachdruck erforderlich ist. Ziel ist es, den
Kunden vor Erhalt der Ware über etwaige Mängel informieren zu können. Gegebenenfalls
kann so mithilfe von Preisnachlässen ein Nachdruck umgangen werden. Ist ein Nachdruck
zwingend nötig, wird auf Wunsch des Kunden ein Teil der mangelhaften Ware trotzdem
versendet. So kann dieser in der für den Nachdruck benötigten Zeit, die mangelhafte Ware
behelfsmäßig einsetzen.
Die Kundenkommunikation bezüglich der Qualitätskontrolle und etwaiger Reklamationen
sind Aufgabe des Mitarbeiters, der auch die Auftragsannahme betreut.
2.7 Verpackung und Versand
Dieser Schritt der Auftragsabwicklung erfolgt unregelmäßig und ist abhängig vom vorhergehenden Produktionstermin. Der Versand erfolgt unregelmäßig, jedoch mindestens nach
Fertigstellung eines Sammeldruckbogen. Die Versandabteilung wird deshalb von einem
auf Abruf verfügbaren Mitarbeiter besetzt, welcher den Versand abwickelt. Bei gleichzeiti17
ger Fertigstellung mehrerer Druckbogen, werden diese natürlich auch im Versand gesammelt verarbeitet.
Die bei Auftragsannahme hinterlegten Formulare (vgl. Abschnitt 2.2 ) werden mithilfe der
Druckmotive wieder einem Kunden und einer Lieferadresse zugeordnet und anschließend
verpackt. Die Lieferadresse liegt dabei in handschriftlicher Form auf dem erwähnten Formular vor. Die Adressierung der Sendung erfolgt wiederum über ein elektronisches Frankierungssystem des Versanddienstleisters. Ausnahmen
bilden Sendungen, welche per
Kurier oder Expresslieferung versendet werden oder deren Bezahlung per Nachnahme erfolgen soll. Diese müssen manuell adressiert werden, da die elektronische Frankierung
zum Zeitpunkt dieser Ist-Analyse hierfür nicht vorgesehen ist.
2.8 Fakturierung
Die Rechnungslegung wurde bereits in Abschnitt 2.2 erwähnt, um den Zusammenhang
von Auftragsannahme und Versand darzustellen, nicht jedoch die Erstellung der Rechnung
erläutert.
Die zum Auftrag gehörende Rechnung wird bei Auftragserteilung vom System Magento
automatisch angelegt. Bei der Auftragsannahme wird die Rechnung lediglich kopiert, im
Rechnungsarchiv gespeichert und, wie in Abschnitt 2.2 beschrieben, gegebenenfalls sofort an den Kunden versendet. Die Vergabe fortlaufender Rechnungsnummern erfolgt automatisch durch die Software.
2.9 Besonderheiten
Als Besonderheit ist die organisatorische und räumliche Distanz zu nennen, welche durch
die Auslagerung einzelner, zuvor beschriebener Prozesse besteht (Outsourcing):
So erfolgen Auftragsannahme, Druckvorstufe und Versand (Aufgaben der Agentur) getrennt vom zwischenzeitlich erfolgenden Druck und der Weiterverarbeitung (Aufgaben einer oder mehrerer Druckereien). Die Druckereien agieren dabei als eigene Organisatoren,
18
welche jeweils in einem eigenen Auftragsverhältnis mit der Agentur stehen. Dadurch ergeben sich Lieferzeiten zwischen den Bearbeitungsstationen, die im Rahmen der Auftragsabwicklung beachtet werden müssen. Je nach Auslastung der Produktionskapazität können
sogar Druck und Weiterverarbeitung nacheinander in zwei verschiedenen Druckereien erfolgen. Die Kommunikation der Druckaufträge zwischen den einzelnen Organisationen erfolgt vorwiegend auf elektronischem Weg per E-Mail und im Rahmen bestehender Kooperationsvereinbarungen.
3 Analyse des Bestellablaufs
Der Bestellablauf und die damit zusammenhängenden Bearbeitungsschritte wurden in Abschnitt 2 im Rahmen einer Bestandsaufnahme erläutert. Als Grundlage der Analyse soll
der aktuelle Bestellablauf zunächst als Geschäftsprozess erfasst werden und auf Modellebene untersucht werden. Anhand dessen soll überprüft werden, an welchen Stellen dieser
Prozess sinnvoll in das vorhandene E-Commerce-Systems Magento integriert werden
kann.
3.1 Reihenfolgen und Abhängigkeiten
Der Ablauf der einzelnen Bearbeitungsschritte ergibt sich bereits aus der in Abschnitt 2 verwendeten Reihenfolge. Abbildung Fehler: Referenz nicht gefunden veranschaulicht die
Reihenfolge nochmals. Die Reihenfolge ergibt sich aus der
kausale Abhängigkeit eines Schrittes zum jeweils vorhergehenden. So kann beispielsweise die Weiterverarbeitung eines
Druckproduktes selbstverständlich erst nach dem Druck desselben erfolgen. Entscheidend für eine zeitsparende Abwicklung eines Auftrages ist einerseits die Dauer der einzelnen
Bearbeitungsschritte, andererseits auch der reibungslose
Übergang zum nächsten Schritt.
Abbildung 2: zeitlicher Ablauf der
Auftragsbearbeitung, Quelle:
Wildsmile Studios 2010
19
3.2 Der Bestellablauf als Geschäftsprozess
Der aktuelle Bestellablauf (Ist-Stand) lässt sich als Geschäftsprozess dargestellt wesentlich exakter untersuchen, als lediglich auf Abhängigkeiten der einzelnen Arbeitsschritte.
Ein Geschäftsprozess wird als eine Folge von Aktivitäten betrachtet, welche eine betriebliche Leistungserstellung ermöglichen3. In der genaueren Analyse wird diese Darstellung
um Ereignisse ergänzt, die infolge von Aktivitäten im Prozess entstehen4. „Ein Ereignis hat
keine Kosten, keine Dauer und benötigt keine Ressourcen“5. Es dient somit hauptsächlich
der Definition des Fortschritts innerhalb des Prozesses. Da für das Fortschreiten eines
Prozesses zu einem Zeitpunkt oft mehrere Ereignisse eintreten müssen und diese wiederum mehrerer vorhergehender Aktivitäten bedürfen, werden in der Darstellung die logischen Operatoren AND, OR und XOR verwendet, um derartige Abhängigkeiten zu zeigen.
Mithilfe eines so dargestellten ereignisorientierten Prozessgraphen (EPG) lässt sich ein
Geschäftsprozesse für die spätere Umsetzung planen. Ebenso kann aber auch ein bestehender Geschäftsprozesse visualisiert und auf Modellebene analysiert werden. Die Darstellung der Auftragsbearbeitung im EPG (vgl. Abb. 3) ermöglicht so die Abstrahierung des
in Abschnitt 2 erfassten Ist-Standes zur weiteren Untersuchung. Zur Darstellung werden
die zuvor erläuterten Elemente, nämlich Aktivitäten (abgerundete Rechtecke), Ereignisse
(Sechsecke) und Informationsobjekte (Rechtecke) verwendet. Die Software Magento ist
an genau denjenigen Stellen als Informationsobjekt dargestellt, an welchen Daten des Bestellablaufs aus dem System gelesen bzw. neue Daten in das System geschrieben werden
können. Auf die Darstellung der einzelnen Organisationseinheiten, d.h. der in Abschnitt 2
erwähnten Mitarbeiter und Abteilungen, wurde zugunsten der Übersichtlichkeit verzichtet.
Die im EPG grau hinterlegten Aktivitäten und Ereignisse finden ohne einen Datenaustausch mit dem existierenden System Magento statt. Es ist erkennbar, dass die Integration
der Arbeitsabläufe in Magento unvollständig ist. So wird beispielsweise das Ereignis „Auftrag in Druckvorstufe“ nur teilweise von der Software erfasst.
3
4
5
[ROSE2002], Seite 3
Vgl. ebd., Seite 22
Vgl. ebd.
20
Abbildung 3: Ist-EPG eines Bestellablaufs, nach [ROSE2002], Seite 30
21
3.3 Schwachstellen & Verbesserungsmöglichkeiten
Schwachstellen im gegebenen Bearbeitungsprozess stellen, im Sinne der vorliegenden Arbeit, diejenigen Ereignisse und Aktivitäten dar, welche sinnvoll durch Erweiterungen der
Software Magento ergänzt, ausgeführt oder über die zumindest Informationen erfasst werden können.
Bei der Suche nach Verbesserungsmöglichkeiten muss gleichzeitig hinterfragt werden, an
welchen Stellen sich gegebene Prozess (Ist-Stand) durch eine automatisierte Softwarelösung vereinfachen lassen. Kriterien für eine Verbesserung könnten dabei sein:
– Des Arbeitsschritt muss durch die softwaregestützte Lösung in gleicher Qualität
ausgeführt werden können.
– Die softwaregestützte Bearbeitung darf keine höhere Fehleranfälligkeit aufweisen,
als die bisherige Bearbeitung.
– Die softwarebasierte Lösung sollte erweiterbar sein, um die Bearbeitung zukünftiger Produkte zu ermöglichen
Folgend sollen erkannte Schwachstellen des in Abschnitt 3.2 dargestellten Prozesses
erläutert werden:
3.3.1 Mangelnde Kenntnis über den Auftragsstatus
Die zuvor aufgezeigte Kausalität in der Bearbeitungskette erfordert einen reibungslosen
Übergang von einem Schritt in den nächsten. Oft hat der Übergang die Zuständigkeit einer
anderen Abteilungen zur Folge (z.B. von der Auftragsannahme zur grafischen Bearbeitung) oder, wie im gegebenen Beispiel, sogar eines anderen Unternehmens (z.B. Übergabe an die Druckerei). Im EPG (Abb. 3) werden unterschiedliche Informationsobjekte dargestellt, die Daten zum bearbeiteten Auftrag halten. Im Sinne dieser Arbeit sollten diese Informationsobjekte in die E-Commerce-Software Magento integriert werden, um zunächst den
22
Auftragsstatus zentral verfügbar zu halten. Weiterhin sollen Informationen zum Auftrag jedoch nicht nur erfasst, sondern auch ergänzt werden können, um folgende Arbeitsschritte
einzuleiten. Anschließend muss wieder eine Rückmeldung an das ursprüngliche System
erforderlich, um den Status zu aktualisieren.
3.3.2 Uneinheitliche Datenhaltung
Die Informationsobjekte nehmen die Auftragsdaten in unterschiedlichster Form auf und ermöglichen keinen einheitlichen Zugriff. So werden Informationen in Papierform, im Dateisystem oder in der von Magento verwalteten Datenbank hinterlegt. Ändert ein Kunde innerhalb seines Kundenkontos im Online-Shop z.B. die gewünschte Lieferadresse, muss
diese an anderen Stellen manuell aktualisiert werden, ansonsten droht ein inkonsistenter
Datenbestand.
3.3.3 Unzureichende Automatisierung einzelner Aktivitäten
Im untersuchten Prozess ergeben sich begrenzt Möglichkeiten, Aktivitäten zu automatisieren. So könnte beim Versand auf den Datenbestand von Magento zugegriffen werden, und
dieser zur Adressierung und Frankierung übernommen wird.
Ferner wird das Ereignis „Auftrag in Druckvorstufe“ erreicht, indem zuvor nötige Aktivitäten
teils von Magento ausgeführt werden, teils manuell erledigt werden müssen. Die Rechnungserstellung wird mit dem Auslösen der Bestellung automatisch vorgenommen. Die
Dauer bis zum Erreichen des benannten Ereignisses richtet sich hier einzig nach der Dauer der manuell zu erledigenden Arbeitsschritte. Durch eine automatische Sortierung der
Druckdaten sowie die spätere Bereitstellung der Versandinformationen durch Magento
könnte sowohl die Auftragsannahme als auch die Versandvorbereitung vereinfacht werden.
23
3.3.4 Mangelnde Erfassung der Ereignisse
Dieser Punkt ergibt sich infolge der zuvor beschriebenen uneinheitlichen Datenhaltung
und der mangelnden Kenntnis über den Auftragsstatus. Betrachtet man den „produzierenden“ (rechten) Zweig des Ist-EPG, so wird deutlich, dass ab der Rechnungserstellung kein
weiterer Zugriff auf das Bestellsystem Magento erfolgen muss. Lediglich im Falle einer Reklamation könnte der Vermerk über eine Gutschrift darauf hinweisen. Alle dazwischen
stattfindenden Aktivitäten und Ereignisse, z.B. die der Druckvorstufe und der Weiterverarbeitung, fehlen und lassen eine spätere Rekonstruktion des Auftrages nur aus anderen
Quellen zu.
4 Überlegungen zum Soll-Zustand
Es wurde dargestellt, inwiefern eine Integration des in Abschnitt 3 beschriebenen Prozesses in die von Magento bereitgestellte Auftragsverwaltung zu einer Verbesserung des gesamten Produktionsprozesses beitragen kann. Um diese zusätzliche Funktionalität bereitzustellen, muss Magento also um ein Teilsystem mit genau dieser Funktion erweitert werden, welches als Parameter diejenigen Auftragsdaten verarbeitet, die für die Erfüllung der
einzelnen Arbeitsschritte relevant sind. Für Folgeschritte relevante Informationen müssen
wiederum als Rückgabewerte von Magento akzeptiert und verarbeitet werden.
Betrachtet man diese Anforderung unabhängig von Magento, wird klar, dass es um eine
austauschbare Software mit einer beliebigen Funktion geht, die zur Unterstützung bestimmter Prozesse eine Menge von Parametern annimmt, verarbeitet und ausgibt. Entscheidend in diesem Fall ist also vielmehr die Schnittstelle zur Übergabe der in Magento
bekannten oder hinzuzufügender Parameter eines Auftrages.
24
4.1 Zusammenfassung der Parameter für einen Druckauftrag
Die für einen Auftrag nötigen Parameter, also alle Daten, welche einen Auftrag vollständig
beschreiben um ein konkretes Druckprodukt herzustellen und zu versenden, sind in Tabelle 2 aufgelistet. Dabei wurde unterschieden, welche Parameter bei einer Bestellung (im
Online-Shop) von Magento erfasst werden können und welche als Ergebnis von Arbeitsschritten der Auftragsbearbeitung manuell hinzugefügt werden.
Parameter
Von Magento erfasst
manuelle Ergänzung nötig
Bedruckstoff
ja
nein
Format
ja
nein
Auflage
ja
nein
Weiterverarbeitung
ja
nein
Datencheck (ja/nein)
ja
nein
Druckmotiv
optional
optional
Rückseitendruck
optional
optional
Produktionszeit
ja
nein
Druckbarkeit
nein
ja
Zuordnung Sammelbogen
nein
ja
Qualität (Kontrolle)
nein
ja
Versandadresse
ja
nein
Rechnungsadresse
ja
nein
Versandtyp (Standard/Express)
ja
nein
Tabelle 2: Parameter eines Druckauftrages bei stickma.de
Aus Tabelle 2 ist erkennbar, dass fast alle für die Produktion nötigen Informationen beim
Abschluss des Online-Kaufs erfasst werden. Das Druckmotiv wird nur bedingt von Magento erfasst, da dem Kunden die Möglichkeit gegeben wird das Motiv nach der Bestellung
per E-Mail zu senden. Diese Option soll erhalten bleiben, da Sie dem Kunden einen gewissen Komfort bietet, z.B. wenn er die Druckdaten nicht selbst angelegt hat, sondern Dritte damit beauftragt.
Die Parameter „Druckbarkeit“ und „Qualität“ (gemeint sind die Ergebnisse des Datenchecks, und der Qualitätskontrolle vor bzw. nach dem Druck) können nicht von Magento
erstellt werden. Dafür sprechen mehrere Grunde: Die Aussage zur Druckbarkeit kann nur
25
getroffen werden, wenn ein Druckmotiv vorliegt. Dieses wird im Bestellvorgang jedoch nur
optional übertragen. Ferner kann das Druckmotiv in zahlreichen Formaten vorliegen, so
dass für jedes (druckbare) Dateiformat ein Algorithmus zur Überprüfung des Motives implementiert werden müsste. Auch können individuelle Anforderungen, zum Beispiel der
Druck eines bestimmten Bildausschnittes des gesendeten Motives, nur umständlich automatisch bearbeitet werden.
Die Zuordnung zu einem Sammelbogen ergibt sich aus dem Bogensatz (Abschnitt 2.3.3 )
und kann beim Bestellvorgang nicht vorgenommen werden.
Damit existieren also Parameter, welche stets außerhalb von Magento entstehen und nicht
währen der Bestellung automatisch kalkuliert werden können. Sie entstehen in jenen Teilprozessen, welche nicht Teil des Online-Handels sind und spezielle Leistungen des betreffenden Unternehmens erfordern.
4.2 Anwendungsfälle und Sichten
Die in Abschnitt 2 beschriebenen Stationen eines Druckauftrages bei stickma.de sollen in
der geplanten Erweiterung Magentos erfasst werden. Da Magento als Online-Shop die Bestellannahme bereits abdeckt, werden hier nur diejenigen Schritte betrachtet, welche ab
der Druckvorstufe (Abschnitt 2.3 ) passieren. Wichtig sind dabei die Informationen, welche
im jeweiligen Arbeitsschritt relevant sind. Gerade die räumliche und organisatorische Trennung von Druck und Weiterverarbeitung erfordern einen begrenzten Zugriff z.B. auf Kundendaten. Ebenfalls ermöglicht die Reduktion auf nur zur Ausführung des Arbeitsschrittes
relevante Daten eine übersichtliche Aufbereitung dieser und somit eine effiziente Gestaltung der Benutzeroberfläche.
Im Rahmen der einzelnen Arbeitsschritte entstehen zusätzliche Parameter, welche für folgende Arbeitsschritte relevant sind. Diese Parameter müssen als Output in den Auftragsstatus einfließen und ebenfalls an Magento kommuniziert werden. Folgend werden die Parameter der in Abschnitt 2 erläuterten Arbeitsschritte aufgezeigt. Dabei wird unterschieden in Parameter, die zur Ausführung des Arbeitsschrittes nötig sind (Input) und solchen,
die nach Ausführung des Arbeitsschrittes für spätere Arbeitsschritte relevant sind.
26
In den folgenden Tabellen sind außerdem die Datentypen angegeben, in welchen die einzelnen Parameter vorliegen. Ferner sind optionale Output-Parameter kursiv angegeben.
Zum Beispiel ist die Beschreibung von Mängeln im Datencheck nur nötig, wenn solche tatsächlich vorliegen.
4.2.1 Datencheck
Input
Datentyp
original Druckmotiv
file
Format
string
Material
string
Weiterverarbeitung
string
Output
Druckbarkeit (ja/nein)
bool
Mängel
string
Tabelle 3: Sicht auf Auftragsdaten für den Datencheck bei stickma.de
4.2.2 Bogensatz
Input
Datentyp
druckbares Motiv
file
Auflage / Nutzen
int
Material
string
Weiterverarbeitung
string
Output
Status „Motiv gesetzt“
bool
Zuordnung Druckbogen
string
Druckbogen
file
Tabelle 4: Sicht auf Auftragsdaten für den Bogensatz bei stickma.de
27
4.2.3 Druck
Input
Datentyp
Druckbogen
file
Material
string
Output
Status Fertigstellung
String
Tabelle 5: Sicht auf Auftragsdaten für den Druck bei stickma.de
4.2.4 Weiterverarbeitung
Input
Datentyp
Schnittplan
file
Plotform
file
Output
Status Fertigstellung
String
Tabelle 6: Sicht auf Auftragsdaten für die Weiterverarbeitung
bei stickma.de
4.2.5 Qualitätskontrolle
Input
Datentyp
Druckmotiv
file
Format
string
Material
string
Weiterverarbeitung
string
Output
Qualität OK (ja/nein)
bool
Mängel
string
Tabelle 7: Sicht auf Auftragsdaten für die Qualitätskontrolle
bei stickma.de
28
4.2.6 Versand
Input
Datentyp
Auftragsnummer
int
Versandadresse
file
Rechnung
file
Output
Status Versand
bool
Tracking-ID
string
Tabelle 8: Sicht auf Auftragsdaten für den Versand bei stickma.de
4.3 Entscheidung zum Erreichen des Soll-Zustandes
Auf dem Markt existieren sowohl Warenwirtschaftssysteme, als auch Angebote für individuelle Programmierlösungen. Auch bei der Einführung von Magento als Online-Shop der
Agentur standen andere Systeme zur Auswahl. Die Eignung von Magento als Online-Shop
sowie die Machbarkeit der Umsetzung wurden in [METS2009] besprochen. Bereits dort
wurde die „größtmögliche Freiheit bei der Gestaltung“6 als wichtiger Vorteil einer eigens
angepassten OpenSource-Lösung dargestellt. Auch der hohe finanzielle Aufwand einer
Kauf- oder Mietlösung spricht gegen den Einsatz dieser Alternativen.
Als Folge der in [METS2009] durchgeführten Machbarkeitsstudie wurde Magento als Online-Shop für das Unternehmen eingeführt. Die nötigen Anpassungen wurden dabei in Eigenleistung vorgenommen, so dass eine intensive Auseinandersetzung mit der Software
Magento erfolgte. Die damalige Investition in Form von Arbeitszeit des dafür abgestellten
Personals schafft nun einen Vorteil durch die angereicherte Erfahrung in der praktischen
Entwicklung mit der Software und dem entstandenen Wissenszuwachs.
Es ist daher auch wirtschaftlich sinnvoll, die Arbeit mit Magento zu vertiefen und zumindest
für den mit Online-Verkäufen in Verbindung stehenden Agenturbetrieb so weit wie möglich
die Anknüpfung an vorhandene Kapazitäten von Magento zu untersuchen.
6
[METS2009], Seite 16
29
5 Schnittstelle zwischen Online-Shop und Produktionen
Ein Online-Shop bietet zunächst zahlreiche Möglichkeiten, den Online-Handel zu vereinfachen. Da beim Kauf alle relevanten Daten vom Kunden eingegeben werden können, liegen diese anschließend gesammelt und digital vor. Dabei handelt es sich im wesentlichen
um Informationen zum gewünschten Produkt selbst, die Rechnungs- und Lieferadresse
des Kunden, sowie Kontakt- und ggf. Firmeninformationen. Mit Ausnahme der Druckdaten
(file) liegen diese Informationen als Textinformationen (string) vor und können entsprechend leicht übertragen und verarbeitet werden. Hinzukommende Informationen auf Agenturseite beschränken sich auf Wahrheitswerte (bool), weitere Vermerke in Textform sowie
aktualisierte Druckdaten und Druckbögen (file). Mindestens diese drei Datentypen müssen
im Soll-Zustand also verarbeitet werden können. Ferner ergibt sich daraus die Anforderung, dass die Schnittstelle nicht nur reinen Lesezugriff auf den Datenbestand von Magento bereitstellen muss, sondern auch Schreibvorgänge (ggf. auch die Löschung von Daten)
ermöglichen sollte.
Die in Abschnitt 4.2 aufgezählten Anwendungsfälle stellen die Sichten auf den Auftrag
dar. Die nötige Trennung dieser Views macht es erforderlich, unterschiedliche Rechte zur
Nutzung der Schnittstelle vergeben zu können. Somit ist eine Benutzerverwaltung eine
sinnvolle Anforderung an eine geplante Schnittstelle.
In Abschnitt 4.1 wurden Prozesse genannt, welche neben dem Online-Verkauf die eigentliche Kernleistung des Unternehmens ausmachen. Für eine Druckagentur ist dies etwa der
Umgang mit den Druckdaten, die Anwendung Ihres Fachwissens und die Verwendung entsprechender Werkzeuge, wie der professionellen Bildbearbeitung. Die Gegebenheiten
können z.B. bei der Verwendung anderer Werkzeuge (Software) variieren. Eine Schnittstelle zwischen Online-Vertrieb und Produktion sollte möglichst universell einsetzbar sein
und die kommunizierten Daten in einer leicht verwendbaren und erweiterbaren Form liefern. Die vollständige Integration unternehmensspezifischer Aufgaben in Magento würde
dessen primäre Funktion als Online-Shop in Frage stellen. Oft existieren bereits spezielle
Lösungen zur Steuerung der Produktion selbst, so dass eine flexible Kommunikationsmöglichkeit zwischen Magento und beliebigen externen Systemen den Übergang vom Vertrieb
zur Produktion vereinfachen kann.
30
5.1 Anpassung von Magento
Magentos Architektur ist in Modell-, Präsentations- und Steuerungsschicht unterteilt (MVCPattern). Ebenfalls wurde gleichzeitig auf eine strikte Modularisierung geachtet. In der Entwicklerdokumentation von Magento heißt es: „In a typical PHP Model-View-Controller
(MVC) application, all the Controllers will be in one folder, all the Models in another, etc. In
Magento, files are grouped together based on functionality, which are called modules in
Magento„7. In [KIMS2008] werden Module als „the core of Magento“8 beschrieben.
In der Tat sind sämtliche Funktionen von Magento selbst in Modulen organisiert. Jede Anfrage an die Software wird von einem oder mehreren Modulen verarbeitet. Hintergrund
dieses Konzeptes ist die von Magento angestrebte Flexibilität, um eine universelle und
gleichzeitig individuell anpassbare Lösung für den E-Commerce bereitstellen zu können.
So ist es möglich, Erweiterungen anzulegen, die exakt dem Aufbau des eigentlichen Systems entsprechen und, bei entsprechender Konfiguration, von der Software eingebunden
werden.
5.1.1 Core-Änderung
Magento ist ein Open-Source Projekt, womit der Quellcode frei verfügbar ist. Da die Software größtenteils in PHP geschrieben wurde und der Quellcode daher nicht kompiliert
werden muss, liegt dieser zusammen mit der installierten Software vor und muss nicht separat bezogen werden. Außerdem sind dadurch Änderungen am Quellcode sofort wirksam, da Sie vom PHP-Interpreter bei der nächsten Ausführung bereits erfasst werden. Es
ist also durchaus möglich, die Software grundlegend zu verändern, ohne die vorgegebene
Struktur aus Modulen zu verwenden. Die Magento Inc. empfiehlt dazu die Verwendung einer Software zur Versionsverwaltung9, wie etwa das frei verfügbare10 Tool Subversion
(SVN). Subversion ermöglicht es dem Benutzer, veränderte Dateien nicht zu überschreiben, wenn Magento selbst durch ein Update aktualisiert wird. Jedoch warnt die Magento
7
8
9
10
[MKNOW2010]
[KIMS2008], Seite 27
[MAGE2009]
[SVN2008]
31
Inc. diesbezüglich: „(...) the changes from one version of Magento to another may be too
great for subversion to handle in one diff“11. So können beispielsweise Veränderungen der
Dateinamen im Rahmen eines Updates aufwändige Vergleiche nötig machen, welche der
Anwender manuell für alle betroffenen Dateien vornehmen muss.
5.1.2 Module-Extension
Wesentlich komfortabler als die Veränderung systemeigener Dateien von Magento erscheint die Erstellung eigener, sogenannter Module-Extensions (Module). Module als
grundlegender Baustein von Magento müssen einem definierten Aufbau entsprechen, damit sie in Magento eingebunden werden können. Zudem wird Magento als „configurationbased MVC-System“12 beschrieben. Gemeint ist die Eigenschaft, dass Module zunächst
an einer zentralen Konfiguration bekanntgeben (aktiviert) werden müssen, bevor Magento
das betreffende Modul und dessen eigene Konfiguration einliest13. Nicht aktive Module
werden bei der Bearbeitung von Anfragen ignoriert.
Eine Module-Extension verfügt zudem über eine eigene Konfiguration für das Überschreiben von Controller-Klassen, die Beeinflussung der Manipulation und persistenten Speicherung von Daten (Model) und für die Datenausgabe (View). Innerhalb eines Moduls können
Klassen von abstrakteren Klassen aus Magento abgeleitet werden. Daher ist nur die Konfiguration derjenigen Teile (Model, View oder Controller) nötig, die tatsächlich verändert
werden sollen. Für alle fehlenden Teile eines Moduls fällt Magento auf Klassen aus dem
eigenen Bestand zurück.
Um die in Abschnitt
5.1.1
beschriebene Vermischung von eigenem Quellcode und
Magentos eigenem Quellcode zu vermeiden, stellt Magento sogenannte Codepools mithilfe einer entsprechenden Ordnerstruktur bereit. Im Unterverzeichnis /app/code/core/ befinden sich alle originalen Modulen von Magento. Unter /app/code/local/ können eigene Module abgelegt werden, welche bei Updates von Magento nicht überschrieben werden.
11 [MAGE2009]
12 [MKNOW2010]
13 [KIMS2008], Seite 62
32
Die einzelnen Module organisiert Magento
wiederum in Namespaces, die über die Ordnerstruktur und die Modulkonfigurationen gebildet werden. Damit sollen Kollisionen bei
der Namensvergabe für Klassen vermieden
werden.
Betrachtet
man
den
Ordner
/app/code/core/ findet man dort einen Namespace „Mage“ (kurz für: Magento), der alle
originalen Module der Software enthält (vgl.
Abb. 4). Die Klassennamen eines Moduls leiten sich dabei aus der Ordnerhierarchie ab.
Entsprechend kann ein Pfad /app/code/local/
[ModulNamespace]/[ModulName]/
angelegt
werden, um darin ein neues Modul anzulegen. Die Platzhalter [ModulNameSpace] und
[ModulName] können dabei frei gewählt werden. Die Dokumentation empfiehlt bei der
Abbildung 4: Verzeichnisstruktur der Magento Core-Module
(Bildschirmfoto)
Namensvergabe einen Bezug zum eigenen
Unternehmen um Dopplungen zu vermeiden.
Um eine Module-Extension und darin enthaltene Klassen für Magento sichtbar zu machen,
muss in einem weiteren Verzeichnis /app/etc/modules/ ein XML-Dokument
[ModulNameSpace]_[ModulName].xml
angelegt werden, welches die Existenz des
Moduls, dessen Namespace und den Verweis auf den Codepool /local/ angibt und dieses aktiviert bzw. deaktiviert (vgl. Abb.6) .
Abbildung 5: XML zur Bekanntgabe eines eigenen Moduls für
Magento, (Bildschirmfoto)
33
Die Konfiguration des Moduls selbst erfolgt ähnlich innerhalb der Modulordner mithilfe eines weiteren XML-Dokumentes
/app/code/local/[ModulNamespace]/[ModulName]/etc/config.xml
Die genaue Struktur einer Modulkonfiguration richtet sich nach Art und Umfang des gewünschten Moduls und ist in der Dokumentation von Magento beschrieben14.
5.1.3 REST-Integration
Mithilfe der Module-Extensions besteht auch die Möglichkeit, eigene Schnittstellen zu
schaffen. Dabei ist es hilfreich, zunächst den Bearbeitungszyklus von Magento zu betrachten. Magento identifiziert eine Anfrage (z.B. durch den Webbrowser) über die aufgerufene
URL. Innerhalb der Anwendung werden zunächst alle Anfragen (URLs), mit Ausnahme
konkreter Aufrufe z.B. von Bilddaten, auf einen festen Einstiegspunkt geleitet.
Dort wird die vom Browser angefragte URL nach einem festgelegten Schema interpretiert,
welches die Zuordnung von Model und Controller, und optional einer bestimmten Methode
innerhalb des Controllers (einer sog. Action) ermöglicht15 (vgl. Abb. 6).
14 [MKNOW2010]
15 [KIMS2008], Seite 36
34
Abbildung 6: Zuordnung von Model, Controller und Controller-Methode (Action) zu URL, aus [KIMS2008], Seite 36
Am Beispiel der Website www.stickma.de wird die URL
http://www.stickma.de/catalog/category/view/?id=5
von Magento so verarbeitet, dass analog zu Abb. 6 das Modul Catalog und der CategoryController aufgerufen werden. Der Parameter id übergibt dem Controller die Kennung der
angefragten Produktkategorie.
Damit ist es nun möglich, einzelne Controller und darin enthaltene Methoden gezielt über
die URL anzusprechen. FIELDING beschreibt in [FIEL2000] den Architekturansatz Representational State Transfer (REST) für verteilte Systeme, wobei Informationen und Dienste
als Ressourcen angesprochen werden16. Angelehnt an das Prinzip des REST zeigt
[KIMS2008] in einem praktischen Beispiel die Nutzung einer Module-Extension zur Schaffung einer Schnittstelle zwischen Magento und einem weiteren System17. Der Controller
der Module-Extension wird genutzt, um einfache CRUD-Operationen bereitzustellen, welche die eingehenden Anfragen bearbeiten. Da die Module-Extension Zugriff auf Magentos
Model-Klassen hat, können über die geschaffene Schnittstelle auch Kunden- und Bestelldaten des Online-Shops gelesen und modifiziert werden. Zur Ausgabe von Daten wird ein
16 [FIEL2000], Seite 88
17 Vgl. [KIMS2008], Seite 135 ff
35
XML-Stream erstellt und zurück an den Client gesendet. Anstelle eines XML-Streams können die Daten natürlich auch an ein beliebiges Model übergeben werden um sie in einer
Datenbank zu hinterlegen oder weiter zu modifizieren. Um die Schnittstelle vor öffentlichem Zugriff zu schützen, verwendet KIMSAL den Authentisierungsmechanismus von
Magento, womit bei der Anfrage ein gültiger Benutzer aus der Benutzerverwaltung für
Magentos Administrationsoberfläche angegeben werden muss. Offen bleibt jedoch, ob Benutzer mit eingeschränkten Rechten verwendet werden können, um die Anfrage ausführen
zu dürfen. Magento sieht vor, das Benutzergruppen mit unterschiedlichen Rechten nur auf
jeweils erlaubte Bereiche der Administrationsoberfläche zugreifen dürfen, um nicht jedem
Mitarbeiter vollständige Administrationsrechte am Online-Shop verleihen zu müssen.
Auf Seiten des Clients ist es nun notwendig, zunächst die Benutzerauthentifizierung von
Magento aufzurufen und folgend auf die im Module-Controller verfügbaren Ressourcen zugreifen zu können. Die Kommunikation erfolgt über das Hypertext Transfer Protokoll
(HTTP). Dabei muss bei der Authentifizierung des Benutzers das von Magento bereitgestellte Session-Cookie gespeichert und für jede Anfrage bereitgehalten werden. Existierende Frameworks wie die Cognitfy HTTP Library für PHP bieten die entsprechende Grundfunktionalität, um einen Client für die beschriebene Schnittstelle zu implementieren.
5.1.4 Magento Core-API
Neben der Möglichkeit, Schnittstellen mithilfe von Module-Extensions zu schaffen, bietet
Magento eine umfangreiche Magento Core API an, die sowohl das Simple Object Access
Protocol (SOAP) als auch den Remote Procedure Call über XML (XML RPC) unterstützt.
Die Schnittstellenbeschreibung ist bei jeder Standardinstallation von Magento unter
http://[MagentoHost]/api/?wsdl
verfügbar. Die Schnittstellen können jeweils über
http://[MagentoHost]/api/soap/ und
http://[MagentoHost]/api/xmlrpc
36
aufgerufen werden. In der deutschen Übersetzung von Magento werden die Schnittstellen
als Web-Dienste bezeichnet. Zur Benutzung der Schnittstellen muss ein entsprechendes
Benutzerkonto eingerichtet werden. Die Benutzer für Web-Dienste werden in Magento separat verwaltet. Im Gegensatz zur Schnittstelle auf Basis einer Module-Extension (vgl. Abschnitt 5.1.2 ), muss hier kein Benutzerkonto eingerichtet werden, welches zusätzlich
auch den Zugriff auf den Administrationsbereich Magentos ermöglichen würde. Die Authentifizierung zur Benutzung der Magento Core API erfolgt über die Kombination aus Benutzernamen und einem API-Key. Letzterer muss beim Anlegen des Benutzers vergeben
werden (vgl. Abb. 7).
Abbildung 7: Einrichtung der Web-Dienste im Magento Admin-Panel (Administrationsoberfläche, Bildschirmfoto)
Die Magento Core API bietet derzeit Zugriff auf fünf Module18 aus dem Namespace Mage
(vgl. Abschnitt 5.1.2 ):
– Mage_Customer
lesen, verändern, erstellen und löschen von Kundendaten
– Mage_Directory
lesen von Ländernamen und zugehörigen Regionen für Versandziele
18 [MKNOW2010]
37
– Mage_Catalog
lesen, verändern, erstellen und löschen von Kategorien und Produkten
– Mage_Sales
lesen, erstellen und stornieren von Käufen im Online-Shop
– Mage_CatalogInventory
lesen und verändern von Produkteigenschaften (Attributen)
Darüber hinaus bietet Magento die Möglichkeit, eigene APIs zu erstellen. Nicht zu verwechseln mit der in Abschnitt
5.1.3
be-
schriebenen Methode, kann hierbei zunächst nur Magentos vorgegebene API genutzt werden. Dazu muss das gewünschte
Modul um eine entsprechende Konfiguration (vgl. Abb. 8) und natürlich einen Adapter
Abbildung 8: Aufbau der XML-Beschreibung einer APIErweiterung (Bildschirmfoto)
mit den gewünschten Methoden ergänzt
werden19.
Unter dem Knoten <resources> (vgl. Abb. 8) werden die neu erstellten Methoden einem
Magento-eigenem Modul zugewiesen. Der Knoten <acl> steht für Access Control List und
ermöglicht es, bestimmte (oder alle) dieser als Ressourcen definierten Methoden als nichtöffentlich zu definieren. Als Resultat verlangt Magento dann die Autorisierung eines Benutzers mit entsprechenden Rechten und zugehörigem API-Key, wie zuvor in diesem Abschnitt beschrieben wurde.
Die offizielle Dokumentation von Magento geht davon aus, dass nur die vorhandene
Magento Core API erweitert werden soll. Lediglich im Magento Wiki, einer von der Magento Inc. angebotenen Plattform zum Wissensaustausch unter Nutzern der Software, findet
sich ein Hinweis, dass die Magento Core API um eigene Funktionen ergänzt werden
kann20. Dabei wird wie in Abschnitt 5.1.2 eine Module-Extension erstellt und, analog zum
19 [MKNOW2010], Kapitel 3
20 [MWIK2010]
38
Vorgehen der Nutzung der Mage Core API, eine Konfiguration für die angebotenen Ressourcen der API hinterlegt. Etwas aufwändiger ist das Vorgehen dadurch, dass für die
neue Schnittstelle eine vollständige Beschreibung mit Hilfe der Web Services Description
Language (WSDL) hinterlegt werden muss.
Wie in der vorher beschriebenen Methode einer REST-Integration müssen auch bei Verwendung der Magento Core API die Rückgabewerte in das gewünschte Format gebracht
werden. Die Erstellung, beispielsweise eines XML-Streams, obliegt damit dem Entwickler,
was jedoch eine sehr hohe Flexibilität bei der Aufbereitung der Daten ermöglicht.
5.2 Auswertung und Auswahl der Anpassungsmöglichkeiten
Grundsätzlich bietet Magento eine gute Auswahl an Möglichkeiten zur Erweiterung der
Software, je nach Umfang und Komplexität der gewünschten Anpassung. Die Tatsache,
dass Magento ein quelloffenes System ist, kann genutzt werden um schnelle und einfache
Lösungen direkt im Code-Pool /core/ vorzunehmen. Dafür muss in Kauf genommen werden, dass mit zukünftigen Updates eine aufwändige Analyse des Systems vorgenommen
werden muss, um das weitere Funktionieren zu gewährleisten. In der Praxis muss der Betrieb des Online-Shops jedoch auch wirtschaftlich betrachtet werden. So kann eine kurzfristige Anpassung im Codepool /core/ eine Übergangslösung darstellen, bis eine ausführlichere Lösung bereitsteht. Die vorgeschlagene Benutzung einer Versionsverwaltung erlaubt in diesem Fall zudem die unkomplizierte Wiederherstellung der zuvor veränderten
Dateien (des Codepools /core/).
Die Module-Extension erscheint daher für langfristige Lösungen die sichere Herangehensweise zu sein. Jedoch erfordert dieser Ansatz ein tieferes Verständnis von Magentos modularen Aufbau. Die Konfiguration der Module-Extension kann nicht vollständig im Namespace des eigenen Moduls vorgenommen werden (vgl. Abschnitt 5.1.2 ), was etwa bei einer Portierung des Systems beachtet werden muss.
Soll eine Kommunikation der in Magento über Kunden oder getätigte Verkäufe erfassten
Daten erfolgen, sollte eine Schnittstelle in Betracht gezogen werden. Die dazu vorgestellten Ansätze könnten beide ausreichende Funktionalität bieten, um eine Schnittstelle zu ei39
nem Warenwirtschaftssystem oder einer Prozessteuerung zu schaffen. Die Anwendung
der REST-Architektur liefert dafür eine unkomplizierte Lösung. Für jede neue (über die
URL anzusprechende) Ressource muss lediglich im Controller des Moduls eine entsprechende Methode implementiert werden. Nachteilig erscheint jedoch die mangelnde Nutzerverwaltung für die Schnittstelle. Die Automatisierung der eigentlich für den Webbrowser
vorgesehenen Login-Prozedur könnte bei zukünftigen Versionen von Magento fehlschlagen. Gerade bei Webanwendungen ist es durchaus üblich, derartige Zugriffe aus Sicherheitsgründen zu unterbinden. In der derzeit aktuellen Version 1.4 von Magento ist das Login-Formular der Administrationsoberfläche bereits mit einer Prüfsumme versehen, die zunächst aus dem Quelltext des Formulars geparsed werden muss, um sie mit den Benutzerdaten und dem Session-Cookie zu übermitteln.
Die Magento Core API bietet eine gute Möglichkeit, Zugriff auf alle grundlegenden Daten
des Online-Shops zu erlangen. Die fünf in Abschnitt 5.1.4 genannten Module ermöglichen Lese- und Schreibzugriffe auf alle Bestell-, Kunden- und Produktdaten sowie zusätzliche Informationen, die beispielsweise für die Abwicklung des Versands oder die Pflege
des Produktsortiments wichtig sein könnten. Da Magento diese Schnittstelle von Haus aus
mitbringt, ist zu erwarten, dass zukünftige Versionen von Magento auch die Möglichkeiten
der Magento Core API verbessern und eine Abwärtskompatibilität gegeben sein wird.
Die Anwendung der Magento Core API in eigenen Modulen und den Überlegungen bezüglich zusätzlich implementierter Methoden führen zu einer Kombination der beiden vorgenannten Erweiterungsmöglichkeiten. Die Verwendung der REST-Architektur in Verbindung
mit der Magento Core API auf Basis einer Module-Extension schaffen eine sehr hohe Flexibilität unter Verwendung von bereits in Magento vorhandenen Features. Die von der
Magento Core API bereitgestellte Benutzerauthentifizierung lässt zudem zu eine einheitliche Benutzerverwaltung und die Anwendung vorhandener Sicherheitsstandards innerhalb
der Software zu.
Die Rückgabewerte der Magento Core API können in Form eines XML-Streams gesendet
werden. Dies ermöglicht die exakte Anpassung an externe Systeme, sofern diese XML
verarbeiten können. Da die Formatierung der Ausgabe dem Entwickler obliegt, sind andere Möglichkeiten denkbar und können je nach Bedarf implementiert werden.
40
6 Lösung für den Agenturbetrieb
Im konkreten Fall bei stickma.de bietet sich die Erarbeitung einer praktischen Lösung mithilfe passender Module-Extensions, sowie der Schaffung einer Schnittstelle zu externen
Systemen an. Dazu wird folgend das mögliche Vorgehen, bezogen auf den Agenturbetrieb
bei stickma.de, erläutert.
6.1 Bessere Kenntnis über den Auftragsstatus
Zunächst sollte die Möglichkeit geschaffen werden, die erforderlichen Zustände eines Auftrages zu erfassen (vgl. EPG in Abschnitt 3.2 ). Unter den verfügbaren Erweiterungen für
Magento existiert bereits das Modul „Order Status“, welche über die Funktion Magento
Connect installiert werden kann. In [METS2009] wird das Vorgehen zur Installation vorhandener Module-Extensions am Beispiel der Sprachpakete beschrieben21. Die Module-Extension Order Status wird von der Magento Inc. auf der Plattform Magento Connect bereitgestellt und kann mit dem Extension-Key magento-community/Order_Status installiert werden22. Anschließend ermöglicht die Auftragsverwaltung von Magento die Zuordnung neuer
Zustände zu einem Auftrag. Abb. 9 zeigt den Vergleich der Darstellung im Administrationsbereich vor und nach Installation der Module-Extension, im Zusammenhang mit dem Inhalt
der jeweiligen Modulkonfiguration in XML. Rechts ist die Konfiguration des Standard-Moduls aus /app/code/core/Sales zu sehen, rechts die Konfiguration der Erweiterung.
21 Vgl. [METS2009], Seite 27
22 Vgl. ebd.
41
Abbildung 9: Erfassung neuer Auftragszustände mithilfe der Module-Extension Order Status. Quelle: Wildsmile Studios,
Entwicklungsumgebung http://dev.stickma.de, 2010, (modifiziertes Bildschirmfoto)
In Abb. 9 ist zu erkennen, wie die zusätzlichen Knoten in der XML-Konfiguration des Auftragsstatus mit den verfügbaren Statusmeldungen korrelieren. Die abweichende Darstellung der Bezeichnung resultiert aus der in Magento integrierten Übersetzung. Auf der rechten Seite ist zu erkennen, dass für die neuen Zustände keine Übersetzung vorliegt. Die originalen Auftragszustände (Ausstehenddddddd, Verarbeitung, Versandt, Vollständig) sind
im Modul Sales in /app/code/core/Mage/Sales/etc/config.xml definiert. Diese Konfiguration
wird vom Modul Order Status in /app/code/community/Mage/Sales/Community/etc/config.xml lediglich überschrieben und erweitert. Dieser Ansatz kann weiter verfolgt werden,
und um für die Agentur stickma.de relevante Zustände (vgl. Abschnitt 3.2 ) ergänzt werden.
6.2 Vereinfachte Datenhaltung
Im Abschnitt 5.1.4 wurde gezeigt, wie Mithilfe der Magento Core API auf den Datenbestand von Magento zugegriffen werden kann. Das in Abschnitt 3.3.2 angesprochene Problem der manuellen Korrektur von inkonsistenten Daten, etwa der Lieferadresse, kann umgangen werden, indem solche Daten grundsätzlich über Schnittstellen abgefragt werden.
Somit erfolgt eine einmalige Speicherung zum Zeitpunkt der Datenentstehung, nämlich bei
der Bestellung. Anschließend sind diese Daten über die Magento Core API erreichbar und
sogar manipulierbar. Die fünf von der Schnittstelle abgedeckten Module (vgl. Abschnitt
42
5.1.4 ) ermöglichen die Kommunikation sämtlicher Auftragsdaten. Auch die Zustände eines bestimmten Auftrages können über die Ressource sales_order der Schnittstelle kommuniziert und werden. Die Benutzerverwaltung für die Webservices sollte aber verwendet
werden, da der Online-Shop zwangsläufig auf einem öffentlich erreichbaren Webserver
laufen muss.
6.3 Automatisierung von Arbeitsschritten
Die Automatisierung einzelner Arbeitsschritte ist stark von der Beschaffenheit selbiger abhängig. Eine Druckagentur verliert durch einen höheren Automatisierungsgrad gleichzeitig
die Fähigkeit, auf Sonderwünsche von Seiten ihrer Kunden individuell einzugehen. Wohl
aber können mit der Erweiterung von Magento die Übergänge zwischen Teilprozessen
komfortabler gestaltet werden. So können einzelne Druckaufträge anhand ihrer Eigenschaften bereits im Vorfeld passenden Sammeldruckbögen zugeordnet werden. Da das
Druckformat Teil der Auftragsdaten ist, ist auch eine Berechnung der verbleibenden Bogenfläche und damit eine Unterstützung der Produktionsplanung denkbar.
Da der Versand bereits von einer Frankierungssoftware des Versanddienstleisters unterstützt wird, kann hier eine Schnittstelle geschaffen werden, über welche sowohl die Frankierung anhand des Auftragsstatus automatisch auslöst, als auch der Auftragsstatus in
Magento aktualisiert werden kann.
7 Übertragbarkeit der Erkenntnisse
Nachdem die Verknüpfung vom Online-Vertrieb mit Magento und einer Produktion am Beispiel einer Druckagentur für Offset-Produktionen untersucht wurde, stellt sich die Frage,
ob dies auch für andere Fertigungen möglich ist. Für das vorliegende Beispiel wurde die
Produktion als ereignisorientierte Prozesskette dargestellt und die einzelnen Arbeitsschritte durch Ereignisse abgegrenzt. Jeder Arbeitsschritt verarbeitet eine gewisse Teilmenge
an Daten des Auftrages und gibt anschließend eine Rückmeldung, die weitere Arbeitsschritte beeinflusst. Für jeden Arbeitsschritt wurde eine eigene Sicht auf die Auftragsdaten
angenommen, da im vorliegenden Fall keine Kommunikation während der Ausführung ei43
nes Arbeitsschrittes nötig war, sondern ausschließlich nach Abschluss eines Arbeitsschrittes. Die Zerlegung in derartige Einheiten reduzierte die Problematik auf einzelne, unabhängige Schnittstellen und ist für Magento umsetzbar. Ob dies auch möglich ist, wenn von
mehreren Seiten über unterschiedliche Schnittstellen mit Magento kommuniziert werden
muss, sollte im Vorfeld überprüft werden. Die in der Produktion erfassten Zustände eines
Auftrages müssen für Magento definiert werden, sofern sie an das Bestellsystem kommuniziert werden sollen. Im untersuchten Fall wurde dazu auf eine vorhandene Module-Extension zurückgegriffen, die nach dahingehend angepasst werden kann. Dabei können
diejenigen Zustände definiert werden, die in Magento, und damit auch für den Kunden
sichtbar sein sollen.
Die Begrenzung der Automatisierung begründete sich aus den Anforderungen des Unternehmens, gilt aber nicht zwingend für andere Umgebungen. Dort wo Fertigungsschritte
vollautomatisch ablaufen, könnten auch die geschaffenen Schnittstellen zwischen Magento und dem Fertigungssystem automatisch bedient werden. Dennoch gibt es Grenzen, die
bei der Verwendung von Magento entstehen können. So muss stets bedacht werden, dass
Magento eine Webanwendung ist, die auf einem öffentlichen Server läuft. Ohne diese Gegebenheit wäre die Kernfunktion, der Online-Shop, nicht öffentlich nutzbar. Diesbezüglich
sollten Sicherheitsaspekte in die Planung mit einbezogen werden, und abgewogen werden, ob sich die Anbindung eines öffentlichen Servers an die Produktionssteuerung eignet.
Magento ist in seiner Flexibilität ein sehr komplexes System mit recht hohen Anforderungen an Hardware-Ressourcen23. Daher sollte bedacht werden, dass zusätzliche Schnittstellenanfragen das System weiter belasten können. Im untersuchten Beispiel wurden
mehrere Schnittstellen angenommen, die pro Auftrag aufgerufen werden. Zwar geschieht
dies zeitversetzt zur Bestellung selbst, trägt jedoch zur Belastung des Webservers bei. Je
nach Auslastung des Servers und Automatisierungsgrad der Schnittstellenbedienung kann
die Häufigkeit der zusätzlichen Anfragen an Magento zunehmen und eine höhere Serverlast ausüben. Daher muss bei der Anbindung einer Produktionssteuerung die Kapazität
der verfügbaren Hardware beachtet werden.
23 [METS2009], Seite 24f
44
8 Fazit
8.1 Machbarkeit
Im Rahmen dieser Arbeit wurde der auf Magento basierende Online-Shop einer Druckagentur auf die mögliche Verknüpfung mit produktionsrelevanter Prozesse untersucht. Die
verschiedenen Anpassungsmöglichkeiten von Magento lassen mehre Herangehensweisen
zu, mit denen eine Lösung erarbeitet werden kann.
Die kombinierte Verwendung der Module-Extensions und der Magento Core API erweist
sich als sinnvoller Ansatz, um eine individuelle Lösung zu erarbeiten. Die Flexibilität von
Magentos Schnittstelle ist ein Vorteil bei der Verknüpfung mehrerer Unternehmensteile
und über Unternehmensgrenzen hinaus. Die mögliche Einbeziehung von Geschäftspartnern in die geplante Erweiterung ermöglicht eine Lösung auch dann, wenn einzelne Arbeitsschritte vom verkaufenden Unternehmen ausgelagert werden.
Als OpenSource-System kann Magento zudem im seinen Kernfunktionen verändert werden, um eine vorübergehende Lösung zu schaffen. Somit ist die Machbarkeit auch dann
gegeben, wenn eine kurzfristige Lösung benötigt wird. Die kann auch zu Testzwecken
sinnvoll sein, um die dadurch entstehenden Veränderungen im Arbeitsablauf zu testen.
Langfristig sollte jedoch auf eine modulare Erweiterung zurückgegriffen werden, insbesondere dann, wenn andere Module-Extensions zum Einsatz kommen und die Kompatibilität
gewährleistet sein muss. Ferner macht das erstmalige Release von Magento im Jahr
2008 macht die Software immer noch zu einem jungen System, das auf weitere Updates
angewiesen sein wird.
Für beide Lösungsansätze, die kurzfristige Veränderung des Kernsystems und die Entwicklung einer eigenen Module-Extension, ist ein ausreichendes Verständnis der Architektur von Magento nötig. Unbedingt sollte ein unabhängiges Testsystem herangezogen werden, um die Erweiterungen ausführlich testen zu können, ohne Ausfälle im Shop-Betrieb
riskieren zu müssen. Insbesondere die Verbindung mit produktionsrelevanten Arbeitsprozessen verlangen ein zuverlässiges und stabiles Funktionieren einer Lösung.
45
8.2 Vor- und Nachteile von Magento für das Thema
Das Ziel der Software Magento war, der Anpassbarkeit an individuelle Geschäftsprozesse
keine Grenzen zu setzen24. Der von Grund modulare Aufbau der Software bestätigen diese Vorgabe auch in der Umsetzung. Durch die Möglichkeit, Erweiterungen (Module-Extensions) mit eigener Anwendungslogik zu versehen, setzt Magento kaum Grenzen in seiner
Erweiterbarkeit. Die standardmäßig vorhandene Schnittstelle (Magento Core API) schafft
eine solide Grundlage für die Anbindung weiterer Systeme und Datenquellen, welche, wiederum durch Ihre Erweiterbarkeit, ein hohes Maß an Flexibilität aufweist. Derzeit ist
Magento das umfangreichste quelloffene System für die Schaffung eines Online-Shops 25.
So besteht ein Vorteil von Magento auch darin, als dass wohl kaum ein anderes System
existiert, das bereits vorhandene Unternehmenslösungen derart umfangreich um die Möglichkeit des Online-Vertriebs ergänzt.
Als Nachteilig erweist sich die Komplexität in Verbindung mit der mangelnden, technischen
Dokumentation der Software26. Um die Zusammenhänge innerhalb des Systems Magento
zu verstehen, sind die sog. KnowledgeBase der Magento Inc. sowie das von Nutzern ergänzte Magento-Wiki unabdingbar. Die Literatur über die Entwicklung mit Magento ist
noch rar gesät, was auch mit der erst zweijährigen Verfügbarkeit der Software begründet
werden kann. So ist das Zusammenspiel der einzelnen Module nur schwer nachzuvollziehen, was bei der Findung richtiger Ansatzpunkte für eigene Erweiterungen hinderlich sein
kann.
24 Vgl. [MCOM2010]
25 Vgl. [METS2009], Seite 60
26 Vgl. [METS2009], Seite 61
46
8.3 Möglichkeiten & Ausblick
Wie bereits dargestellt ist Magento in seiner Komplexität nur mit größerem Aufwand zu erfassen. So ergeben sich im Laufe dieser Arbeit Möglichkeiten, deren weitere Untersuchung wünschenswert, jedoch nicht innerhalb des gegebenen Rahmens machbar gewesen wäre.
So kann mit den erläuterten Ansätzen je Anwendungsfall eine eigene Lösung geschaffen
werden, die jeweils entsprechende Kenntnis über Magento und die Umsetzung der Programmierung erfordern. Je nach Unternehmen kann dies Investitionen in zusätzliches
Personal erfordern, wenn im Haus keine entsprechenden oder nicht genügend Fachkräfte
verfügbar sind. Aus dieser Überlegung heraus könnte auch eine abstraktere Lösung gesucht werden, die es dem Benutzer erlaubt, die benötigten Schnittstellen dynamisch zu
konfigurieren. Im Idealfall könnte so ein Modul erstellt werden, welches vom Anwender die
Prozesse seines Unternehmens in einer Eingabemaske erfasst und auf Grundlage dessen
die benötigten weiteren Module und Schnittstellendefinitionen erstellt. Damit würde eine
benutzerfreundliche und wiederverwendbare Lösung angestrebt werden. Jedoch müssten
dazu gewisse Standards vereinbart werden, welche den Aufbau von Module-Extensions
und Schnittstellen in Magento allgemein beschreiben.
Zur ausführlicheren Bewertung der Machbarkeit hätte ferner eine Untersuchung der in Abschnitt 7 vermuteten zusätzlichen Hardwarebelastung beigetragen und eine ausführlichere Planbarkeit einer praktischen Umsetzung ermöglicht.
47
Quellenverzeichnis
[FIEL2000]
Architectural Styles and the Design of Network-based Software
Architectures (Dissertation), Roy Thomas Fielding, 2000
[KIMS2008]
php architect's Guide to Programming Magento,Mark Kimsal,
Marco Tabini & Associates Inc.,2008
[MAGE2009]
Changing and Customizing Magento Code,Luispic,Magento
Inc.,
http://www.magentocommerce.com/wiki/groups/174/changing_
and_customizing_magento_code am 30.07.2010
[MCOM2010]
About Us, Magento Inc.,
http://www.magentocommerce.com/company/ am 02.08.2010
[METS2009]
Machbarkeitsstudie zur Umsetzung eines bestehenden OnlineShops mit der E-Commerce Software Magento (Diplomarbeit),
Jana Metschke, 2009
[MKNOW2010]
Magento for Developers, Alan Storm, Magento Inc.,
http://www.magentocommerce.com/knowledgebase/entry/magento-for-dev-part-1-introduction-to-magento/
am 10.08.2010
[MWIK2010]
Overriding an existing api class with additional functionality,
http://www.magentocommerce.com/wiki/5__modules_and_development/web_services/overriding_an_exis
ting_api_class_with_additional_functionality am 10.08.2010
[ROSE2002]
Geschäftsprozesse: Modell- und computergestützte
Planung,Friedrich Rosenkranz, Springer-Verlag Berlin
Heidelberg New York, 2002
[SVN2008]
Versionskontrolle mit Subversion, Ben Collins-Sussman, Brian W.
Fitzpatrick, C. Michael Pilato, http://svnbook.redbean.com/nightly/de/svn-book.html#svn.intro.whatis am 17-08-2010
48
Tabellenverzeichnis
Tabelle 1: Kriterien zur Überprüfung der Druckbarkeit (Datencheck).................................14
Tabelle 2: Parameter eines Druckauftrages bei stickma.de................................................25
Tabelle 3: Sicht auf Auftragsdaten für den Datencheck bei stickma.de..............................27
Tabelle 4: Sicht auf Auftragsdaten für den Bogensatz bei stickma.de................................27
Tabelle 5: Sicht auf Auftragsdaten für den Druck bei stickma.de........................................28
Tabelle 6: Sicht auf Auftragsdaten für die Weiterverarbeitung bei stickma.de....................28
Tabelle 7: Sicht auf Auftragsdaten für die Qualitätskontrolle bei stickma.de......................28
Tabelle 8: Sicht auf Auftragsdaten für den Versand bei stickma.de...................................29
49
Abbildungsverzeichnis
Abbildung 1: Kennzeichnungssystem für Druckdaten bei stickma.de,
Quelle: Wildsmile Studios, 2010...............................................................13
Abbildung 2: zeitlicher Ablauf der Auftragsbearbeitung,
Quelle: Wildsmile Studios 2010................................................................19
Abbildung 3: Ist-EPG eines Bestellablaufs,
nach [ROSE2002], Seite 30......................................................................21
Abbildung 4: Verzeichnisstruktur der Magento Core-Module.............................................33
Abbildung 5: XML zur Bekanntgabe eines eigenen Moduls für Magento...........................33
Abbildung 6: Zuordnung von Model, Controller und Controller-Methode (Action) zu URL,
aus [KIMS2008], Seite 36.........................................................................35
Abbildung 7: Einrichtung der Web-Dienste im Magento Admin-Panel
(Administrationsoberfläche)......................................................................37
Abbildung 8: Aufbau der XML-Beschreibung einer API-Erweiterung..................................38
Abbildung 9: Erfassung neuer Auftragszustände mithilfe der Module-Extension Order
Status. Quelle: Wildsmile Studios, Entwicklungsumgebung
http://dev.stickma.de, 2010.......................................................................42
50
Eidesstattliche Erklärung
Ich, Christoph Joschko, erkläre an Eides statt, dass ich die vorliegende Arbeit selbstständig und nur unter Verwendung der angegebenen Quellen und Hilfsmittel angefertigt habe.
Die Zustimmung der Firma zur Verwendung betrieblicher Unterlagen habe ich eingeholt.
Die Arbeit wurde bisher in gleicher oder ähnlicher Form weder veröffentlicht noch einer anderen Prüfungsbehörde vorgelegt.
Dresden, 25. August 2010
51

Documentos relacionados