Generische Daten-Service-Dienste mittels Web-Servicesdbst/material/20051123_110_ju… ·  ·...

45
Generische Daten-Service-Dienste mittels Web-Services 110. DB-Stammtisch, HTW Dresden, 23.11.2005 Claus Jungmann

Transcript of Generische Daten-Service-Dienste mittels Web-Servicesdbst/material/20051123_110_ju… ·  ·...

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

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

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

ecount-Import XML Struktur: Element STAMMDATEN

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

SOA – Orchestrierung mit BPEL

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