+ All Categories
Home > Documents > SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK...

SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK...

Date post: 06-Apr-2016
Category:
Upload: gerd-lehmann
View: 213 times
Download: 0 times
Share this document with a friend
49
SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site
Transcript
Page 1: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchraderNeueInformatik

SinnerSchrader

Hamburg, 27.02.2007Autor: Thomas Jacob

TECH-TALK Commerce-Framework,Projektvorlage, Projekt-Wizard, dev-Site

Page 2: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 227.02.2007

» Agenda

01 Commerce-Framework02 Projektvorlage und Projekt-Wizard03 dev-Site04 Wie geht’s weiter?

Page 3: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 327.02.2007

01 Commerce-Framework

» Was ist das Commerce-Framework?» Komponenten des Frameworks» Ein bisschen Statistik

Page 4: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 427.02.2007

Was ist das Commerce-Framework?

? ?? ? ?? ?

?? ? ? ?

» Welche Vorstellung habt ihr?» Was habt ihr gehört?» Was erwartet ihr? Was befürchtet ihr?

CommerceFramework

buh!

Page 5: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 527.02.2007

Was ist das Commerce-Framework?

Das Commerce-Framework ist ein Baukasten wiederverwendbarerJava-Komponenten, die » in vielen Sinner-Anwendungen benötigt werden,» auf einer einheitlichen Technologie basieren,

» SpringFramework, Hibernate und Struts» sehr gute Integration miteinander und ins Projekt

» sich durch hohe Qualität auszeichnen,» nicht nur Spezialfälle abdecken (Eintrittsschwelle).

Page 6: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 627.02.2007

Was ist das Commerce-Framework nicht?

Das Framework ist kein fertiger Internetshop:» Keine fertigen JSPs oder Struts-Actions» Keine fertige Shop-Lösung in weniger als 10 Manntagen» Das Commerce-Framework ist nicht mit z.B. Enfinity vergleichbar

SinnerSchrader entwickelt individuelle Frontends» In der Präsentationsschicht keine fertigen Lösungen für

Anwendungsfälle (z.B. Produktkatalog), nur Komponenten für wiederkehrende Muster (z.B. die Prozesskomponente)

» In der Geschäftslogik werden jedoch ganze Anwendungsfälle angeboten

Page 7: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 727.02.2007

Wie ist das Commerce-Framework entstanden?

Talkline-Shop» Einsatz von hybris jakarta» Fehlende starke Typisierung wird im Projekt ausgeglichen

Süddeutsche Zeitung Mediathek» Notwendigkeit eines flexiblen und typsicheren Shopsystems» Erste Version des Commerce-Frameworks

Integration vorhandener Komponenten» Die Prozesskomponente wird integriert

Integration weiterer Projektarbeiten» Zahlungsadapter, FTP-Komponente uvm. werden integriert

Page 8: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 827.02.2007

Überblick über die Komponentendes Commerce-Frameworks

Formularprozesse

Struts on Rails Rewrite-Engine

Formularvalidierung

Präsentation

Mailversand

Dateitransfer

Excel und CSV

Web-Serviceswww

Schnittstellen

Produkte Benutzer Bestellungen

Shop-Logik

Administration

Administrationsoberfläche

Page 9: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 927.02.2007

Shop-Komponenten:Produktmanagement (1)Das Objektmodell wird nur deklariert (entworfen)» Java-Klassen und das Datenbank-Mapping werden generiert» Die Administrationsoberfläche baut sich dynamisch auf

Beispielkonfiguration:<product-type code="Media" name="Medium"> <attributes> <text code="ean" name="EAN" max-length="32" index="Media_ean"/> <text-list code="keywords" name="Schlüsselwörter" max-length="128" /> <float code="weight" name="Gewicht"/> <multi-association code="matching" name="Passendes" type-code="Media"/> <choice code="style" name="Stil" type="Style" required="false"> <options> <entry key="DISCOTHEQUE" value="Diskothek"/> <entry key="AUDIOBOOK" value="Hörbuch"/> </options> </choice> <boolean code="blocked" name="deaktiviert" required="true"/> </attributes></product-type>

