Anwendungsdesign, das jedes SOA---Suite Projekte zum ... · Anwendungsdesign, das jedes SOA---Suite...
Transcript of Anwendungsdesign, das jedes SOA---Suite Projekte zum ... · Anwendungsdesign, das jedes SOA---Suite...
Anwendungsdesign, das jedes SOAAnwendungsdesign, das jedes SOAAnwendungsdesign, das jedes SOAAnwendungsdesign, das jedes SOA----Suite Projekte zum Suite Projekte zum Suite Projekte zum Suite Projekte zum Erfolg führt!Erfolg führt!Erfolg führt!Erfolg führt!Berthold Maier, Enterprise Architect
The Team: Masons-of-SOA
� Bernd Trops Bernd Trops Bernd Trops Bernd Trops ((((TalendTalendTalendTalend):):):):[email protected]@[email protected]@talend.com
� Clemens UtschigClemens UtschigClemens UtschigClemens Utschig----Utschig (BoehringerUtschig (BoehringerUtschig (BoehringerUtschig (Boehringer----Ingelheim):Ingelheim):Ingelheim):Ingelheim):clemens.utschigclemens.utschigclemens.utschigclemens.utschig----utschig@boehringerutschig@boehringerutschig@boehringerutschig@boehringer----ingelheim.comingelheim.comingelheim.comingelheim.com
� Berthold Berthold Berthold Berthold Maier Maier Maier Maier (T(T(T(T----Systems):Systems):Systems):Systems):[email protected]@[email protected]@t----systems.comsystems.comsystems.comsystems.com
� Hajo Hajo Hajo Hajo Normann Normann Normann Normann (Accenture):(Accenture):(Accenture):(Accenture):[email protected]@[email protected]@[email protected]@[email protected]@accenture.com
� Torsten Winterberg (OPITZ CONSULTING):Torsten Winterberg (OPITZ CONSULTING):Torsten Winterberg (OPITZ CONSULTING):Torsten Winterberg (OPITZ CONSULTING):[email protected]@[email protected]@opitz----consulting.comconsulting.comconsulting.comconsulting.com
� Jürgen Kress (Oracle Corp.)Jürgen Kress (Oracle Corp.)Jürgen Kress (Oracle Corp.)Jürgen Kress (Oracle Corp.)[email protected] [email protected] [email protected] [email protected]
� Guido Schmutz (Guido Schmutz (Guido Schmutz (Guido Schmutz (TrivadisTrivadisTrivadisTrivadis):):):):[email protected]@[email protected]@trivadis.com
� Danilo Schmiedel (OPITZ CONSULTING):Danilo Schmiedel (OPITZ CONSULTING):Danilo Schmiedel (OPITZ CONSULTING):Danilo Schmiedel (OPITZ CONSULTING):[email protected]@[email protected]@opitz----consulting.comconsulting.comconsulting.comconsulting.com
www.soawww.soawww.soawww.soa----community.comcommunity.comcommunity.comcommunity.com
Ausgangssituation - Modelle …
ZuasZuasZuasZuas ())())())())AussteuerungAussteuerungAussteuerungAussteuerung
order IDorder IDorder IDorder ID
ZAS 5.() Order ZAS 5.() Order ZAS 5.() Order ZAS 5.() Order anlageanlageanlageanlageUserUserUserUser
SDFÖLKASL‘DFKAS‘DManagement)
Success?
Businesserror?
“
ZAS 1.19. ZAS 1.19. ZAS 1.19. ZAS 1.19. fdajälsjdfläasjdfsdadffdajälsjdfläasjdfsdadffdajälsjdfläasjdfsdadffdajälsjdfläasjdfsdadf
sonstwassonstwassonstwassonstwasVoIP phone)VoIP phone)VoIP phone)VoIP phone)SD;FKÖ’DSAFK’A’SD’’
device must be deleted.
Sonistger Demo Text deviceAlles nur für die Demosame - but this makes nosense)
[yes]
[no]
[no]
[yes]Order erweiternOrder erweiternOrder erweiternOrder erweitern
Order anlegenOrder anlegenOrder anlegenOrder anlegen
Order ausliefernOrder ausliefernOrder ausliefernOrder ausliefernOrder an Order an Order an Order an
LiferantenLiferantenLiferantenLiferanten
Orderdaten prüfenOrderdaten prüfenOrderdaten prüfenOrderdaten prüfen
Order genehmigenOrder genehmigenOrder genehmigenOrder genehmigen 2484 Prozess-
Diagramme in
ausführbare BPEL
Order Order Order Order abschiessenabschiessenabschiessenabschiessen
End(Businesserror)
End
Continueprocess?
ZAS 1.0.5. ZAS 1.0.5. ZAS 1.0.5. ZAS 1.0.5. Update Satin Update Satin Update Satin Update Satin
Nicht genau definiertNicht genau definiertNicht genau definiertNicht genau definiert
/)dsafß0asdf/)dsafß0asdf/)dsafß0asdf/)dsafß0asdfDelete VoIP Delete VoIP Delete VoIP Delete VoIP
Device in OPSADevice in OPSADevice in OPSADevice in OPSA
device must be deleted. DSFASKFD’SADKFAS’’’’DSASTAPS again)
ZAS 1.0.32. ZAS 1.0.32. ZAS 1.0.32. ZAS 1.0.32. SonstwasSonstwasSonstwasSonstwas
address from ACSaddress from ACSaddress from ACSaddress from ACS
Order mustbe deleted?
zur DemosdafasdfdsaffSdaüpfkasüdpkf#ads+
fllasdzur Demo
Transaction block
Ein Test zur Demonot compensate. Save Error (e.g. in order sdölfasödfdsafdsafand continue with process.
[yes]
[no]
[yes]
[no]
ausführbare BPEL
Prozesse überführen!
Quantitative Projektdarstellung …
� 41 41 41 41 Geschäftsprozesse Geschäftsprozesse Geschäftsprozesse Geschäftsprozesse
� 113 113 113 113 Schnittstellen Schnittstellen Schnittstellen Schnittstellen ---- WSDLWSDLWSDLWSDL
� 5778 5778 5778 5778 Service Operationen (1200 synchron)Service Operationen (1200 synchron)Service Operationen (1200 synchron)Service Operationen (1200 synchron)
� 15200 15200 15200 15200 ServiceServiceServiceService----AufrufeAufrufeAufrufeAufrufe
� 1111----276 276 276 276 Wiederverwendungen je Serviceoperation Wiederverwendungen je Serviceoperation Wiederverwendungen je Serviceoperation Wiederverwendungen je Serviceoperation
� 35 35 35 35 SCA SCA SCA SCA ---- Service Composites Service Composites Service Composites Service Composites AssembliesAssembliesAssembliesAssemblies
� 960 960 960 960 Prozesse in BPELProzesse in BPELProzesse in BPELProzesse in BPEL
� 3500 3500 3500 3500 Systemtestfälle Systemtestfälle Systemtestfälle Systemtestfälle
� 4000 4000 4000 4000 UnitUnitUnitUnit----TestsTestsTestsTests
� 350 350 350 350 BOM Datenobjekte (XSD BOM Datenobjekte (XSD BOM Datenobjekte (XSD BOM Datenobjekte (XSD ComplexTypesComplexTypesComplexTypesComplexTypes) ) ) )
� 6248 6248 6248 6248 Servicenachrichten aus BOM (XSD Servicenachrichten aus BOM (XSD Servicenachrichten aus BOM (XSD Servicenachrichten aus BOM (XSD ComplexTypesComplexTypesComplexTypesComplexTypes))))
� 30GB/Tag30GB/Tag30GB/Tag30GB/Tag BPEL BPEL BPEL BPEL InstanzzuwachsInstanzzuwachsInstanzzuwachsInstanzzuwachs im Dehydrationim Dehydrationim Dehydrationim Dehydration----StoreStoreStoreStore
19.02.2013 4
Notwendige Konzepte vor dem Start …
BussinessModel 2
ExecutionTest DrivenDevelopment
Fehler-Management
SOA Design-Pattern
Wiederverwendung
GUI -Integration
Property Management
DevOps -Betreib und
Wartung
19.02.2013 5
Metadaten Management
Validierung
ESB/OSB
BuildManagement
Prozess / Update und
Migration
Systemumgebung + HA
Purging
Umsetzung in BPEL Prozesse: So nicht …
… deutet auf viele Varianten hin. Geht das?
… ist
6
t orchestrierend
DesignentscheidungenDesignentscheidungen
Organisation der Entwicklung und Wiederverwendung im Einklang!Organisation der Entwicklung und Wiederverwendung im Einklang!Organisation der Entwicklung und Wiederverwendung im Einklang!Organisation der Entwicklung und Wiederverwendung im Einklang!
Add f irst manager to Add f irst manager to Add f irst manager to Add f irst manager to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
Add f irst assistant to Add f irst assistant to Add f irst assistant to Add f irst assistant to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
C onnect fir st manager C onnect fir st manager C onnect fir st manager C onnect fir st manager
w i th first assistant in the w i th first assistant in the w i th first assistant in the w i th first assistant in the
gr oupgr oupgr oupgr oup
Success?
Success?
Start
C r eate C r eate C r eate C r eate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
[no]
[yes]
[no]
[yes]
[no]
[yes]
[no]
Add f irst manager to Add f irst manager to Add f irst manager to Add f irst manager to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
Add f irst assistant to Add f irst assistant to Add f irst assistant to Add f irst assistant to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
C onnect fir st manager C onnect fir st manager C onnect fir st manager C onnect fir st manager
w i th first assistant in the w i th first assistant in the w i th first assistant in the w i th first assistant in the
gr oupgr oupgr oupgr oup
Success?
Success?
Start
C r eate C r eate C r eate C r eate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
[no]
[yes]
[no]
[yes]
[no]
[yes]
[no]
Add f irst manager to Add f irst manager to Add f irst manager to Add f irst manager to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
Add f irst assistant to Add f irst assistant to Add f irst assistant to Add f irst assistant to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
C onnect fir st manager C onnect fir st manager C onnect fir st manager C onnect fir st manager
w i th first assistant in the w i th first assistant in the w i th first assistant in the w i th first assistant in the
gr oupgr oupgr oupgr oup
Success?
Success?
Start
C r eate C r eate C r eate C r eate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
[no]
[yes]
[no]
[yes]
[no]
[yes]
[no]
Teilprozess A ●●●●●●●● ●●●●●●●●❡❡❡❡❡❡❡❡
8
Prozess 1Prozess 1Prozess 1Prozess 1
C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant
w i th first manager in the w i th first manager in the w i th first manager in the w i th first manager in the
gr oupgr oupgr oupgr oup
U pdate InventoryU pdate InventoryU pdate InventoryU pdate Inventory
U pdate U pdate U pdate U pdate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
End
(Ok)
End (Internal error)
[yes]
[no]
[yes]
[no]
[yes]
[no]
C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant
w i th first manager in the w i th first manager in the w i th first manager in the w i th first manager in the
gr oupgr oupgr oupgr oup
U pdate InventoryU pdate InventoryU pdate InventoryU pdate Inventory
U pdate U pdate U pdate U pdate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
End
(Ok)
End (Internal error)
[yes]
[no]
[yes]
[no]
[yes]
[no]
C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant
w i th first manager in the w i th first manager in the w i th first manager in the w i th first manager in the
gr oupgr oupgr oupgr oup
U pdate InventoryU pdate InventoryU pdate InventoryU pdate Inventory
U pdate U pdate U pdate U pdate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
End
(Ok)
End (Internal error)
[yes]
[no]
[yes]
[no]
[yes]
[no]
Teilprozess B
Teilprozess C
Teilprozess X
Prozess 2Prozess 2Prozess 2Prozess 2 Prozess 3Prozess 3Prozess 3Prozess 3
●●●●●●●●
❡❡❡❡❡❡❡❡
●●●●●●●●
❡❡❡❡❡❡❡❡
❡❡❡❡❡❡❡❡
●●●●●●●●
●●●●●●●●
❡❡❡❡❡❡❡❡
❡❡❡❡❡❡❡❡
Merhstufiges Modell erlaubt hohe Wiederverwendung durch Rekombination der BPEL-Prozesse
ProzessProzessProzessProzess
Technische & fachliche Validierung
Durchführbarkeit und Korrektheit des Auftrags prüfen
Fachliche ProzessierungOrchestrierung und
PhasePhasePhasePhase ProzessschrittProzessschrittProzessschrittProzessschritt
(BLW_004)Kundenauftrag gegen Rahmenv ertrag prüfen
Start
(3)Prüfen, ob das Produkt,
d.h. die Materialnummernrahmenvertragskonform
sind
(1)Prüfen, ob der
Eingangskanal zulässigist
(2)Prüfen, ob
Rahmenv ertragsprüfungumgangen w ird
[OK]
[OK]
[nicht zulässig]
[Materialnummernnicht konform]
[GF = Leistungssperre]
Jede Phase stellt einen orchestrieren Teilprozess
als SOA-Service dar Jeder Prozessschritt als wiederverwendbarer SOA
Service
Reine fachliche Orchestrierung von
SOA Service
1
2
3
Hilfsservice als wiederverwendbare SOA
Service
4
19.01.2009
Quelle: Michael Mehl, T-Systems
9
Orchestrierung und Aussteuerung des Auftrags in betroffene Zielsysteme
AbschlussAnpassung/Aktualisierung Bestandssysteme
AusnahmebehandlungOK
Abweisung
(6)Prüfen, ob eine BKTO im
Auftrag v orhanden ist
(7a)Prüfen, ob die BKTO Teildes Rahmenv ertrags ist
(7b)BKTO aus demRahmenv ertrag
auswählen und imWitaAuftrag speichern
(4)Prüfen, ob der
Geschäftsfall in Bezug aufdas Produkt zulässig ist
(5)Prüfen, ob der
Kundenwunschtermin imv ereinbarten Zeitrahmen
liegt
(8)Prüfen, ob der
Kollokationsraumrahmenvertragskonform
ist
(9)Zusatzvereinbarungen
prüfen
(10)Planungsabsprachen
prüfen
[OK]
[OK]
[BKTO nichtermi ttelbar]
[OK]
[OK]
[OK]
[OK]
[BKTO nichtvorhanden & nur GFEB, RCW, STO]
[BKTOvorhanden]
[OK]
[KWT nicht imZei trahmen]
[Nicht OK]
[nicht OK]
[Geschäftsfall für Produktnicht zulässig]
[BKTO nicht imRahmenvertrag]
[nicht konform]
[GF KUE,LAE, LAFP,LS ohneBKTO]
Service
AusnahmebehandlungOK
Abweisung
(6)Prüfen, ob eine BKTO im
Auftrag vorhanden ist
(7a)Prüfen, ob die BKTO Teildes Rahmenvertrags ist
(7b)BKTO aus demRahmenvertrag
auswählen und imWitaAuftrag speichern
vereinbarten Zeitrahmenliegt
(8)Prüfen, ob der
Kollokationsraumrahmenvertragskonform
ist
(9)Zusatzvereinbarungen
prüfen
(10)Planungsabsprachen
prüfen
[OK]
[OK]
[BKTO nichtermittelbar]
[OK]
[OK]
[BKTO nichtvorhanden & nur GFEB, RCW, STO]
[BKTOvorhanden]
[OK]
[Nicht OK]
[nicht OK]
[BKTO nicht imRahmenvertrag]
[nicht konform]
[GF KUE,LAE, LAFP,LS ohneBKTO]
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/Async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»
Backend Service
«system»
Siemens
«system»
Avaya
«system»
other «external system»
TAX
«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
ProcessPhase
ProcessPhase
ProcessPhase
ProzessProzessProzessProzess
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»Backend Service
«system»
Siemens
«system»
SAP
«system»
other«external system»
TAX«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
Process Step Process Step Process StepProcess Step
Adaption Adaption Adaption Adaption Adaption
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
Prozess
BPSBPSBPSBPS
BASBASBASBAS
BDSBDSBDSBDS
Gib dem Gib dem Gib dem Gib dem „Kind“ „Kind“ „Kind“ „Kind“ einen Namen einen Namen einen Namen einen Namen …………
Manifestieren Manifestieren Manifestieren Manifestieren der Architektur der Architektur der Architektur der Architektur ----Prinzipien Prinzipien Prinzipien Prinzipien • ProjektspracheProjektspracheProjektspracheProjektsprache• ProjektstrukturProjektstrukturProjektstrukturProjektstruktur• DeploymentstrukturDeploymentstrukturDeploymentstrukturDeploymentstruktur• TestmoduleTestmoduleTestmoduleTestmodule
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»Backend Service
«system»
Siemens
«system» «system»
other«external system»
TAX«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
ProcessStep
ProcessStep
ProcessStep
ProcessStep
Adaption Adaption Adaption Adaption Adaption
BASBASBASBAS
BCSBCSBCSBCSBSSBSSBSSBSS
BESBESBESBES
SAP
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»Backend Service
«system»
Siemens
«system»
Avaya
«system»
other«external system»
TAX«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
Komponenten- und Domänenschnitt
Order Order Order Order MediatorMediatorMediatorMediator
<<Mediator Component>>
OrderOrderOrderOrderFulfillmentFulfillmentFulfillmentFulfillment
ShipmentShipmentShipmentShipment
Create OrderCreate OrderCreate OrderCreate Order
<<BPEL Component>> OrderOrderOrderOrder
OrderStatusOrderStatusOrderStatusOrderStatus
ShipOrderShipOrderShipOrderShipOrder
<<BPEL Component>>
<<BPEL Component>>
WSDLWSDLWSDLWSDL
1..n1..n1..n1..n
OrderValidationOrderValidationOrderValidationOrderValidation
Approval Approval Approval Approval
<<HumanTaskComponent>>
CreditValidatingCreditValidatingCreditValidatingCreditValidating
FullfilmentFullfilmentFullfilmentFullfilment
ShipmentShipmentShipmentShipment
LoggingLoggingLoggingLogging
Select Select Select Select ManufacturerManufacturerManufacturerManufacturer
<<BPEL Component>>
<<Spring Component>>
OASIS ervice Component Architecture (SCA) Tutorial : Part 2 Mike Edwards – IBM , Anish Karmarkar – Oracle, Jim Marino – BEA
SOAPRMIJavaJMS
SOAPRMIJavaJMS
1..n1..n1..n1..n
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
BPSBPSBPSBPS
BASBASBASBAS
BDSBDSBDSBDS
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»Backend Service
«system»
Siemens
«system»
Avaya
«system»
other«external system»
TAX«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
BASBASBASBAS
BCSBCSBCSBCS
BSSBSSBSSBSS
BESBESBESBES
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
LoggingBSSBSSBSSBSS
Trennen der Querschnittsaspektevom fachlichen Code …
• Eigenständige Komponenten
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»Backend Service
«system»
Siemens
«system»
Avaya
«system»
other«external system»
TAX«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
Configuration
Serialization
Coordination
Querschnittsaspekte –Policies für Logging, Faultmanagment und Security
confidentiality
<PolicySetPolicySetPolicySetPolicySet>
@provides=“confidentiality,
BindingBindingBindingBinding
CompositeCompositeCompositeComposite
ComponentComponentComponentComponentserviceserviceserviceservice referencereferencereferencereference
Web ServicesWeb ServicesWeb ServicesWeb Services
JCAJCAJCAJCA
JMSJMSJMSJMS
…………
intentsintentsintentsintents
IntentsIntentsIntentsIntents
Interaction Interaction Interaction Interaction PolicyPolicyPolicyPolicy
Interaction Interaction Interaction Interaction PolicyPolicyPolicyPolicy
Implementation Implementation Implementation Implementation PolicyPolicyPolicyPolicy
IntentsIntentsIntentsIntents
IntentsIntentsIntentsIntents
confidentiality
integrity
exactlyOnce
@provides=“confidentiality,integrity,exactlyOnce”
Policies
locate
WS-Policy
@Bindings=“WebServices”
● Querschnittsaspekte wie Security, Fehlerlogging, Retry, etc. sollte immer als Aspekte behandelt werden und per Policies an die Komponenten dekoriert werden
OASIS ervice Component Architecture (SCA) Tutorial : Part 2 Mike Edwards – IBM , Anish Karmarkar – Oracle, Jim Marino – BEA
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Interaction
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
BPSBPSBPSBPS
BASBASBASBAS
BDSBDSBDSBDS
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»Backend Service
«system»
Siemens
«system»
Avaya
«system»
other«external system»
TAX«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
CompositeCompositeCompositeComposite
ComponentComponentComponentComponent referencereferencereferencereferenceserviceserviceserviceservice
BASBASBASBAS
BCSBCSBCSBCS
BSSBSSBSSBSS
BESBESBESBES
CDM
BCS = Service-AdaptionStandardized Service Definitions across Applications
3rd Party
GetVertrag
Service Adapter
Business Aktivity Service
GetVertrag
• Service-Composition bzw. Routing der erforderlichen Low-Level Service
• Maximale lose Kopplung durch Transformation der System Daten, Sicherheit, Protokoll
CDM CDM
GetVertrag
Service Adapter
3rd Party
GetVertrag
ServiceAT AT AT
A
LogicalAdapter
Service Adapter
• Hidden Backend – Integration / Interoperation mit Backend Systemen
• Gekapselte interne Nutzung der technischen Adapter3rd
IMS
Adapter ServiceAT AT AT
Oracle, TIBCO, SAP, …
Adapter
3rd CRM
3rd SAP
Architekturentscheidungen: KopplungsgradArchitekturentscheidungen: Kopplungsgrad
VerfügbarkeitVerfügbarkeitVerfügbarkeitVerfügbarkeit
LaufzeitLaufzeitLaufzeitLaufzeit
19.02.2013 20
eng eng eng eng ---- syncsyncsyncsync lose lose lose lose ---- asyncasyncasyncasyncKopplungsgradKopplungsgradKopplungsgradKopplungsgrad
LaufzeitLaufzeitLaufzeitLaufzeit
EinflußnahmeEinflußnahmeEinflußnahmeEinflußnahme
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Frontend tier
Integrationtier
«schema»
Business data
Sync/Async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
BDS BDS BDS BDS ---- SyncSyncSyncSyncBDS BDS BDS BDS ---- SyncSyncSyncSync
BPSBPSBPSBPSBPSBPSBPSBPSSyncSyncSyncSync////AsyncAsyncAsyncAsync
MMMMessage EEEExchange PPPPattern
• Vorzugsweise async. bei Prozessen• Kategorieabhängig• Sync/Async Pattern für
Interaktionskomponenten Hier keine asynchrone Aktivitäten • Pick • Receive• Wait
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»
Backend Service
«system»
Siemens
«system»
Avaya
«system»
other «external system»
TAX
«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
BAS BAS BAS BAS ---- AsyncAsyncAsyncAsyncBAS BAS BAS BAS ---- AsyncAsyncAsyncAsync
BCSBCSBCSBCS---- AsyncAsyncAsyncAsyncBCSBCSBCSBCS---- AsyncAsyncAsyncAsyncBSS BSS BSS BSS ---- AsyncAsyncAsyncAsyncBSS BSS BSS BSS ---- AsyncAsyncAsyncAsync
BES BES BES BES ---- SyncSyncSyncSyncBES BES BES BES ---- SyncSyncSyncSync
Daten, Nachrichten, Typen, Entitäten usw. in der SOADaten, Nachrichten, Typen, Entitäten usw. in der SOA
Modelle und Sprachen
KlasseKlasse
KlasseKlasse KlasseKlasse KlasseKlasseKlasseKlasse
BOM / CDMBOM / CDMBOM / CDMBOM / CDM
KlasseKlasse
KlasseKlasseSOM SOM SOM SOM 1111
KlasseKlasse
SOM 2SOM 2SOM 2SOM 2
KlasseKlasse
SOM 3SOM 3SOM 3SOM 3KlasseKlasse
KlasseKlasse
SOM 4SOM 4SOM 4SOM 4
19.01.2009Quelle: Michael Mehl, T-Systems 23
System 2System 2System 2System 2DomäneDomäneDomäneDomäne / System / System / System / System 2222System 1System 1System 1System 1DomäneDomäneDomäneDomäne / System / System / System / System 1111
Service 1 Service 2 Service 3 Service 4Projekt (xxx)
SchnittstelleSchnittstelleSchnittstelleSchnittstelle AAAA
KlasseKlasse
KlasseKlasse KlasseKlasse
KlasseKlasse
ASBO 1ASBO 1ASBO 1ASBO 1 ASBO 2ASBO 2ASBO 2ASBO 2AdapterAdapterAdapterAdapter
MappingMapping
Common Data Model (CDM) & Service Data Model
� In der lokalen Prozessdomäne wird eine stabiles Kommunikations- und Objektmodell aufgebaut
� Verlinken mit semantischem Fachmodell erfolgt per XML-Annotation
� Generierung der feingranularen XML, Java etc. Artefakten aus den UML Modellen
� Domänenübergreifend wird eine Kopplung über den BCS Adapter (Transformation bez. Lifecyclemanagment) hergestellt
� Nachrichten = Komposition aus Basisobjekten und BasisStrukturen
� Nachrichten tauschen Referenzen (ID‘s) aus und transiente Prozess-Informationen. Der Zustand eines atomaren Services wird immer in den Backendsystemen gehalten.
Service-Kommunikation
AktivitätsserviceAktivitätsservice
VertragskündigungVertragskündigungVertragskündigungVertragskündigung
nehme Grunddaten nehme Grunddaten nehme Grunddaten nehme Grunddaten neu aufneu aufneu aufneu auf
eeeeuuuueeeerrrrnnnnuuuummmmmmmmeeeerrrr
nnnneeeeuuuu
aaaauuuuffff
nnnneeeehhhhmmmmeeee
SSSStttteeeeuuuueeeerrrrnnnnuuuummmmmmmmeeeerrrr
nnnneeeeuuuu
aaaauuuuffff
vergebe vergebe vergebe vergebe
SteuernummerSteuernummerSteuernummerSteuernummer
NachrichtNachrichtNachrichtNachrichtKopfKopfKopfKopf
Referenzdaten (Schlüssel)Referenzdaten (Schlüssel)Referenzdaten (Schlüssel)Referenzdaten (Schlüssel)
Transiente DatenTransiente DatenTransiente DatenTransiente Daten
1 2 3
BDSBDSBDSBDS BDSBDSBDSBDS
VertragVertrag
Vertrag
Service- und Datenmodellstruktur
sd listLineFeatures
Inventory
Subscriber
(from BUC 1.18
BPS PhoneServiceBAS CUCMAdapter
selectMenuCfb()
l istLineFeatures(ListLineFeaturesType) :ListLineFeaturesResponseType
class CCLibrary temp
«ACC»Line
«BCC»+ Id :Identifier
«ACC»SpeedDial
«BCC»+ Label :Name+ Target :SimplePhoneNumber
«ACC»Dev ice
«BCC»+ IpAddress :Value
Phone Services)+ Id :Identifier+ Number :SimplePhoneNumber
«ACC»PhoneProfile
«BCC»+ Id :Identifier+ Pin :Value+ CallWaiting :State+ PinLock :State
«ABIE»BIELibrary::
Qualified_Phone
«BBIE»+ Id :Identifier
«ABIE»BIELibrary::Id_Phone
«BBIE»+ DeviceName :Text+ Id :Identifier
+ Target :SimplePhoneNumber+ Index :Numeric
«ABIE»BIELibrary::Pin_Phone
«BBIE»+ Id :Identifier+ Pin :Text+ DeviceName :Text
«ACC»BIELibrary::
Pinlock_Phone
«BCC»+ Id :Identifier+ DeviceName :Text+ PinLock :State
«ABIE»BIELibrary::Simple_Phone
«BBIE»+ Id :Identifier+ IpAddress :Text+ Pin :Text+ DeviceName :Text+ CallForwarding :State+ PinLock :State
+ IpAddress :Value+ DeviceName :Value+ Id :Identifier
«basedOn»
+basedOn 0..1
«basedOn»
+basedOn
0..1
«ASCC»
0..*
«ASCC»
0..*
«basedOn» «basedOn»
«ASCC»
«basedOn»
SOA Hierarchical View
«service bus»
Service Components
SOAPHTTP/XMLRMI
Business Process Engine
Persistence
SOAP
Process
Subprocess (optional)
Frontend tier
Integrationtier
«schema»
Business data
Sync/async
JPA
«guilogic»
Rich Client
MobilePhone
Web Dashboard
´Native System Interfaces Business Applications
Step Step Step
«service bus»
«service facade»
Backend Service
«system»
Siemens
«system»
Avaya
«system»
other «external system»
TAX
«external system»
other
«adap... «adap... «adap... «adap... «adap...
Step
Integrationtier
Backend tier
«schema»Process data
«instance»
dehyd. store
FehlermanagmentFehlermanagment
01.04.2010B. Rederlechner / Bundesanstalt für Arbeit, März 2011 27
Der LeitstandDer LeitstandDer LeitstandDer Leitstand
Fehlermanagement in BPEL
� AsynchronitätAsynchronitätAsynchronitätAsynchronität erfordert zusätzliche Konzepteerfordert zusätzliche Konzepteerfordert zusätzliche Konzepteerfordert zusätzliche Konzepte
� MediatorMediatorMediatorMediator---- Funktioniert nichtFunktioniert nichtFunktioniert nichtFunktioniert nicht
� Konzept für Konzept für Konzept für Konzept für ReceiveReceiveReceiveReceive
� Propagieren des Fehler durch mehrere Schichten Propagieren des Fehler durch mehrere Schichten Propagieren des Fehler durch mehrere Schichten Propagieren des Fehler durch mehrere Schichten
� FaultFaultFaultFault----PolicyPolicyPolicyPolicy----Framework kann nicht verwendet werden Framework kann nicht verwendet werden Framework kann nicht verwendet werden Framework kann nicht verwendet werden
� End2End End2End End2End End2End LoggingLoggingLoggingLogging (von GUI bis in die DB) (von GUI bis in die DB) (von GUI bis in die DB) (von GUI bis in die DB) Meldung an Meldung an Meldung an Meldung an
� BPEL Designvorlagen und Basisimplementierung notwendigBPEL Designvorlagen und Basisimplementierung notwendigBPEL Designvorlagen und Basisimplementierung notwendigBPEL Designvorlagen und Basisimplementierung notwendig� BPEL Designvorlagen und Basisimplementierung notwendigBPEL Designvorlagen und Basisimplementierung notwendigBPEL Designvorlagen und Basisimplementierung notwendigBPEL Designvorlagen und Basisimplementierung notwendig
� Kapseln und weiterreichen Kapseln und weiterreichen Kapseln und weiterreichen Kapseln und weiterreichen
� Erwartete Fehler = <Business>FaultBusiness>FaultBusiness>FaultBusiness>Fault
� Unerwartete Fehler = UnexpectedFaultUnexpectedFaultUnexpectedFaultUnexpectedFault
� ExceptionsExceptionsExceptionsExceptions automatisiert durch die BPELautomatisiert durch die BPELautomatisiert durch die BPELautomatisiert durch die BPEL----Ebenen zu tragenEbenen zu tragenEbenen zu tragenEbenen zu tragen
� Muss jede Muss jede Muss jede Muss jede Schnittstelle Schnittstelle Schnittstelle Schnittstelle WSDLWSDLWSDLWSDL----Fault Fault Fault Fault unexpectedFault mit dem mit dem mit dem mit dem MessagetypMessagetypMessagetypMessagetyp NgxFaultMsg definierendefinierendefinierendefinieren
� Jeder BusinessFault Jeder BusinessFault Jeder BusinessFault Jeder BusinessFault muss den muss den muss den muss den MessagetypMessagetypMessagetypMessagetyp NgxFaultMsg implementieren implementieren implementieren implementieren
� Jeder BusinessFault eine WSDLJeder BusinessFault eine WSDLJeder BusinessFault eine WSDLJeder BusinessFault eine WSDL----Fault Fault Fault Fault mit dem zugehörigen mit dem zugehörigen mit dem zugehörigen mit dem zugehörigen MessagetypMessagetypMessagetypMessagetyp haben.haben.haben.haben.
� z.B. z.B. z.B. z.B. CustomerNotFoundErrorCustomerNotFoundErrorCustomerNotFoundErrorCustomerNotFoundError ------------ > > > > CustomerNotFoundErrorMsgCustomerNotFoundErrorMsgCustomerNotFoundErrorMsgCustomerNotFoundErrorMsg extendsextendsextendsextends UNFaultMsg
Fehlermanagement in BPEL bei asynchronen Nachrichten
AsynchronSynchron
Transaktion & Kompensation
� Läuft rückwärts im Prozess
� bis zum Start – nur BPEL intern
� bis ein manueller Eingriff erfolge
� Korrekte Catch & Comensate notwendig
� Bei asynchron FaultOperation
� Fehler inerhalb Compensate-Handler � Fehler inerhalb Compensate-Handler bricht ab Execution ab – Lost Instances!
� Technische 2PC TX
� Manchmal Erforderlich –EJB/Java Binding
� Ausnutzung der Engine-Eigenschaften
� Erfordert interne Threading-Kenntnisse
Fehlermanagement in BPELErrorhandlingErrorhandlingErrorhandlingErrorhandling----DatenstrukturenDatenstrukturenDatenstrukturenDatenstrukturen
<xs:complexType name="NgxFaultNgxFaultNgxFaultNgxFault"><xs:sequence>
<xs:element name=„name" type="xs:string" minOccurs="1" maxOccurs="1"/><xs:element name="code" type="xs:string" minOccurs="1" maxOccurs="1“/><xs:element name=„categorycategorycategorycategory" type="bie:NgxCategorybie:NgxCategorybie:NgxCategorybie:NgxCategory" minOccurs="0" maxOccurs="1"/><xs:element name="message" type="xs:string" minOccurs="1" maxOccurs="1“/><xs:element name="timestamp" type="xs:dateTime" minOccurs="0" maxOccurs="1“/><xs:element name="extrainfo" type="xs:string" minOccurs="0" maxOccurs="1"/><xs:element name="causecausecausecause" type="bie:NgxFaultbie:NgxFaultbie:NgxFaultbie:NgxFault" minOccurs="0" maxOccurs="unbounded"/><xs:element name="causecausecausecause" type="bie:NgxFaultbie:NgxFaultbie:NgxFaultbie:NgxFault" minOccurs="0" maxOccurs="unbounded"/><xs:element name="context" type="bie:NgxFaultContext" minOccurs="0" maxOccurs="1"/>
<xs:element name="parameter" type="bie:NgxParameter" minOccurs=" maxOccurs="unbounded“/></xs:sequence>
</xs:complexType>
02.05.201232
<xs:simpleType name=„NgxCategoryNgxCategoryNgxCategoryNgxCategory"><xs:restriction base="xs:string"><xs:enumeration value="ObjectNotFound"/><xs:enumeration value="DataInconsistence"/><xs:enumeration value=„SecurityIssue"/><xs:enumeration value="UnknownFault"/><xs:enumeration value="VersioningConflict"/><xs:enumeration value="ValidationFailed"/>
Fehlermanagement in BPELFault-Datenstruktur
� Wichtige ElementeWichtige ElementeWichtige ElementeWichtige Elemente
� causecausecausecause ���� Abbildung von Fehlerhierarien (Abbildung von Fehlerhierarien (Abbildung von Fehlerhierarien (Abbildung von Fehlerhierarien (StacktraceStacktraceStacktraceStacktrace))))���� Abbildung von FehlerlistenAbbildung von FehlerlistenAbbildung von FehlerlistenAbbildung von Fehlerlisten
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
Succ
ess?
Succ
ess?
Succ
ess?
Succ
ess?
Succ
ess?
Succ
ess?
[yes
]
[yes
]
[yes
]
[yes
]
[yes
]
[yes
]
NgxFaultNgxFaultNgxFaultNgxFaultcause
cause
cause
cause
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
NgxFaultNgxFaultNgxFaultNgxFaultcause
Liste von Fehlern
Add f irst manager to Add f irst manager to Add f irst manager to Add f irst manager to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
Add f irst assistant to Add f irst assistant to Add f irst assistant to Add f irst assistant to
manager/assistant groupmanager/assistant groupmanager/assistant groupmanager/assistant group
C onnect fir st manager C onnect fir st manager C onnect fir st manager C onnect fir st manager
w i th first assistant in the w i th first assistant in the w i th first assistant in the w i th first assistant in the
gr oupgr oupgr oupgr oup
C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant C onnect fir st assis tant
w i th first manager in the w i th first manager in the w i th first manager in the w i th first manager in the
gr oupgr oupgr oupgr oup
U pdate InventoryU pdate InventoryU pdate InventoryU pdate Inventory
U pdate U pdate U pdate U pdate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
C r eate C r eate C r eate C r eate
manager/assistant group manager/assistant group manager/assistant group manager/assistant group
i n C U CMi n C U CMi n C U CMi n C U CM
Success?
Success?
[no]
[yes]
[yes]
[no]
[yes]
[no]
[yes]
[no]
[yes]
[no]
[yes]
[no]
Add
firs
t man
ager
to
Add
firs
t man
ager
to
Add
firs
t man
ager
to
Add
firs
t man
ager
to
man
ager
/ass
ista
nt g
roup
man
ager
/ass
ista
nt g
roup
man
ager
/ass
ista
nt g
roup
man
ager
/ass
ista
nt g
roup
Add
firs
t ass
ista
nt to
A
dd fi
rst a
ssis
tant
to
Add
firs
t ass
ista
nt to
A
dd fi
rst a
ssis
tant
to
man
ager
/ass
ista
nt g
roup
man
ager
/ass
ista
nt g
roup
man
ager
/ass
ista
nt g
roup
man
ager
/ass
ista
nt g
roup
Con
nect
firs
t man
ager
C
onne
ct fi
rst m
anag
er
Con
nect
firs
t man
ager
C
onne
ct fi
rst m
anag
er
wit
h fir
st a
ssis
tant
in th
e w
ith
first
ass
ista
nt in
the
wit
h fir
st a
ssis
tant
in th
e w
ith
first
ass
ista
nt in
the
grou
pgr
oup
grou
pgr
oup
Con
nect
firs
t ass
ista
nt
Con
nect
firs
t ass
ista
nt
Con
nect
firs
t ass
ista
nt
Con
nect
firs
t ass
ista
nt
wit
h fir
st m
anag
er in
the
wit
h fir
st m
anag
er in
the
wit
h fir
st m
anag
er in
the
wit
h fir
st m
anag
er in
the
grou
pgr
oup
grou
pgr
oup
Upd
ate
Inve
ntor
yU
pdat
e In
vent
ory
Upd
ate
Inve
ntor
yU
pdat
e In
vent
ory
Upd
ate
Upd
ate
Upd
ate
Upd
ate
man
ager
/ass
ista
nt g
roup
m
anag
er/a
ssis
tant
gro
up
man
ager
/ass
ista
nt g
roup
m
anag
er/a
ssis
tant
gro
up
in C
UC
Min
CU
CM
in C
UC
Min
CU
CMSu
cces
s?
Succ
ess?
Succ
ess?
Succ
ess?
End
(Ok)
Star
t
Cre
ate
Cre
ate
Cre
ate
Cre
ate
man
ager
/ass
ista
nt g
roup
m
anag
er/a
ssis
tant
gro
up
man
ager
/ass
ista
nt g
roup
m
anag
er/a
ssis
tant
gro
up
in C
UC
Min
CU
CM
in C
UC
Min
CU
CM Su
cces
s?
Succ
ess?
[no]
[yes
]
[yes
]
[no]
[yes
]
[no]
[yes
]
[no]
[yes
]
[no]
[yes
]
[no]
Development …Development …
19.02.2013 34
Test-Driven-Development in BPEL mit RPD
Debug User Interfaces:
HTML / AjaxText Text
RPD Mini-Server
TextX
B
Copyright Copyright Copyright Copyright People@WorksPeople@WorksPeople@WorksPeople@Works –––– Holger StratmannHolger StratmannHolger StratmannHolger Stratmann
19.02.2013 35
XG
–X
ML
Generator
BEE –BPEL Emulation Engine
RPD Mini-Server
XB
–X
ML B
uilder
People@Works – Holger Stratmann
19.02.2013 36
Generierung, ein wichtiger ErfolgsfaktorGenerierung, ein wichtiger Erfolgsfaktor
19.02.2013 37
MDA/MDSD als Erfolgsgarant
� MDA Generatoren
� Einhaltung der Architekturrichtlinien
� Für alle statischen Aspekte
� Keine XSD oder WSDL sollte gebaut werden
� Zentrale Ablage der Metadaten und dessen Referenzierung
� Ablage in der SOA Suite in einem eigenen MDS Projekt� Ablage in der SOA Suite in einem eigenen MDS Projekt
� Kein kopieren einer Ressource (WSDL/XSD, Policies, etc)
� Generierung der Struktur durch Vorlagen
Architekturvorgaben und WSDL ….
Lösung zur Einheitlichen Umsetzung: Lösung zur Einheitlichen Umsetzung: Lösung zur Einheitlichen Umsetzung: Lösung zur Einheitlichen Umsetzung: Einsatz eines Generators (Einsatz eines Generators (Einsatz eines Generators (Einsatz eines Generators (egegegeg. . . . oAWoAWoAWoAW))))
• Statische Artefakte können generiert werden
• Dynamsiche Anwendungsteile mit Einschränkungen …
UML … DSLUML … DSLUML … DSLUML … DSL BPELBPELBPELBPEL GerüstGerüstGerüstGerüst
Systemarchitektur und HochverfügbarkeitSystemarchitektur und Hochverfügbarkeit
Cluster …
Prozessausführung …
Endpointmanagment …
Geo Redundanz
19.02.2013 41
Berlin
Stuttgart
Geo Redundanz
Deployment …
Prozess Storage …
ESB Queuing …
Berthold MaierEnterprise Architect
T-Systems Systems Integration, Architecture
Dachauerstraße 651, 80995 München
Mobil: +49 171 3077198
E-Mail: [email protected]
Hausanschrift
Telekontakte
Vielen Dank für Ihre Aufmerksamkeit!