1 Einleitung (Zurück)
| Inhaltsverzeichnis
| 1.2 Historie (Weiter)
|
1.1 Was ist das Commerce-Framework?
Das Commerce-Framework ist ein Baukasten wiederverwendbarer Java-Komponenten, die
- in vielen SinnerSchrader-Anwendungen benötigt werden,
- sich durch hohe Qualität auszeichnen,
- auf einer einheitlichen Technologie basieren (SpringFramework, Hibernate und Struts) und daher sehr gut integrieren,
- nicht nur Spezialfälle abdecken (Eintrittsschwelle)
Ein besonderer Fokus sind Internet-Shops, dies ist jedoch keine Voraussetzung. Das Commerce-Framework ist nicht eigenständig lauffähig, es wird aber in neue Projekte automatisch eingebunden und konfiguriert, wenn die Projektvorlage verwendet wird.
Was ist das Commerce-Framework nicht?
Das Commerce-Framework ist kein fertiger Internetshop. Es enthält unter anderem keine JSPs oder Struts-Actions etc. für Anwendungsfälle wie Produktkatalog, Warenkorb, Bestellprozess, etc. Es ist nicht Ziel des Frameworks, für kleine Projekte oder für Kunden, die kein spezialisiertes Layout benötgen, eine Shop-Lösung in weniger als 10 Manntagen bereitzustellen.
Der Focus des Frameworks liegt vielmehr auf mittleren bis großen Projekten, in denen das Frontend durch mit dem Kunden definiert und full-custom umgesetzt wird.
Welche Funktionen bietet es mir?
Das Framework bietet u.a. folgende Funktionen:
- Produktverwaltung
- Anhand einer Typisierungssprache werden Produkte definiert. Das Framework erzeugt hieraus automatisch Java-Entitätsklassen, Hibernate-Mapping-Files und eine Produktadministrationsoberfläche. Die Produktverwaltung ist mandanten- und mehrsprachfähig, verwaltet Dateiressourcen wie Bilder, bietet einen Rahmen für Bundles und Preiskalkulation und erzeugt und aktualisiert automatisch Lucene-Indizes zum phonemischen Suchen innerhalb von Produkten und Kategorien.
- Benutzerverwaltung
- Die Benutzerverwaltung verwaltet sowohl Endkunden (Customers), als auch Redakteure und Administratoren (Editors). Sie bietet desweiteren Funktionen zur Authentifizierung und Autorisierung (Credentials, Rollen und Rechte).
- Bestellverwaltung
- In der Bestellverwaltung werden Warenkörbe als Bestellungen persistiert, Zahlungsweisen und Zahlungen verwaltet, Bonitäts- und Adressdatenprüfungen durchgeführt, Zahlungen angewiesen und Lieferungen verwaltet.
- Dateitransfer
- Die Dateitransfer-Komponente bietet Funktionen zum automatisierten und asynchronen Upload und Download beliebiger Dateien über FTP und SFTP an. Hierbei werden Dateinamenskreise beachtet, so dass zum einen nur bestimmte Dateinamen erzeugt bzw. eingelesen werden, zum anderen aber auch die Reihenfolge bis hin zur zyklischen Dateinamensvergabe beachtet wird. Die Komponente kann optional Änderungen und Löschungen überwachen, sowie die Dateien asynchron downloaden und in der Datenbank zwischenspeichern.
- Excel- und CSV-Import und -Export
- Diese Komponente ermöglich den Import und Export sowohl von nativen Excel-Dateien (XLS), als auch kommaseparierte Listen (CSV), auf Basis von JavaBeans. Hierbei ist es möglich, Validierungsregeln anzugeben, um fehlerhafte Dateien zu verhindern bzw. zu bemerken. Der Im- und Export kann mit der Dateitransfer-Komponente kombiniert werden.
- Mailversand
- Mit der Komponente Mailversand können E-Mails auf Basis von Plaintext- und HTML-Vorlagen unter Verwendung von Velocity versendet werden. Die Komponente bietet desweiteren die Möglichkeit, über das SpringFramework die konstanten Bestandteile der E-Mail (z.B. Subject, From, To, etc.) vorzukonfigurieren und nur die variablen programmatisch vorzugeben. Außerdem können mit der Mailversand-Komponente Massen-Mailings verschickt werden, d.h. zeitlich geplante und auf mehreren Servern gleichzeitig verschickte große Mengen gleichförmiger Mails auf Basis von Vorlagen und Profildaten. Es ist geplant, dass die Mailversand-Komponente zukünftig auch Bounce-Management anbietet.
- Formularprozesse
- Die Formularprozess-Komponente bietet die Möglichkeit, ein Struts-Formular auf mehrere Seiten zu verteilen und ohne den Einsatz von restriktiven Maßnahmen wie Struts-Tokens dem Benutzer zu gestatten, vorwärts und rückwärts zu navigieren. Sie bettet sich nahtlos in die Struts-Actions, Struts-Forms, Struts-Validierung und Struts on Rails ein und ermöglicht ein konfiguratives Umpositionieren und Wiederverwenden von Seiten, Seitenteilen, Struts-Forms, Validierungs-Regeln, JSPs und Anwendungslogik.
- Suchmaschinenoptimierung
- Suchmaschinen wie Google bewerten techniklastige URLs (mit Parametern etc.) schlechter, da sie davon ausgehen, dass die Seite von dem Benutzerverhalten abhängt. Daher ist es sinnvoll, dass trotz einer Struts-Action und/oder einer JSP die URL möglichst gut lesbar und nicht technisch erscheint (z.B. '
/mobile/Nokia/3210'). Das Commerce-Frameworks löst dieses Problem mit minimalem Konfigurationsaufwand und nahezu komplett transparent für die Anwendung, den Browser und Suchmaschinen. Aus Sicht der Anwendung tauchen nur technische, aus Sicht eines Browsers bzw. einer Suchmaschine nur gut lesbare URLs auf.
Wie ordnet es sich ein?
Die nebenstehende Grafik illustriert, wie sich das Commerce-Framework einordnet, und welche Komponenten, Konzepte und Dokumente aufeinander bauen.
- Projektvorlage / Wizard
- Eine J2EE-Projektvorlage, in der Platzhalter für Namen und verwendete Technologien enthalten sind. Der Wizard, ein Eclipse-Plugin, erzeugt mit Hilfe von Daten, die dem Benutzer abgefragt werden, ein neues SinnerSchrader-Projekt, welches inkl. Deployment sofort einsatzbereit ist.
- Beispiel-Shop
- Ein J2EE-Shop auf Basis des Commerce-Frameworks, welcher möglichst viele Aspekte des Frameworks illustriert. Er kann auf Wunsch von dem Projekt-Wizard in ein neues Projekt als Vorlage eingefügt werden.
- Standardisierung
- Mit Hilfe der Projektvorlage und in dessen Einklang findet bei SinnerSchrader Standardisierung für die Bereiche Projektstruktur (Quellcode), Java-Konventionen, Deployments und Dokumentation statt.
- Handbücher / Tutorials
- Um einen guten Einstieg in das Commerce-Framework, die verwendeten Technologien, die SinnerSchrader-Projektarchitektur und Standardisierungen zu finden, werden Handbücher wie dieses, sowie Tutorials, Beispiele und Referenzdokumentationen entwickelt.
- Developer-Website
- SinnerSchrader-interne Website, auf der Versionen des Commerce-Frameworks, das Handbuch, die API-Dokumentation, die Eclipse-Update-Site für den Projekt-Wizard und andere, verwandte Ressourcen angeboten werden.
Woraus besteht das Framework?
Eine Distributionsversion des Commerce-Frameworks besteht aus folgenden Bestandteilen:
- Eine JAR-Datei mit dem Kompilat des Frameworks,
- Hibernate-Mapping-Files für die persistenten Entitäten,
- eine Webservice-Deploykonfiguration für die SOAP-Schnittstellen,
- XSL-Transformationsdateien für den Entitätsgenerator,
- XML-Schemata für die Konfigurationen des Frameworks,
- eine Java-API-Dokumentation (javadoc)
Durch die Projektvorlage wird das Framework zu einem vollständigen Projekt komplettiert.
1 Einleitung (Zurück)
| 1.2 Historie (Weiter)
|
1 Einleitung (Zurück)
Inhaltsverzeichnis 