Es wird eine Klasse und Tabellenamens Media generiert

Produkte können bestellt werden

Das Framework bietetverschiedene Attributtypen

Die Einstellungen sorgen fürKonsistenz zwischen demDatenbankmodell und derValidierung

Page 10: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1027.02.2007

Shop-Komponenten:Produktmanagement (2)Generierte abstrakte Klasse: Generierte konkrete Klasse:

Generiertes Mapping:

public abstract class AbstractMedia extends Product{ private boolean blocked; private String ean; private List keywords; private List medias; private Style style; private Double weight;

public AbstractMedia() { setTypeCode(CODE); this.ean = ""; this.keywords = new ArrayList(); this.medias = new ArrayList(); }

public void addKeyword(int index, String keyword) [...]}

public class Media extends AbstractMedia{}

<joined-subclass name="Media"> <key foreign-key="Media_product"> <column name="product"/> </key> <property name="ean"> <column name="ean" not-null="false" length="32" index="Media_ean"/> </property> <list name="keywords"> <key column="media" foreign-key="MediaKeyword_media"/> <index column="position"/> <element column="keyword"/> </key> [...]</joined-subclass>

Page 11: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1127.02.2007

Shop-Komponenten:Produktmanagement (3)Weitere Funktionen:» Preisberechnung über Preisfabrik

» Einheitlicher Preis für Produktdarstellung und Bestellungen» Berücksichtigung von Mengen- und Kundenrabatten

» Mandanten, Mehrsprachigkeit, Produkt-Bundles» Automatische Erzeugung von Lucene-Indizes» Verwaltung Produktbildern und anderen Ressourcen in der Datenbank

» Referentielle Integrität» Interne Daten oder externe URLs

» Für Redakteur komfortabel» Für Entwickler transparent (einheitliche API und Taglib)

Page 12: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1227.02.2007

Shop-Komponenten:Benutzer- und BestellmanagementBenutzermanagement» Verwaltung von Endkunden und Redakteuren (Administratoren)» Persistentes Rollen- und Rechte-Management» Einheitliche API für Bonitäts- und Validitätschecks

von Adressen und Zahlungsarten» Zur Zeit implementiert: eScore, Bibit, Pago

Bestellmanagement» Verwaltung von Bestellungen und Lieferungen» Einheitliche API zur Durchführung von Zahlungen

Page 13: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1327.02.2007

Schnittstellenkomponenten:DateitransferDie Dateitransfer-Komponente bietet eine einheitliche API zum automatisierten Upload und Download» Automatische Erzeugung Dateinamen (Upload)

bzw. Matching (Download) nach verschiedensten Kriterien» Schutzmechanismen

» Synchronisation im Cluster» Guard-Time für partiell bereitgestellte Dateien» Überwachbarkeit durch den Betrieb

» Archivierungsfunktion» Zur Zeit implementiert: FTP, SFTP, lokales Dateisystem

Page 14: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1427.02.2007

Schnittstellenkomponenten:Excel- und CSV-Import und -ExportImport und Export von Dateien auf Basis von JavaBeans» Natives Excel (XLS), CSV-Dateien und Festbreiten-Dateien» Validierungsregeln beim Import» In beide Richtungen kombinierbar mit dem Dateitransfer» Verwendet u.a. POI

Page 15: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1527.02.2007

Schnittstellenkomponenten:MailversandVersand von spontanen Mails:» Erzeugung von Mails auf Basis von Velocity-Templates

» Plain-Text, HTML oder beides» Konfiguration aller konstanten Informationen

» z.B. Subject, From, To, CC, BCC» Veränderliche Attribute werden in der Software eingestellt

Zeitlich planbare Massen-Mailings:» Bearbeitung in Batches, Synchronisation im Cluster» Bis zu 130 Mails pro Sekunde bei 2 Nodes gemessen» Bounce-Analyse für fehlerhafte Emailadressen

Page 16: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1627.02.2007

