Generische Daten-Service-Dienste mittels Web

Transcription

Generische Daten-Service-Dienste mittels Web
Generische Daten-Service-Dienste
mittels Web-Services
110. DB-Stammtisch, HTW Dresden, 23.11.2005
Claus Jungmann
Agenda
1. Ausgang und Ziel
2. Technologische Basis
3. Architektur
4. Beispiel Zentraler Stammdaten-Hub
im Energiebereich
News zum Thema
Deriving Value from IT Will Hinge on Process-Driven Solutions
Quelle: IT Business Edge: Integrating the Enterprise Issue 47, Vol. 2
• CRM Today: For the next 30 years, the primary value of IT
systems will be derived by integrating the "cluttered
diversity of applications" that already exists.
But a purely technical approach to integration won't do.
Rather, integration should be process-driven, so that it's
related to real business problems. This means that
business process management (BPM) and integration will
become synonymous.
One result: More and more vendors will attempt, either
through marketing or via acquisitions, to plant a flag in the
BPM market space.
SOA, Merkmal einer neuen SW-Generation?
• Heute noch 60 % der Software in COBOL
programmiert?
• Steigerung der SE-Produktivität bescheiden
• Methoden des Reengineering bieten keine 100%Migration
Ausweg: Kapselung der Altanwendungen und
Realisierung von EAI mittels SOA:
Integration mittels Web-Services
und flexiblen BPM-Anwendungen
Was ist neu an SOA
• SOA: Architektur verteilter Systeme (Ende der 70er)
• Kommunikationsstruktur
- früher: RPC
- heut: Web Services
• Softwarestruktur
- früher: fest verdrahtet
- heut: basierend auf flexiblen Prozessmodell (BPM)
• Problem
- Wenig ausgeprägtes prozessorientiertes Denken
- Paradigmenwechsel: von „Programmierung im Kleinen“ zu
„Programmierung im Grossen“ Orchestrierung
• Was ist nun SOA?
Konzept für flexible service-orientierte Anwendungen auf der Basis von
Standards: XML, SOAP, WSDL, UDDI, BPEL, …
• Gibt eine Aussicht auf Erfolg?
Ja, alle großen Software-Hersteller entwickeln gemeinsam Standards
und implementieren sie
EAI-Architektur
Custom
Legacy 1
Java
App 1
Java
App 2
Java
App 3
New
Package 1
SAP
App 2
SAP
App 1
Java
App 4
Enterprise Nervous System
SAP
App 3
New Bolt-on
Package 3
Packaged
Legacy 2
ESB
.NET
App 1
.NET
App 2
.NET
App 3
New
Package 2
Custom
Legacy 2
Custom
Legacy 3
Packaged
Legacy 1
.NET
App 4
Java
App 5
Packaged
Legacy 3
Techologische Basis
+ XML mittels Web-Service (deklarativ)
+ Verarbeitung z.B. mittels BPEL (deklarativ)
- Der „Fach“-Adapter muß programmiert
werden
Genutzte Technologien
• Framework eXForms
– XML
– JAVA
• Web Services
• Generisches Datenmodell
• XML Datenbank für Hub
Strenge Konsistenz und schwache Konsistenz
• Strenge Konsistenz erfordert, dass sich alle
Daten stets in einem konsistenten Zustand
befinden.
• Schwache Konsistenz erlaubt “nicht-aktuelle”
Daten.
• Latenz ist das Maß, wie lange die Daten brauchen,
um konsistent zu werden.
• In manchen Fällen ist das System nie konsistent,
weil es immer Änderungen gibt, die noch nicht
synchronisiert wurden.
Quelle: Jürgen Bittner; 108. DB-Stammtisch:
„Möglichkeiten zur Integration verschiedener Datenbanken und
DB-Applikationen“
Agenda
1. Ausgang und Ziel
2. Technologische Basis
3. Architektur
4. Beispiel Zentraler Stammdaten-Hub
im Energiebereich
Idee
• Initialisierung des Dienstes
–
–
–
–
SSL
Der Service muss autorisiert sein
Initiale Konfiguration des Dienstes
Dem generischen Datenservice wird
propagiert:
• eine Datenquellenbeschreibung (entities.xml)
• Authentifizierung
• Dienst wird registriert und bereitgestellt
• Nutzung des Dienstes per Web Service
• Verschlüsselte Übertragung
Der generische Datenservice
im Kontext mit SOA
Integrate
Orchestrate
Develop
Analyze
Access
Deploy
Optimize
Secure
Genutzte Transportschichten
transport layer
kommerziell
OpenSource
J-EAI
SQL GmBH
TransConnect®
WebService
Hub-and-Spoke Topologie
Design Time
Modellierung der Integrationsszenarien zwischen den Anwendungen durch eine
zentrale Repräsentation anstelle eines Punkt-zu-Punkt Ansatzes.
Application
View
Common
View
Application
View
Transform
XML
App1
Spoke
JMS
AV
CV
Transform
HUB
XML
Spoke
App2
JMS
CV
AV
Runtime
Die Adapter kommunizieren mit einem Hub um Events an andere Adapter weiterzuleiten.
Adapter sind zuständig für die Ausführung der Transformation.
Design Time
iStudio
Metadaten
XML
App1
Adapter
JMS
Runtime
AQ
XML
Adapter
JMS
App2
OracleAS InterConnect
Schnelles Integrationsdesign & -verteilung
Grafisches Design Tool
“Common View” Metadata
Transformation
Adapter
Content-driven Routing
Publish/Subscribe
Request/Reply
(asynchron, synchron)
• Erweiterbar / SDKs
•
•
•
•
•
•
•
Metadata
App1
Adapter
AQ
Adapter
XML
XDK
Application
View
Common
View
Application
View
App2
Eingesetzte Werkzeuge
Design Applications
Develop J2EE Apps
Develop Business
Processes
Develop DBMS Schemas
Profile, Debug, Optimize
Deploy & Manage
SOA auf Basis BPEL
Optimize
Design
Routing
Monitor
QOS
BPEL
CEP
Workflow
Enterprise Service Bus
WSDL
WSIF
JCA
REST
Rules
Data Hubs – Operational Data
Enterprise Service Bus
Microsoft
Siebel
e-Bus Suite
JD Edwards
SAP
ISV Apps
Agenda
1. Ausgang und Ziel
2. Technologische Basis
3. Architektur
4. Beispiel Zentraler Stammdaten-Hub
im Energiebereich
Prämissen
• projektunabhängige Zugriffsschicht
• erweiterbaren Menge von physischen
Datenquellentypen
• Entkopplung von Geschäftslogik und
Datenschicht
• D.h. nicht mehr die Datenquellen, sondern
die logische Zugriffsschicht wird
angesprochen
Architektur des Frameworks
Einbindung beliebiger Datenquellen
•
•
•
•
•
Stored Procedures
Web Services
LDAP
Flat Files
Beliebige Datenbanken
– db2
– Oracle (auch XML-DB)
– sql-server, ..
• Beliebige Datenmodelle
– z.B. generische Datenmodelle
Architektur der Zugriffsschicht
Datenzugriff (entities.xml)
Wesentliche Ergebnisse
• Logische Namen für Datenquellen
• Änderungen von physischen Namen
werden nicht mehr im Code, sondern in
der Zugriffsschicht vorgenommen
• Daten aus mehreren Datenquellen werden
zu einem logischen Geschäftsobjekt
zusammengefasst
• Filtern und Sortieren konfigurierbar (für
alle Datenquellen, auch Web-Services)
Agenda
1. Ausgang und Ziel
2. Technologische Basis
3. Architektur
4. Beispiel Zentraler Stammdaten-Hub
im Energiebereich
Integration in der Realität
Kraftwerks
Kraftwerkssteuerung
steuerung
ZZählerfernählerfernauslesung
auslesung
EDM
EDM
CRM
CRM
Prognose
Prognose
Ger
ätedatenGerätedatenbank
bank
Product
Product
Management
Management
Portal
Portal
B2B
B2B––B2C
B2C
Billing
Billing
Problemstellung im Energiemarkteinsatz
•
Hohe Anzahl von miteinander
kommunizierenden Systemen
•
Reengineering von Schnittstellen
•
Große Datenmengen müssen kurzfristig
bewältigt werden
•
Regulatory Compliance (Unbundling)
•
Stammdaten besitzen Abweichungen
Ziele der Stammdatendrehscheibe
• Logische Verknüpfung inhaltlich gleicher aber
unterschiedlich formatierter Stammdaten aus
verschiedenen Datenhaltungssystemen
• Propagierung eingefügter und geänderter
Stammdatensätze vom Daten-Master zu
angeschlossenen Systemen
• Individuelle Verhinderung der Propagierung von
Stammdatensätzen durch zu Slave-Systemen
• → Erhöhung der Datenkonsistenz im Gesamtsystem
→ Verbesserung der Zuordnung von Daten
Derzeitige ecount-Lösung
Format 1
Format 2
e~count-DB
Konverter
Format n
e~count XMLZwischenformat
SpezialDatenformat
ecount-Import XML Struktur:
Element STAMMDATEN
Der Weg zur Anwendungsintegration:
Geschäftsprozesse
Process
Input
Business Process
Analysis
EAI/
Technical Rules
EAI/
Technical Rules
Business Rules
Runtime Engine
Integration Broker
App. 1
Quelle: nach Gartner
Output
App. 2
App. 3
Der Weg zur Anwendungsintegration:
Entwicklungsmethodik
Adapt Business
Processes to Market
Dynamics
Take Decisions with
Better Quality
Information
Build Modular,
Flexible
Business
Applications
Consolidate Information to
Unified Data Model
Technology
Requirements
Share Information
& Collaborate
Productively
Lower Cost,
Better
Ownership
Experience
Secure Information
& Applications for
Compliance
Quelle: nach Oracle
Der Ausgangspunkt
•
Schnittstellen meist auf
Datenbankbasis
•
Skalierbarkeit ist nur
aufwendig realisierbar
•
Kein systemübergreifendes
Monitoring
•
Aufwendige und zu
pflegende APIs
•
Nahezu 100% sind zu
kodieren
•
Geringe Änderungen
verursachen hohe Kosten
Das Ziel
•
XML zum Austausch der Daten
•
Einfache und bei Bedarf
unkomplizierte Skalierbarkeit
•
Systemübergreifendes Monitoring
•
Einfache Änderungen sollen
deklarativ vorgenommen werden
können
•
Der Kernprozeß bleibt im
Unternehmen
•
Teilprozesse beim Dienstleister
XML getrieben
Frei wählbare Transportschicht für den Datenaustausch
• Propagierungsregeln koordinieren den
Datenaustausch
Konfigurierbares Regelwerk
• Beschreibung der Plausibilisierung
Dynamische Prüfung gegen Systeme
- Statische Prüfungen
-
• Transformation
- Systemspezifische Transformation von Daten
Generisches Datenmodell auf Basis XML-DB
Schematischer Aufbau (Variante 1)
Transportschicht
Transformationsschicht - Hub
XML-Stammdatensatz
Validierung
…
…
…
Stammdatensatz
Data Hub
…
Transformation
Propagierungssequenz
Meta (Master)
Transf. XMLStammdatensatz 1
Transf. XMLStammdatensatz n
Regelwerk
Meta (Slave1)
…
Meta (Slave n)
Prozeß: Stammdatenanlage eines Kunden
Stammdaten-Hub
EDM
EDM
Web
service
• Stammdatenpool
ZFA
ZFA
Web
service
Web
service
CRM
CRM
Web
service
Billing
Billing
W
W
Back End
Application
Web
service
S
•Vertragspartner
W
•Verträge
S
•Spez.
Fachdaten
Back End
Application
Transportschicht
(TransConnect,
BPEL Process Manager,
…)
S
Web
service
W
S
Systemintegration
Billing
XML
…
EDM
transport layer
Prozesse,
Ereignisse
• Regeln
•Vertragspartner
•Verträge
•…
XML
rule based data hub
Melde-Tool
• Stammdatenpool
Teilprozesse Transformationen
Cleansing
Objekte
CRM
XML XML
SOA – Orchestrierung mit BPEL
EAI - Der TransConnect Server
TransConnect® Server
Format Engine
Routing
Mapping
Transport
Transaction
Management
Metadata
Repository
TransConnect
Manager
Persistence
Online
Überwachungstools
Zentrale Konfiguration
aller Parameter
SAP I-SU/CRMFachdatenmodell
Kaufmännische Stammdaten
ServiceServiceanbieter
anbieter
Netz
Netz
ServiceServiceanbieter
anbieter
Vertrieb
Vertrieb
VertragsVertragsKonto
Konto
ISUACCOUNT
ISUSERPROV
ISUSERPROV
Vertrag
Vertrag
Netz
Netz
Folie 52
EXTERN
VerbrauchsVerbrauchsstelle
stelle
INSTLN
GeräteGeräteinfosatz
infosatz
Technische
Stammdaten
25. Mai 2005
Anlage
Anlage
Vertrieb
Vertrieb
INSTLN
ISUPOD
Regionalstruktur
ug
z
n
Ei MOVEINDOC
Anlage
Anlage
Netz
Netz
ZählZählpunkt
punkt
BORBOR-Objekt
ISUCONTRCT
ug
z
Ein MOVEINDOC
ISUGRID
Anlegen
Mutieren
ISUPARTNER
Vertrag
Vertrag
Vertrieb
Vertrieb
ISUCONTRCT
Netz
Netz
GeschäftsGeschäftspartner
partner
BOREvents
für
EDM:
DEVICE
PREMISES
GeräteGeräteplatz
platz
DEVLOC
AnschlussAnschlussobjekt
objekt
CONNOBJ
Bsp.: SAP / EDM-Kopplung
ISU_UTILMD
ZT: utilmd_to_ecount.xslt
(DB-Status = 18)
ALEAUD (1)
Status=53
ZT: msg_received_2_sap.xslt
ALEAUD
Status=18
Verarbeiten von UTILMDNachrichten
IDOC in VDIS (3)
ZT: set_idoc_finished.xslt
ET: get_error_from_db.xslt
ALEAUD
(Status in DOC auf '12' setzen)
VDIS
alle 60s überprüfen
Job: getUtilmdDocument (4)
(get_utilmd_doc.xml)
(Sätze in DOC auf Status 53 prüfen)
Fehlerfrei?
set_status_doc_to_done.xslt
(Status in DOC auf '12' setzen)
nein
ja
Ablegen der
Nachricht als
FAILED
Ablegen der
Nachricht als
EXECUTED
ALEAUD
ALEAUD
ZT: vdis_msg_to_sap.xslt
ALEAUD
Status=68
ZT: vdis_msg_to_sap.xslt
ALEAUD
Status=53
ISU_UTILMD (5)
(1) Automatische Empfangsbestätigung von TransConnect
(2) Sämtliche Prozeduren werden in ec_drewag.pkg_prozesse_sap ausgeführt
(3) Prozess wird separat erklärt
(4) entspricht Jobbeschreibung GetIDoc
(5) Nachricht enthält ResultSet der DB-Abfrage, muss aber als UTILMD in die Queue gestellt werden; Zieltransformation erzeugt dann IDoc-Struktur
ZT: rebuild_utilmd.xslt
ET:
set_msg_executed.xslt
ISU_UTILMD
Ablegen der
Nachricht als
EXECUTED
ALEAUD
12 = Versand OK
18 = IDoc von TransConnect empfangen
22 = Versand erfolgt, Bestätigung steht aus
53 = in SAP: IDoc erfolgreich verarbeitet
in VDIS: IDoc versandbereit
Resultat: Zentraler Stammdaten Hub
Langfristig saubere Stammdaten in allen angebundenen
Systemen
Abweichungen zwischen den Stammdaten der einzelnen
Systeme können sofort erkannt werden
Vereinfachte Fehlersuche bei systemübergreifenden
Stammdaten
Integriertes systemübergreifendes Stammdaten-Cleansing
Identifikation der jeweils führenden Systeme
Änderungen in einem System werden regelbasiert zu
anderen propagiert
Datenbasis ist Grundlage für neue (globale) Data
Warehouse-Anwendungen
Vielen Dank für Ihr Interesse
Claus Jungmann
(Dipl.-Inf.)
Leiter Consulting Industrie
E-Mail: claus.jungmann@robotron.de
GSM: +49 172 7947004
Robotron Datenbank-Software GmbH
Tel.:
+49 351 4021630
Stuttgarter Str.29
Fax.:
+49 351 4021699
D-01189 Dresden
www.robotron.de