Post on 05-Apr-2015
„ABSTRACTIONHOST
FRAMEWORK
Modernisierung mit Substanz
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für Client „Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Was ist HAF?
• Skalierbare Middleware für hoch performante Kommunikation zwischen .NET-Anwendungen und Hostsystemen
• Entwicklungswerkzeuge für Entwicklung und Wartung von Anwendungen mit .NET-fremden Backendsystemen (z.B. i5)
• Laufzeitkomponenten (Controls) für Standardvorgänge wie z.B. Suchmasken
• Infrastruktur-Komponenten• 100% .NET-Code
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für „Client Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Einsatzgebiete von HAF und Referenzprojekte
• Komfortable Anbindung / Integration von Fremdsystemen an / in bestehende Hostanwendungen
• Entwicklung neuer, mit Host-Technologie schwer zu realisierenden, Funktionen (z.B. Handheld-Anwendungen, Webservicezugriffe)
• Schrittweise, nachhaltige Modernisierung von Host-basierten Anwendungen – bis zum Austausch des Hosts
(c) by Diomex Software GmbH & Co. KG
Referenzprojekte I
• Name: Sortimentsmatrix• Entwickler: Cogito Software• Backend: Cogito Retail 3.0• Kunde: Dodenhof• User: ca. 30• Keyfacts:• WinForms-Anwendung• Performancesteigerung zur Vorgängerversion: >
100%• Pilotprojekt für komplette Modernisierung des
ERP-Systems
(c) by Diomex Software GmbH & Co. KG
Referenzprojekt II
• Name: XcalibuR-ERP-Anbindung• Entwickler: Diomex Software• Backend: Ametras Moeve & Cogito Retail• Kunde: > 10 (siehe www.XcalibuR.biz)• User: > 50• Keyfacts:• XcalibuR-Integrator-PlugIn• Ermöglicht XcalibuR den lesenden und
schreibenden Zugriff auf die Artikelstammdaten unter Berücksichtigung sämtlicher Geschäftsregeln des Hostsystems
(c) by Diomex Software GmbH & Co. KG
Referenzprojekt III
• Name: Windows-Client für ERP-System
• Entwickler: Diomex Software
• Backend: Ametras Moeve
• Kunde: Porta Möbel
• User: ca. 1800
• Keyfacts:
• Realisierung der kompletten Verkaufsfunktionen des ERP-Systems als Windows-Client.
• Integration des XcalibuR-Produktkonfigurators
• Realisierung einer neuen AB-Prüfung inkl. Zugriff auf das SER-Archivsystem
(c) by Diomex Software GmbH & Co. KG
Referenzprojekt IV
• Name: Lagerscanner• Entwickler: Porta IT• Backend: Ametras Moeve• Kunde: Porta Möbel• User: > 100• Keyfacts:• Realisierung eines Windows Mobile basierten
Scanners• Ermöglicht Bestands- und Preisauskünfte• Ermöglicht das Umbuchen / Anfordern von Beständen• Unterstützt bei Inventuren
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für „Client Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Abgrenzung zu Konkurrenzprodukten
• A = „GUI On The Fly“• B = Neuentwicklung• C = Überführung von
Host-basiertem Code zu .NET / Java
• D = HAF
• Kreisgröße = Flexibilität• Farbe = Risiko
A
B
C
D
AufwandN
ach
halt
igke
it
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für „Client Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Architektur für „Client Initiated Processing“
Host-Layer
Backend-System
AS/400
Anderes Backend-System
Connectivity-Abstraction-Layer (part of HAF)
HostAccess-Provider
MSHIS-ProviderIBMCA-Provider
Anderer Provider
IBM DB2 .NET Data Provider
Direct Access (no Providergateway)Providergateway (part of HAF)
Providergateway
Webservice
Remoting-Service
HostAccess-Layer (generated by HAF)
HostAccess Objects
BusinessRules-Layer (partial generated by HAF)
Business Objects
Presentation-Layer
ClientWeb-Client
Windows-Client
Anderer Client
Mobile-Client
(c) by Diomex Software GmbH & Co. KG
Architektur für „Client Initiated Processing“
Host-Layer
Backend-System
AS/400
Anderes Backend-System
Connectivity-Abstraction-Layer (part of HAF)
HostAccess-Provider
HIP-Provider for IBM Hostsystems
Anderer Provider
HIP-Hosting-Layer
HIP-Assembly C
HIP-Assembly B
HIP-Assembly A
HIP-Service-Runtime
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für „Client Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Entwicklungszyklus
Schnittstellenstruktur des Hosts kann importiert werden
Hostseitige Stub‘s können generiert werden
Manuell eingefügter Code bleibt beim erneuten Generieren erhalten
Informationen über die Hostschnittstelle werden als Kommentare in den Code generiert
Host-Datenstruktur
Importieren
HAF-Datenstrukturen &-Auflistungen
Ableiten
HAF-BusinessObjects Verknüpfen
Code
Generieren
Ändern
Exportieren
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für „Client Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Entwicklungswerkzeuge I „Code Generation Studio“
Importieren
HIS-DefinitionRPG-Sourcen
Qualifizieren
BezeichnerDokumentation
Designen
BusinessobjekteAufzählungenOberflächen
Generieren
QuellcodeDokumentation
(c) by Diomex Software GmbH & Co. KG
Entwicklungswerkzeuge I „Code Generation Studio“
Analyse der Kommunikation zwischen Client und Host
Debuggen von Hostfunktionen (Step-By-Step-Execution)
Erneutes Aufrufen von Hostfunktionen aus dem laufenden Betrieb heraus
Performancemessungen
(c) by Diomex Software GmbH & Co. KG
Ausblick auf zukünftige Versionen
• Codegenerator zum automatischen Erstellen eines WCF-Proxy‘s (Windows Communication Foundation) für das Hostsystem
• Codegenerator für Testfälle• Eigener, konsequent auf Performance
ausgerichteter, HostAccess-Provider• DOM-Parser (Document Object Model) für RPG-
Sourcen• RPG-Sourcen-Konverter (z.B. RPG -> SQL-Stored
Procedure)
(c) by Diomex Software GmbH & Co. KG
Agenda
Was ist HAF?
Einsatzgebiete von HAF und Referenzprojekte
Abgrenzung zu Konkurrenzprodukten
Architektur für „Client Initiated Processing“ und „Host Initiated Processing“
Entwicklungszyklus
Entwicklungswerkzeuge und Ausblick auf zukünftige Versionen
Keyfacts auf einen Blick
(c) by Diomex Software GmbH & Co. KG
Keyfacts auf einen Blick- Businessvalues
• Substanzielle Modernisierung die eine langfristige Weiterentwicklung ermöglicht
• Die Flexibilität einer Neuentwicklung bei deutlich geringerem Aufwand und Risiko
• Der HAF-Entwicklungsprozess führt immer zu einem wiederverwendbaren, objektorientierten, clientseitigen API für das Hostsystem. Somit werden Entwicklungskosten mittelfristig gesenkt.
• Reduktion des benötigten .NET-KnowHow durch Codegenerierung
(c) by Diomex Software GmbH & Co. KG
Keyfacts auf einen Blick- HAF-Runtime
• Skalierbare und hostunabhängige Kommunikationsschicht dank Providermodell
• Client und Host Initiated Processing• Verfügbarkeit für Compact Framework• Zugriff auf Host-Funktionen, auch auf
Plattformen für die kein nativer Provider zur Verfügung steht, durch Providergateways (z.B. Windows Mobile, Linux oder Mac)
(c) by Diomex Software GmbH & Co. KG
Keyfacts auf einen Blick- HAF-Entwicklungswerkzeuge
• Minimierung des Entwicklungsaufwands auf .NET-Seite durch Codegenerierung
• Einfaches Debuggen (auch von Produktivsystemen) mit dem Trace Analyser
• Integration des Microsoft Team Foundation Server‘s sorgt für optimale Nutzbarkeit in großen Entwicklerteams
• Anpassung des Code Generation Studio‘s auf eigene Bedürfnisse durch Plug-In-Architektur
„You can HAF it!You need a solution for modernisation?
Vielen Dank für Ihre Aufmerksamkeit!