Präsentationskomponenten:FormularprozesseDie Komponente Formularprozesse verteilt ein Struts-Formulars auf mehreren Seiten und übernimmt die Navigationssteuerung.» Fortschrittsanzeige innerhalb des Prozesses (Seitennavigation)» Optionale Seiten (abweichende Lieferadresse)» Schutz vor Back-Button-, Refresh- und Doppelklickfehlern» Einstellbares Navigationsverhalten

» u.a. sequentiell und wahlfrei» Wiederverwendbarkeit aller Bestandteile

» JSPs, Struts-Formulare, Java-Klassen, Validierungsregeln» Integration externer Seiten (z.B. Zahlungsdienstleister)

Page 17: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1727.02.2007

Präsentationskomponenten:SuchmaschinenoptimierungTechnische URLs werden automatisch in gut lesbareund gut indizierbare URLs umgewandelt» /mobile/MobileDetailsVPAction.do?manufacturer=Nokia&mobile=3210

wird zu /mobile/Nokia-3210» Kaum Eingriff in Software oder JSPs notwendig» Transparent sowohl für die Software, als auch für die Clients

Page 18: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1827.02.2007

Präsentationskomponenten:Struts on Rails (1)Struts on Rails» Vereinheitlichung durch „Convention over Configuration“» Beschleunigung der Entwicklungsprozesse

Struts on Rails ist ein Struts-Plugin» Die Struts-Konfiguration entfällt» Die Action-Klassen werden von Balast befreit und erhalten Generics» Die Validierungs-Konfiguration wird um die Hälfte kürzer

Page 19: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 1927.02.2007

Präsentationskomponenten:Struts on Rails (2)Action-Klasse ohne Rails Action-Klasse mit Rails

public ActionForward execute(...){ ActionMessages errors = form.validate(mapping, request); if (errors != null && !errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward("error"); }

CartForm cartForm = (CartForm) form; HttpSession session = request.getSession(); Cart cart = Cart.getInstance(session); cart.setQuantity(cartForm.getQuantityInt());

return mapping.findForward("success");}

protected Class handleInvalidRequest(...){ return CartVPAction.class;}

protected Class handleValidRequest(...){ Cart cart = Cart.getInstance(session); cart.setQuantity(form.getQuantityInt());

return CartVPAction.class;}

Validierungsfehler werden bereitsüber die API unterschieden

Die Ziel-Action wird über die Klasseangesprochen, JSPs über den Pfad.Eine Konfiguration entfällt!

Genertics übermitteln in der Methodebereits die richtige Formklasse

Page 20: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2027.02.2007

Administrationsoberfläche

Web-Applikation zum Administrieren von» Produkten, Benutzern und Bestellungen» Weiteren anwendungsspezifischen Inhalten

Out-of-the-box lauffähig ohne Konfiguration» Produktformulare werden auf Basis der Typisierung erstellt

Viele Aspekte sind jedoch konfigurier- und programmierbar» Darstellung der Produktbäume, -listen und -suchen» Editoren der Attribute in den Produktformularen

Integration in das Projekt über eine Checkbox in dem Projekt-WizardTechnologie: JavaServer Faces

Page 21: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2127.02.2007

Ein bisschen Statistik

Projekte» Das Commerce-Framework kommt in schätzungsweise 20 Projekten

zum Einsatz, 17 Projekte sind bekannt.» http://dev/Projekte

Wissensverbreitung» Ca. 65% der Software-Entwickler haben mit dem Framework gearbeitet,

ca. 10% kennen sich sehr gut aus.» Ca. 35% haben für das Framework Funktionen entwickelt.

Umfang» Die aktuelle Version 3.16.0 enthält über 3 Megabyte Source-Code.» Die Dokumentation ist zur Zeit über 330 Seiten lang (ohne Javadoc).

Davon sind allein 30 Seiten Glossar.

Page 22: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2227.02.2007

02 Projektvorlage und Wizard

» Was ist die Projektvorlage?» Probleme der Projektvorlage» Der Projekt-Wizard

Page 23: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2327.02.2007

Typisches wiederkehrendes Problem:Wie lege ich ein neues Software-Projekt an?Man kopiert das Projekt, an dem man zuletzt gearbeitet hat.» Copy-and-Paste-Fehler treten auf

