Title: ff-eCommerce
1ff-eCommerce
- Accelerate DevelopementERP/CRM B2B/B2C/B2E
- Ekkehard Gentz, e.gentz_at_ff-eCommerce.de
2Überblick
Real Life Usecase
3Willkommen bei ff-eCommerce
- Ekkehard GentzEntwicklung Vorstand
- ff-eCommerce Software AGBerner Straße 34b, 60437
Frankfurt0800/ 333 2 666 info_at_ff-eCommerce.de
4ff-eCommerce heute und Zukunft
- Wir berichten von unseren Erfahrungen bei der
Umstellung unserer Software - ? ff-eCommerce Produkt und Unternehmen
- ? Bisherige Entwicklungsumgebung unter Omnis
- ? Anforderungen an ein zukunftsorientiertes
System - ? Tools und Partner für my ff-eCommerce
- ? Das neue Gesicht des Arbeitsplatz Verkauf
- ? Projektstadien von Sommer 2000 bis Mai 2001
- ? Zwischenbilanz und Ausblick
5Warenwirtschaft mit System
- ff-eCommerce ist ...
- ... ein internetfähiges Warenwirtschaftssystem
für den Mittelstand - ... steuert Vertrieb, Einkauf und Lagerwirtschaft
- ... schafft die Brücke zwischen Web-Shop und
Logistik
6Internet
- ff-eCommerce bedeutet Warenwirtschaft
internetzentriert B2E B2B B2C
71988 erstmals am Markt ...
- ff-eCommerce hat sich von einer kleinen Anwendung
für Apple-Fachhändler - zu einer plattformunabhängigen, umfassenden
Warenwirtschaftslösung - für mittelständische Handels- und
Dienstleistungsunternehmen entwickelt.
8... heute ff-eCommerce Software AG
- Seit 1999 hat ff-eCommerce eine starke Kraft im
Rücken. - Die börsennotierte CANCOM IT Systeme AG ist als
Mehrheitsaktionär in das Unternehmen
eingestiegen. - Ganz bewusst wählte ff-eCommerce seinen
Firmensitz in Frankfurt. So wird trotz der
kapitalmäßigen Verflechtung Unabhängigkeit
dokumentiert.
9CANCOM
Die Muttergesellschaft CANCOM IT Systeme AG
richtet sich konsequent auf eBusiness aus.
CANCOM IT Systeme AG
ff-eCommerce
CANCOM Systemhaus
ebizcuss
Novodrom
tendi AG (ESD Electronic Software Distribution)
10Neue Programmversion
- Mit Blick auf zukünftige Anforderungen haben wir
uns zu einer vollständigen Überarbeitung des
Programms entschlossen.
? Möglichst browserbasiert, aber
mit Komfort und performant
? Komplette Übernahme bestehender Daten
bis 30 GB
? Unabhängigkeit
? Effektive Arbeit in kleinem Team
? Betriebssystem- unabhängigkeit
? Hohe Sicherheit
UNMÖGLICH ?
? Standardisierte Schnittstellen und
Protokolle
? Systemumstellung innerhalb von drei
Tagen
? Totale Internetintegration
? Realisierung in kurzer Zeit
? Hohe Anforderungen an Qualität
11Entwicklung unter Omnis
- Zur Programmentwicklung von ff-eCommerce wurde
bisher das 4GL RAD-Tool Omnis eingesetzt.
Pro
Contra
Schnelle Anwendungsentwicklung Ausgefeilte
GUI Binärkompatibel für MacOS und WinOS Mehr als
zehnjähriges Know how
Abhängigkeit von kleinem Hersteller Proprietäre
Lösung Keine offene Schnittstellen Native
Datenbank, nicht skalierbar
12Tools Partner
- Um das hochgesteckte Ziel zu erreichen, hat sich
ff-eCommerce für zukunftsorientierte Partner im
Umfeld der IBM entschieden.
DB2 RDBMS
Versant OODBMS
JAVA
RoseModeler
WebSphere
ArcStyler
Visual Age for JAVA /JBuilder
13Relationale Datenbank
Als erste Aufgabe haben wir eine relationale
SQL-Datenbank ausgewählt. Die Entscheidung fiel
auf DB2 von IBM.
Die Auswahlkriterien Skalierbar,
zuverlässig, schnell WareHouse und OLAP
schon in der WorkGroupEdition Günstiges
Preis-/Leistungsverhältnis Gute Integration
ins eBusiness Sehr guter Support für
Entwickler Gute Unterstützung durch IBM-SPC
in Böblingen
14Programmiersprache
Als Programmiersprache haben wir JAVA gewählt.
Pros
Cons
Zukunftssicher Kinderkrankheiten
beseitigt Inzwischen performant
genug Betriebssystemunabhängig Standardisierte
Schnittstellen
Hoher Lernaufwand Statt prozeduralem
Programmieren objektorientiertes Denken und
Programmieren
15Servertechnologie
- Moderne JAVA-Anwendungen sind serverbasiert und
erfordern einen skalierbaren Applicationserver.
Wir haben WebSphere von IBM gewählt.
Die Kriterien Skalierbar Wie DB2 vom
Hersteller IBM (Vorteil Kontakt mit nur
einem Hersteller) Gute Unterstützung für
Entwickler Gute Integration von JAVA und
JAVA-Server-Pages
16JAVA IDE
- Als nächstes haben wir uns für Visual Age for
JAVA entschieden.
Die Kriterien Gute Integration der
WebSphere-Testentwicklung in VAJ Hersteller
IBM Debugging Speicherung im
Repository Bedienerfreundlichkeit Wir waren
später gezwungen, diese Entscheidung zugunsten
von JBuilder zu ändern, da es in Visual Age for
JAVA nicht einfach möglich ist, Klassen
nachträglich zu enhancen.
17UML-Modellierung
- Die Programmierung soll total modellgetrieben
durchgeführt werden. Dazu haben wir uns für den
Rose Modeler entschieden.
Es war keine Frage, die Modellierung mit UML
vorzunehmen. Als Tools kamen letztendlich nur
Rose von Rational Software oder Together in
Frage. Together ist aber mehr als nur
UML-Modellierung es ist ein ganzes System und
wir hätten uns sehr auf einen Hersteller
festlegen müssen. Mit Rational sind wir
flexibler, da viele andere Hersteller
Schnittstellen zu Rational anbieten.
18UML-Modellierung
- Klassenmodell und Schichten
19Generierung
- Zur Unterstützung der Code-Generierung haben wir
den ArcStyler von io-Software gewählt.
ArcStyler erweitert Rose um zusätzliche Daten,
die für die Code-Generierung ausgewertet werden
können. Nur durch einen modell-getriebenen
Lösungsansatz mit intelligenter Code-Generierung
können wir das Projekt in kurzer Zeit
realisieren. Weitere Vorteile Cartriges für
WebSphere, Versant, BEA und andere. Keine
Abhängigkeit von einem einzigen Hersteller oder
Technologie. Technologieentscheidungen
können ggf. ohne zu großen Aufwand
revidiert werden.
20Generierung (1)
Der ArcStyler unterstützt bei der Übertragung
bestehender Daten in die JAVA-Objekte.
Da wir bestehende Daten übernehmen, müssen diese
in die JAVA-Objekte übertragen und in enJin
gespeichert werden. Zunächst wurde aus der DB2
das Datenschema in den Rose Datenmodeler
übertragen. Dann wurden Informationen für den
RDBloader von Versant im Modell hinterlegt und
der ArcStyler generiert die ORM-Daten usw. für
Versant auf Knopfdruck.
21Generierung (2)
Mit Hilfe des ArcStylers kann projektspezifischer
JAVA-Code generiert werden.
Durch Anpassung von PHYTON-Templates kann der
ArcStyler individuell angepasst werden und es
wird projektspezifischer Code generiert.
22Generierung (3)
Wir generieren die Testklassen mit dem ArcStyler
für ein automatisiertes Testen mit JUnit.
Ein wesentliches Fundament unserer Entwicklung
ist das automatisierte Unit-Testen. Wir setzen
auf JUnit, generieren bereits die Testklassen mit
ArcStyler und binden den Aufruf der Tests ANT mit
ein, so dass nightly builds möglich sind.
23Generierung (4)
Der ArcStyler generiert auch alle Daten für den
Build-Prozess mit ANT, sowie Projektdaten für den
JBuilder.
Deploy (Compile, Enhance) Rebuild (VersantDB,
TestDB, Schema, ...) Load (RDBLoader) Test
(JUnit) Nightly Builds möglich
24Generierung
Graphische Darstellung Generieren von
Programmcode
UltraDev / DWeaver
HTML (etc.)
JSP
WAR (servlet)
V
Tomcat
ArcStyler Cartridge for J2EE Accessors
Verify
.java-opt (instances in JSP!)
Presentation
.java
C
ANT JPX Opti-Build JB4 Proj. Test Units
EAR
All Generated /or Build,Deploy
App. Svr
ArcStyler Cartridge for WebSphere Versant enJin
Verify
.class
.java
Model
M
UML (AS/Rose)
enJin ORM
Versant
Import (AS/C-schema)
RDB Loader
DB2
25Multi-tier-Anwendung
- Die Architektur läßt sich grob in drei Schichten
unterteilen.
UI (User Interface)
Businesslogik
Entity
26Entity
UI (User Interface)
Businesslogik
Entity
27Datenbank oo vs. relational
- Bei Einsatz der J2EE-Serverarchitektur ergab sich
in der Praxis ein Performanceproblem.
Die Datenhaltung war komplett in der DB2 gedacht,
mit Zugriff über EJBs aus dem Applicationserver
über CMP (Container-Managed-Persistence). Die
Architektur erfordert den Durchlauf von Daten
durch viele Schichten. Alle objektorientierten
Daten müssen auf relationale Strukturen gemapped
werden. Dazu sind Tools wie TopLink, CocoBase,
usw. notwendig. Das Mapping erfolg für alle
Aufrufe. Zudem sind viele Tätigkeiten rein
navigierend, was durch Objektbäume unterstützt
wird.
28Datenbanken oo und relational
- Wir setzen nun auf eine Kombination aus DB2 sowie
enJin von Versant und nutzen die Vorteile beider
Datenbanken.
DB2 Alle Daten für Statistik, Warehouse, OLAP,
DataMining
enJin Speicherung aller Transaktions-daten ohne
Performanceverlust durch Mappingoperationen.
Loggingdaten werden täglich in enJin gepuffert
und dann extra in DB2 geschrieben.
Spezialfunktionen, wie Textsuche, phonetische
Suche usw. wird ebenfalls asynchron über die DB2
abgewickelt.
29Datenbanken
Fremdsysteme
Oracle Lager
SQL-DB Fibu
Versant enJin
DB2
Representer
ffe_data
Warehouse
Representer
Browser
DB2
Representer
Accessor
Text
Representer
DB2
Representer
Browser Applet
ffe_logs
Userlogs
Firewall HTTP
Versant enJin
Client
http-ServerApache
WebSphere (Tomcat)
Backend
30Businesslogik
UI (User Interface)
Businesslogik
Entity
31Businesslogik
Entwicklungszyklus Businesslogik
Rose
ANT
Klassen, Attribute, Operationen, Assoziationen
ArcStyler
JUnit Tests
Codegenerierung.java
ANT
Enhance .class Rebuild TestDB Versant Schema
JBuilder/VAJ
Businesslogic einfügen in Protected Areas
Compile.class
32Userinterface (UI)
UI (User Interface)
Businesslogik
Entity
33Userinterface (UI)
Entwicklungszyklus Userinterface (technischer
Designer)
34Userinterface (UI)
Entwicklungszyklus Userinterface (graphischer
Designer)
35ACCESSORS
Modellgetriebene Entwicklung einer Webapplikation
mit ArcStyler
Mehr als 100 Application-Use-Cases
Jeder Use-Case als Accessor-Package
modelliert Accessor-Package 1 3
Accessors und eine beliebige Anzahl von
Repräsentatoren
Accessor
Representer
36Arbeitsplatzorientierung
ff-eCommerce zeichnet sich durch seine
Arbeitsplatz-orientierung aus. Arbeitsplätze sind
z.B. der Arbeitsplatz Einkauf, Arbeitsplatz
Verkauf oder Arbeitsplatz Lager. Ihre
Mitarbeiter finden alle notwendigen Informationen
in einem Fenster. Ein Durchklicken verschiedener
Fenster oder umfangreiche Suchfunktionen
entfallen.
37Arbeitsplatz Verkauf
38Arbeitsplatz Verkauf
Demo-Use-Case Navigator Arbeitsplatz Verkauf
39Arbeitsplatz Verkauf
Beispiel Verkaufsarbeitsplatz (statisch)
40Arbeitsplatz Verkauf
Beispiel Verkaufsarbeitsplatz neu
41Internationalisierung
- ff-eCommerce wird in ganz Europa vertrieben und
ist ebenfalls in globalen Unternehmen
einzusetzen, die Mitarbeiter aus mehreren
Nationen haben.
Daher ist die Anwendung strikt international
organisiert. Zahlen-/Geld-/Datumsformate
länderspezifisch Zeitzonen werden bei Terminen
beachtet Alle Strings werden in
Java-Propertie-Files geschrieben Locale
Informationen am Benutzer (Land, Sprache)
42Internationalisierung
- ff-eCommerce ist unabhängig von Sprache und Land
43Internationalisierung
Englisch
Russisch
44Projektstadien
Mit der Überarbeitung unserer Software kommen
wir zügig voran.
8/00
10/00
12/00
01/01
02/01
03/01
04/01
05/01
06/01
07/01
10/01
01/02
03/02
my ff-eCommerce
ff-eCommerce
t
Evaluation Technologien
ArcStyler Templates Java
Export Daten aus Altsystemen
ArcStyler Templates UI/JSP
ArcStyler Templates O2R Mapping
Test Business Logik, CeBIT Demo
Upload Altdaten RDBLoader enJin
Start Programmierung Businesslogik
JUnit Testframework
Test erste Komponenten
Start Betatest
Erste Installation
CeBIT Präsentation
45Neue Programmversion
- Ist unser Projekt möglich Ja, es ist möglich!
? Möglichst browserbasiert, aber
mit Komfort und performant
? Komplette Übernahme bestehender Daten
bis 30 GB
? Unabhängigkeit
? Effektive Arbeit in kleinem Team
? Betriebssystem- unabhängigkeit
? Hohe Sicherheit
UNMÖGLICH ?
? Standardisierte Schnittstellen und
Protokolle
? Systemumstellung innerhalb von drei
Tagen
? Totale Internetintegration
? Realisierung in kurzer Zeit
? Hohe Anforderungen an Qualität
46Bedienerfreundlich
47Vielen Dank für Ihre Aufmerksamkeit
- Sie können unser Projekt verfolgen
unterwww.ff-eCommerce.de