Upload
vumien
View
214
Download
0
Embed Size (px)
Citation preview
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 Sol utionsQuelle: IT Business Edge: Integrating the Enterpris e Issue 47, Vol. 2
• CRM Today: For the next 30 years, the primary value of I T systems will be derived by integrating the "cluttereddiversity of applications" that already exists.
But a purely technical approach to integration won't do. Rather, integration should be process-driven, so that i t'srelated to real business problems. This means thatbusiness process management (BPM) and integration will become synonymous.
One result: More and more vendors will attempt, eitherthrough marketing or via acquisitions, to plant a flag in theBPM 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-Servicesund 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 Anwendunge n auf der Basis von Standards: XML, SOAP, WSDL, UDDI, BPEL, …
• Gibt eine Aussicht auf Erfolg? Ja, alle großen Software-Hersteller entwickeln geme insam Standards und implementieren sie
EAI-Architektur
CustomLegacy 2
PackagedLegacy 1
.NETApp 1
.NETApp 2
.NETApp 3
JavaApp 1
JavaApp 2
JavaApp 3
CustomLegacy 1
NewPackage 1
NewPackage 2
SAPApp 2
SAPApp 3
JavaApp 4
PackagedLegacy 2
New Bolt-onPackage 3
PackagedLegacy 3
CustomLegacy 3
.NETApp 4 Java
App 5
SAPApp 1
Enterprise Nervous SystemESB
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 Datenb anken 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 Datenserviceim Kontext mit SOA
Develop
Orchestrate
Deploy
Secure
Access
Integrate
Analyze
Optimize
Genutzte Transportschichten
transport layer
SQL GmBHTransConnect®
J-EAI
kommerziell OpenSource
WebService
CommonView
ApplicationView
Application View
Transform Transform
Design TimeModellierung der Integrationsszenarien zwischen den Anw endungen durch einezentrale Repräsentation anstelle eines Punkt-zu-Punkt An satzes.
Hub-and-Spoke Topologie
App2App1 SpokeSpoke SpokeSpokeHUBHUB
JMS JMS
XML XML
RuntimeDie Adapter kommunizieren mit einem Hub um Events an a ndere Adapter weiterzuleiten.Adapter sind zuständig für die Ausführung der Transforma tion.
AV CV CV AV
App2App1 AdapterAdapter AdapterAdapter
MetadatenMetadaten
AQAQ
JMS
iStudio
JMS
XML XML
Design Time
Runtime
OracleAS InterConnectSchnelles Integrationsdesign & -verteilung
App2App1 Adapter Adapter
Metadata
XML
• Grafisches Design Tool• “Common View” Metadata• Transformation• Adapter• Content-driven Routing• Publish/Subscribe• Request/Reply
(asynchron, synchron)• Erweiterbar / SDKs
AQ
XDK
ApplicationView
ApplicationView
CommonView
Design ApplicationsDesign Applications
Develop J2EE AppsDevelop J2EE Apps
Develop Business Develop Business ProcessesProcesses
Deploy & ManageDeploy & Manage
Develop DBMS SchemasDevelop DBMS Schemas
Profile, Debug, OptimizeProfile, Debug, Optimize
Eingesetzte Werkzeuge
SOA auf Basis BPEL
Enterprise Service BusEnterprise Service Bus
RoutingRouting QOSQOS BPELBPEL CEPCEP RulesRulesWorkflowWorkflow
DesignDesign
OptimizeOptimize
MonitorMonitor
WSDLWSDL JCAJCA RESTRESTWSIFWSIF
Data Hubs – Operational Data
Enterprise Service BusEnterprise Service Bus
Siebel SAPe-Bus SuiteMicrosoft JD Edwards 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
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
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
ProductManagement
ProductProductManagementManagement
CRMCRMCRM
BillingBillingBilling
Gerätedaten-bank
GerGeräätedatentedaten --bankbank
PortalB2B – B2C
PortalPortalB2B B2B –– B2CB2C
EDMEDMEDM
PrognosePrognosePrognose
Zählerfern-auslesung
ZZäählerfernhlerfern --auslesungauslesung
Kraftwerks-steuerung
KraftwerksKraftwerks --steuerungsteuerung
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
e~count-DB
Format 1
Format 2
Format n
Konverter
e~count XML-
Zwischenformat
Spezial-
Datenformat
Der Weg zur Anwendungsintegration: Geschäftsprozesse
Business ProcessAnalysis
Runtime Engine
Integration Broker
App. 1
Business Rules
EAI/Technical Rules
Process OutputInput
EAI/Technical Rules
App. 2 App. 3
Quelle: nach Gartner
Adapt Business Processes to Market Dynamics
Share Information & Collaborate Productively
Build Modular, FlexibleBusinessApplications
Take Decisions with Better Quality Information
Lower Cost, Better OwnershipExperience
Secure Information & Applications for Compliance
Technology Requirements
Consolidate Information to Unified Data Model
Quelle: nach Oracle
Der Weg zur Anwendungsintegration: Entwicklungsmethodik
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
• 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
Das Ziel
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
XML-Stammdaten-satz
Validierung
Data HubStammdatensatz
Transformation
Regelwerk
Meta (Master)
Pro
pagi
erun
gsse
quen
z
…
Meta (Slave n)
Meta (Slave1)
Transformationsschicht - Hub
……Transf. XML-
Stammdatensatz 1
…
Transf. XML-Stammdatensatz n
…
Webservice
Webservice
Webservice
W
S
W
S
W
S
W
S
Prozeß: Stammdatenanlage eines Kunden
Back EndApplication
Back EndApplication
CRMCRMCRM
BillingBillingBilling
EDMEDMEDM
ZFAZFAZFA
Transportschicht(TransConnect,
BPEL Process Manager,… )
• Stammdatenpool
•Vertragspartner
•Verträge
•Spez. FachdatenWeb
service
Webservice
Webservice
Stammdaten-Hub
CRMBilling
Systemintegration
EDM
rule based data hub
Objekte
• Stammdatenpool
•Vertragspartner
•Verträge
•…
…
transport layer
TransformationenTeilprozesse
• Regeln
Prozesse,Ereignisse
Cleansing
XML
Melde-T
ool
XMLXML
XML
TransConnect® Server
Routing Mapping
Transport
MetadataRepository
TransConnectManager
Persistence
Format Engine TransactionManagement
EAI - Der TransConnect Server
Online Überwachungstools
Zentrale Konfigurationaller Parameter
SAP I-SU/CRM-Fachdatenmodell
25. Mai 2005 Folie 52
Anschluss-objekt
Anschluss-objekt
Verbrauchs-stelle
Verbrauchs-stelle
Vertrags-Konto
Vertrags-Konto
Zähl-punktZähl-punkt
VertragVertriebVertragVertriebVertrieb
VertragNetz
VertragNetzNetz
Service-anbieter
Netz
Service-anbieter
NetzNetz
Geschäfts-partner
Geschäfts-partner
Service-anbieterVertrieb
Service-anbieterVertriebVertrieb
NetzNetz
Regional-struktur
TechnischeStammdaten
Kaufmännische Stammdaten
Einzug EinzugE
XT
ER
N
AnlegenMutierenBOR-Events für EDM: BORBORBORBOR----ObjektObjektObjektObjektMOVEINDOCMOVEINDOCMOVEINDOCMOVEINDOCMOVEINDOCMOVEINDOCMOVEINDOCMOVEINDOC ISUCONTRCTISUCONTRCTISUCONTRCTISUCONTRCTISUCONTRCTISUCONTRCTISUCONTRCTISUCONTRCT
ISUACCOUNTISUACCOUNTISUACCOUNTISUACCOUNT ISUPARTNERISUPARTNERISUPARTNERISUPARTNER
ISUPODISUPODISUPODISUPODISUGRIDISUGRIDISUGRIDISUGRID
ISUSERPROVISUSERPROVISUSERPROVISUSERPROVISUSERPROVISUSERPROVISUSERPROVISUSERPROV
PREMISESPREMISESPREMISESPREMISESCONNOBJCONNOBJCONNOBJCONNOBJGeräte-
platzGeräte-
platzGeräte-infosatzGeräte-infosatz
AnlageNetz
AnlageNetzNetz
AnlageVertriebAnlageVertriebVertrieb
DEVICEDEVICEDEVICEDEVICEINSTLNINSTLNINSTLNINSTLNINSTLNINSTLNINSTLNINSTLN
DEVLOCDEVLOCDEVLOCDEVLOC
Bsp.: SAP / EDM-Kopplung
ISU_UTILMDALEAUD
Status=18ALEAUD (1)Status=53
VDIS
(1) Automatische Empfangsbestätigung von TransConnect
Verarbeiten von UTILMD-Nachrichten
ZT: msg_received_2_sap.xslt
ZT: utilmd_to_ecount.xslt(DB-Status = 18)
ET: get_error_from_db.xslt
ALEAUD
Fehlerfrei?
ja
nein
ALEAUDStatus=68
Ablegen der Nachricht als EXECUTED
Ablegen der Nachricht als
FAILEDZT: vdis_msg_to_sap.xslt
ISU_UTILMD (5) ISU_UTILMD
Job: getUtilmdDocument (4)(get_utilmd_doc.xml)
(Sätze in DOC auf Status 53 prüfen)
set_status_doc_to_done.xslt
(Status in DOC auf '12' setzen)
ZT: rebuild_utilmd.xslt
ALEAUDALEAUD
Status=53ZT: vdis_msg_to_sap.xslt
ALEAUDZT: set_idoc_finished.xslt
(Status in DOC auf '12' setzen)
ET: set_msg_executed.xslt
Ablegen der Nachricht als EXECUTED
(2) Sämtliche Prozeduren werden in ec_drewag.pkg_prozesse_sap ausgeführt
IDOC in VDIS (3)
(3) Prozess wird separat erklärt
alle 60s überprüfen
ALEAUD12 = Versand OK18 = IDoc von TransConnect empfangen22 = Versand erfolgt, Bestätigung steht aus53 = in SAP: IDoc erfolgreich verarbeitet in VDIS: IDoc versandbereit
(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
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) DataWarehouse-Anwendungen
Claus Jungmann
(Dipl.-Inf.)
Leiter Consulting Industrie
E-Mail: [email protected] GSM: +49 172 79 47004
Robotron Datenbank-Software GmbH Tel.: + 49 351 4021630
Stuttgarter Str.29 Fax.: +49 351 4021699
D-01189 Dresden www.robotro n.de
Vielen Dank für Ihr Interesse