» Name des letzten Projekts taucht an beliebiger Stelle auf» Falsche Abrechnungsdaten (z.B. eScore) werden verwendet

» Erschwerter technologischer UpgradeMan beginnt mit einem leeren Projekt.» Erhöhte Aufwände bei stets gleichen Einrichtungarbeiten» Uneinheitliches Setup

» Konfigurationen, Komponenten, Prozesse, etc.Lösung: Eine Vorlage für neue Projekte.

Page 24: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2427.02.2007

Was ist die Projektvorlage?Die Vorlage ist ein „leeres“ SinnerSchrader-J2EE-Projekt.» Vorbereitete Verzeichnisse für Konfiguration, Komponenten, Quellcode und

Dokumentation» Voreingestellte Konfigurationsfiles für sämtliche Komponenten, sowie

vorbereitete Java-Klassen» Standardeinstellungen sorgen für Einheitlichkeit und Vermeidung von

typischen Fehlern» Kommentare verläutern die nächsten Schritte und bieten Beispiele

» SinnerSchrader-typische Build- und POM-Files (Ant und Maven)» Build des Projektes» Versionsplanung und -Dokumentation» Automatisiertes Deployment auf verschiedenste Ziele

Mehr Information zur Vorlage gibt es hier:» http://dev/Projektvorlage

Page 25: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2527.02.2007

Anfängliche Probleme der Projektvorlage

Zunächst starker Fokus auf das Commerce-Framework» Vorlagen für Konfigurationen und Komponenten im Mittelpunkt

Manuelle Anpassung auf das entsprechende Projekt notwendig» Pfade, Packages, sonstige Namen/Bezeichnungen» Hinzufügen oder Entfernen von Komponenten inkl. Konfiguration und

Build» Umsetzung des Deployment-Szenarios weitgehend im Projekt

» Umgebungen und Cluster-Nodes, sowie Benutzer und Pfade» Entwicklung stabiler Distributions- und Deploymentskripte

Großer Bedarf an einer Ausweitung der Anwendungsfälle» Hauptsächlich in der Projektvorlage, aber auch im Framework

Page 26: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2627.02.2007

Was ist der Projekt-Wizard?

Der Wizard ist ein Eclipse-Plugin zum Anlegen eines neuenSinnerSchrader-J2EE-Projekts.» In drei Dialogen werden die Eckpunkte des Projekts abgefragt

» Namen und Pfade» Verwendete Komponenten» Deployment-Szenario

» Er arbeitet eng mit der Projektvorlage zusammen» Platzhalter wie Namen und Pfade werden dynamisiert» Komponenten werden hinzugefügt oder entfernt, sowie konfiguriert» Das Deployment-Szenario wird in Form von Skripten, Konfigurationsfiles

und Build-Targets aufgesetztMehr Information zum Wizard gibt es hier:

» http://dev/Projekt-Wizard

Page 27: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2727.02.2007

Ziele des Wizards

Einheitlichkeit» Die meisten Eingaben besitzen einen Default oder sind abgeleitet

» Konventionen, von denen nicht abgewichen werden soll,können zunächst nicht verstellt werden

» Die Komponenten sind vorausgewählt» Durch die Projektvorlage entstehen einheitliche Strukturen

Geringere Fehleranfälligkeit» Die Einrichtungsarbeit (Namen, Komponenten, etc.) ist erprobt

Kostenersparnis» Der Wizard spart bis zu 5 Personentage in jedem neuen Projekt

und hat sich damit mitlerweile mehrfach amortisiert

Page 28: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2827.02.2007

Screenshots: Namen und Pfade (1)Namen» Projektfamilienkürzel» Projektfamilie» Projektnummer» Projektname» Technischer Name» Package-Name

Pfade» Lokaler Pfad» RepositoryTyp und -Pfad

Page 29: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 2927.02.2007

Screenshots: Namen und Pfade (2)

Konventionen als Defaults:» Lediglich Projektfamilie,

Projektnummer und Projektname sind Pflicht

» Technischer Name, Package, Pfade und Repository ergeben sich über die Konvention

Page 30: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3027.02.2007

Screenshots: FeaturesEinfaches Hinzuwählen kompletter Funktionen» Komponenten werden

hinzugefügt» Konfigurationen werden

angepasst» Der Build-File wird

angepasst» Beispiel-Sourcen und

Kommentare werden hinzugefügt

Page 31: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3127.02.2007

Screenshots: Distributionen (1)Der Wizard unterstützt drei Distributionstypen» One-Click-Deployment» Binary-Distribution» Source-Distrbution

Dies deckt nahezu alle Praxisfälle abUnterstützung von:» Web-, App- und DB-

Clustern» Verschiedenen

Automatisierungsstufen

Page 32: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3227.02.2007

Screenshots: Distributionen (2)Im One-Click-Deployment sind nahezu alle Eigenschaften je Umgebung einstellbar» Anzahl Nodes im Cluster» Rechnernamen» Benutzernamen» Pfade» Ports

Sie bieten aber wiederum Defaults entsprechend der Konvention

Page 33: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3327.02.2007

03 dev-Site (Commerce-Wiki)

» Was ist die dev-Site?» Handbuch des Commerce-Frameworks» Glossar technischer Begriffe bei SinnerSchrader» Downloads und Schema-Locations» Standardisierung, Entwurfsmuster, Tipps und Tricks» Zukünftige Ziele

Page 34: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3427.02.2007

Was ist die dev-Site?Die dev-Site (CommerceWiki) ist ein MediaWiki, in erster Linie für das Handbuch des Commerce-Frameworks» MediaWiki ist das Wiki der WikiPedia» Schöne Optik und sehr gute Funktionen» Erweiterung für Handbücher

» Inhaltsverzeichnis» Navigation

Es soll die erste Anlaufstelle für Fragen sein, die im Zusammenhang mit dem Framework, typischer SinnerSchrader-Projekte und Konventionen stehen.Die URL ist denkbar einfach:

» http://devQualitätssicherung macht Nils. ;-)

Page 35: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3527.02.2007

Page 36: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3627.02.2007

Handbuch des Commerce-Frameworks

Das Handbuch besteht aus» Einer Einführung in das Commerce-Framework und typische

SinnerSchrader-J2EE-Projekte» Einem Tutorial „das erste Projekt“, das durch schnellen Erfolg das

Framework schmackhaft macht» Dokumentation aller Komponenten

» Ausführliche Erläuterungen» Diagramme, Grafiken» Direkt einsetzbare Beispiele» Tabellarische Referenzen etc.

Page 37: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3727.02.2007

Page 38: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3827.02.2007

Page 39: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 3927.02.2007

Das Handbuch ist auf verschiedene Weise lesbar

Schnelle Cross-Referenz» MediaWiki bietet durch einen hohen Verlinkungsgrad beim Lesen Erklärungen

für auftauchende Begriffe» Suche nach Begriffen führt schnell zu den passenden Kapiteln

Sequentielles (herkömmliches) Lesen» Durch eine Erweiterung steht ein verlinktes Inhaltsverzeichnis wie in Word zur

Verfügung» Es kann Kapitel für Kapitel, Seite für Seite gelesen werden» Geeignet zum selbständigen Einarbeiten in die SinnerSchrader-Software-

MaterieDruckversion» Das gesamte Handbuch kann in linearisierter Form gedruckt werden

Page 40: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4027.02.2007

Zielgruppen des Handbuchs

Verschiedenste Zielgruppen» Neue Entwickler bei SinnerSchrader

» Handbuch führt komplett in die J2EE-Thematik bei SinnerSchrader ein

» Bird-View-Einführung und Mitmach-Tutorial» Handbuch komplett ausdruckbar „für die Bahn“

» Erfahrene Entwickler» Kapitel-Browsen, Suchen, Java-API-Doku und Glossar als Referenz

» Consultants und Kunden» Einführende Kapitel für Consultants und Kunden» Auflistung von Referenzprojekten

Page 41: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4127.02.2007

Glossar technischer Begriffe bei SinnerSchraderAlle Begriffe im Handbuch führen zunächst auf ein Glossar-Popup.Der Eintrag führt den interessierten Leser in das entsprechende Kapitel.Das Glossar kann aber auch durchstöbert, angeklickt oder durchsucht werden.Es vereinheitlicht alle Begriffe und sorgt für konsistente englische Übersetzungen.

Page 42: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4227.02.2007

Standardisierung und EntwurfsmusterDas Handbuchs enthält Kapitel zur Standardisierung» Allgemeine Muster des

Software-Designs in SinnerSchrader-J2EE-Projekten

» Spezielle Muster für die Arbeit mit dem Commerce-Framework

» Coding-Conventions» Tipps- und Tricks für

» Struts» Hibernate und Spring» HTTP/Servlet-API» uvm.

Page 43: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4327.02.2007

Downloads und Schema-Locations

Die dev-Site ist desweiteren Server für Downloads» Aktuelle Commerce-Framework-Versionen aller Branches

» V0, V1, V2 und V3 als Source, Binary und Dokumentation» Aber auch Verweis auf das Maven-Repository

» Die Projektvorlage und der Projekt-Wizard als DownloadDie Site enthält eine Eclipse-Update-Site für den WizardSie ist Schema-Location für diverse Konfigurationsfiles» Prozesskomponente, Typisierung, Rollen und Rechte, etc.

Sie ist Server für die umfangreiche Framework-API-Dokumentation

Page 44: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4427.02.2007

Zukünftige Ziele der dev-Site

Zusammenführung aller SinnerSchrader-Developer-Ressourcen in die dev-Site» Wiki-Tipps, filesrv3\rnd, filesrv8\s2i, common/docs» Ein attraktiver Ort als Einstieg, keine doppelten Ressourcen» Ein Technologiekreis-Ausschuss arbeitet bereits daran

Konsequente Einhaltung der Konventionenund höherer Nutzungsgrad der Vorlage» Weniger Fehler, weniger Aufwände, besserer Komponententausch

Ggf. Veröffentlichung der dev-Site» Interesse wecken bei Entscheidern und Technikern» Interesse wecken bei Software-Entwicklern

Page 45: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4527.02.2007

04 Wie geht’s weiter?

» Aktuelle Arbeit an Version 4» Eintägiger Workshop „Commerce-Framework“» Committer werden

Page 46: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4627.02.2007

Aktuelle Arbeit an Version 4

Aufteilung des Commerce-Frameworks in Komponenten» 12 einzeln wählbare Komponenten» weniger Abhängigkeiten zu Drittkomponenten» weniger Abhängigkeiten innerhalb des Frameworks» Überarbeitung des Projekt-Wizards und der Projektvorlage

Page 47: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4727.02.2007

Workshop zum Commerce-Framework

Voraussichtlich gibt‘s demnächst einen eintägigen Workshop zum Commerce-Framework» 3 Gruppen à 2 Personen arbeiten zusammen an einem Projekt

» Pair-Programming und offene Diskussion» 3 Teilsysteme: Präsentation, Geschäftslogik, Warenwirtschaft» Intensives Kennenlernen der wichtigsten Framework-Funktionen

Page 48: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchrader Seite 4827.02.2007

Committer werden

Jeder kann mitmachen!» Neue Lösungen umsetzen und ins Framework integrieren» Vorhandene Projektlösungen ans Framework übergeben, sofern

eindeutig Allgemeinnutzen» Mehr Infos zum Mitmachen:

» http://dev/Releasemanagement» [email protected]

Page 49: SinnerSchraderNeueInformatik SinnerSchrader Hamburg, 27.02.2007 Autor: Thomas Jacob TECH-TALK Commerce-Framework, Projektvorlage, Projekt-Wizard, dev-Site.

SinnerSchraderNeueInformatik

SinnerSchrader

Thomas [email protected]. 49.40.80 81 69 - 832SinnerSchrader Deutschland GmbHVölckersstraße 38, 22765 Hamburg

Vielen Dank.


Recommended