challenges in modeldriven soa development - imm.dtu…eki/pdf/ccmbse_workshop_soa.pdf · © 2009...
TRANSCRIPT
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 1
© Copyright 2009 Netcompany A/S. Alle rettigheder forbeholdes.
Elektronisk, mekanisk, fotografisk eller anden gengivelse, oversættelse eller kopiering af dette dokument eller dele deraf er, uanset formål, ikke tilladt uden forudgående skriftlig tilladelse fra Netcompany A/S.
Workshop
Challenges in model driven SOA/BPM development
København den 17. April 2009
Version: 1.0Forfatter: Jack Ekman
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 2
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 3
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 4
Personal introduction
Personal info• Jack Kaare Ekman• 35• Cand.IT and HD
Background• Currently working as EA- and SOA architect large financial organization
• Has worked the last 4 years as SOA and process architect in SOA projects in the financial sector.
• Manager in Netcompany
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 5
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 6
Setting the context
Today an successful organization must have
Effective processes and the ability to change are two very important competitive advantages.
Think about - mobile companies, - shipping companies - banks!
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 7
Setting the context
So why are organizations looking into SOA?
- To gain overview of what they have - Processes, applications, integrations, infrastructure
- To become more flexible, meaning…- Being able to respond to change in the market- To be able to continuous optimization of business processes
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 8
Setting the context
How are organizations working with SOA?
Organizations use models to- Gain overview (AS-IS models)- Set goals for the future (TO-BE models)- Ensure an common understanding of the domain - Ensure precise communication within the organization Examples of models - Domain models- Infrastructure models - Application models - Business process models
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 9
Setting the context
Today an successful organization must be able to
- Create complex sets of architecture models and relate them to each other
- Ensure consistency between sets of models
- Make impact analysis and controlled change to the architecture models
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 10
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 11
Current situation in many organizations
• Complex infrastructure with ~100 direct integrations
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 12
Current situation in many organizations
• Complex infrastructure with ~100 direct integrations
Spaghetti
architecture
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 13
Common SOA solution
Enterprise Service Bus
Benefits
• Flexibility due to encapsulation via adapters
• Loose coupling makes is easy to add/delete applications
• Complexity is contained in the ESB
• Integration is based on standard formats (XML)
• Trivia: based on the ”Mediator” design pattern from Gang of Four
Member system Economy Output
Portal
Adapter
Intranetportal
Adapter
Customer portal
Adapter
Adapter Adapter Adapter
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 14
New architecture using SOA principlesW
ork in
Prog
ress…
© 2007 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 15
SOA is a architectural pattern, that makes it possible to create an more loosely coupled and flexible IT architecture.
SOA characteristics• Loose coupling, giving the flexibility to add or remove applications• Standardized interfaces using adapter• Simplified communication model for each application• Often based on a common domain model (XML / XSD)
What is Service Oriented Architecture?
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 16
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 17
General definition: A service is an abstraction over some complex business logic.
A real world example• The ”Create back account” service in a bank
In SOA notation this service would look like this
[Service].[Operation]
Bank.CreateAccount
In everyday use the term “service” covers a service.operation
What is a “Service” in the real world?
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 18
SOA definition: A Service.Operation is an program abstraction over some business functionality in an application. You interact with a service using messages.
•To be easy to understand, a service should be named using the domain model. •The message formats should also be derived from the data model.
Examples of services:- [Bidrag].[Medlemmer.FindTilhoersforhold]- [Oekonomi].[Begivenheder.HentKontoposter]
Please note – no system names, since systems tend to be replaced
What is a “Service” in the SOA world?
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 19
A simple service consists of 3 stakeholders
Enterprise Service BusCalling
applicationAnswering application
Adapter AdapterTransformation
Format A => Format B
Routin
g
Routin
g
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 20
What is Business Process Management?
Definition - BPM In a SOA context, Business Process Management is defined as the
ability to coordinate systems in order to complete a business process.
Common BPM platforms
- Microsoft BizTalk
- Oracle/BEA aqualogic
- IBM Websphere Business Modeller
- Software AG
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 23
Example of real BPM application
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 24
The combination of SOA and BPM
SOA BPM• Organizes IT infrastructure
• Solves need for encapsulation and loose coupling
• Creates overview basis for IT governance
• Indirectly driven by the business need for flexibility and change
• Directly driven by business needs
• Addresses specific parts of the business processes
• Creates possibility for measurement and optimization
Conclusion• There is a synergy effect. It’s easier to introduce SOA and BPM in
common • SOA makes BPM more effective• BPM helps SOA create visible results
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 25
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 27
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
My wishing list for upcoming SOA solutions
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 28
Stakeholder to the models
Recap – models are used to- Ensure an common understanding of the domain- Ensure precise communication within the organization
Stakeholders- Executive level- Business experts- Developers - Customers- Audit (datatilsynet/revision)
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 29
More stakeholders = more abstraction levels
3 abstraction levels
1.Conceptual - customers, executives
2.Logical - some customers, business experts
3.Physical - some business experts, developers
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 30
Business process models – conceptual level
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 31
Business process models – logical level
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 32
Business process models – physical level
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 33
Example of an process architectureMedlemsservice
Økonomi og finans
Indberetning Forsikringsteknik Udbetaling
HR Direktion og Marketing IT
beløb til udbetaling50
opolysning om samlever40oplysning om medlem
41
notifikation om registrering36
Notifikation om udbetaling47
oplysning om ekspedition37
overfør indbetaling2
Tilbagebetaling4
overfør indbetaling1
Registreret indbetaling5
medlemsoplysninger45
notifikation om overførelse46
oplysning om udbetalingsmodtager38
oplysning om ekspedition32
oplysning om ekspedition33
indbetalinger18
notifikation om registrering35
medarbejderkompetence9
fraværsregistrering10
timeantal12
fakturerbare timer13
medarbejder11
Skatteoplysninger14
ingangsætte bidrag25
indbetaling8
faktura til betaling60
handler63
opdateret stamdata64
data til statistik65
konvertering af løbende ydelser29
Behandel Indskud25
Poster bidrag4
Vedlighold arbejdsgiver31
Modtag indbetalinger3
Behandle fejlede bidrag1
Kontrol af overførelser og beregninger
50
Tilbagebetal bidrag70
Vedligehold sagsmapper38
Udarbejd aktuaranalyse77
Indberet bidrag for medarbejdere11
Udbetal løn75
Gennemfør lovmæssige indberetninger
76
Udarbejd statistik9
Udsend tilsagsblad35
Udarbejd pensionsoversigt32
Udsend medlemsblad34
Håndter ekspeditioner36
Vedligehold medlem37
Vedligehold udbetalingsmodtager39
Overfør pensionsinfo30
Foretag pensionering27
Behandel engangsudbetaling22
Vedligehold samlever/begunstiget40Udsend servicemeddelelse
21
Dan bortfald af ydelsesliste26
Seniorrådgivningsservice14
Styring af medarbejderdata58
Vedligehold kompetencer62
Håndter ferie/fravær61
Registrer tidsforbrug på opgaver71
Styring af debitorregnskab54
Vedligehold balanced scorecard63
Styring af direktionsmøder64
Gæsteregistrering73
Behandel ny post/brev23
Styring af kreditorregnskab55
Styring af anlægsregnskab53
Udarbejd regnskab56
Beregn performance41
Kontrol af afvikling46
Registrer handel44
Kontrol af rente/udbytte beregning48
Kontrol af beholdninger47
Gennemfør intern fordeling45
gennemføre corporate action43
Vedligehold værdipapir stamdata49
overføre regnskabsdata59
overføre regnskabsdata58
overføre regnskabsdata57
Styring af budget57
Vedligehold økonomistamdata60
oplysninger om medlem20
arbejdsgiver19
Vedligehold bidragsrelateret aftale5
Arbejdsgiver7
ændringer i aftale30
ændring i aftale31
Udbetaling af pensioner59
Notifikatiton om udbetaling48
ingangsætte udbetalingsforløb52
posteringer6
postering56
postering54
postering15
indbetalinger17
beløb til udbetaling51
Ansøg om lejemål6
Fordel lejemål7
Registrer lejemål8
ønsker om lejemål26
oplysning om udlejning28
Beregn hensættelser78
Udarbejd risikoprofil79
skatteoplysninger16
udarbejd og beregn tilbud74
risikoscenarier44
medlemsstatistik43
oplysninger om bestand23
oplysning om medlem42
oplysninger om aftaler24
Oplysninger om aftaler21
oplysning om aftale62
Oplysninger om aftaler22
oplysninger om medlem27
medlemmer34
overføre regnskabsdata61
overfør beholdning70
poster indbetaling66
Udsend opkrævning80
overfør opkrævninger67
overfør aftale68
Gennemfør tilfredshedsmåling82
overfør medlemmer69
Vedligehold kunderelation81
overføre arbejdsgiverdata71
registrerede indbetalinger71
opdater medlemsstatus72
Fremregn bestand83
Vedligehold teknisk grundlag89
Foretag vejledende pensionsberegning
13
Foretag profilvalg15
omfordel investeringsprofil16
Vis investerings portefølje17
Brugerstyring18
Styring af inventar19
Idriftsættelse66
Håndtere fejlretning67
Håndtere ændringsønsker68
vedligehold forretningsbeskrivelser og dokumentation
69Registrer og styre
brugerhenvendelser72
Håndter dokumenter86
overvåge lovgivning87
Vedligehold Internet/ekstranet0
Udsend brev til bidragsophør90
Projektstyring84
kontrol af udbetalinger91
håndter registrering af handel92
registrer ekspeditioner93
Registrer arbejdsgiver94
Registrer samlever/begunstiget95
Registrer udbetalingsmodtager96
oplysninger om aftaler167
overføre profilvalg166
oplysning om medarbejdere169
overføre oplysninger om fejl172
Oplysninger om ekspedition151
handelsoplysninger179
oplysninger om medarbejdere168
overføre dokumenter90
hent dokumenter91
overfør medlem150
overfør udbetalinger164
oplysninger om udbetalinger165
oplysninger om ekspeditioner174
oplysninger om arbejdsgiver175
oplysninger om udbetalingsmodtagere39
oplysninger om samlever /begunstiget176
Registrer lejemålsfordeling97
oplysninger om lejemålsfordeling178
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 34
The Domain model
3 abstraction levels
Conceptual - UML / visio
Logical - UML / visio
Physical - XSD
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 35
Conceptual domain modelForklaring:
= Informationsobjekt
= Relation
= ”Er-en-slags”-relation
IO
Ordning Police
1..11..*
Manifesteres i
Medlem
Pensionsselskab 1..1
1..1
Ejes af
1..*
1..*
Tegnes af
Tilbud
1..1
1..*
Giver løfte om
Forsikrings-hændelse
1..11..*Er involveret i
Kunde
1..*
1..*
Er serviceselskab for
Indbetaling
Helbreds -information
Begunstiget
Pensionsoversigt
Sag
Sags-ekspedition
1..1
0..*
Indeholder
Indbetaler
Medlemskonto
Indberetning
Afgifts-indberetning
AndenOrdning
Bestilling
Arbejdsgiver
Notifikation
AndetSelskab
Medarbejder
Aktuaranalyse
Aktuar-beregningsgrundlag
Forsikringsteknik-grundlagRisikorapport
Aktuarensberetning/rapport Fremregnings -
rapport
Problem-rapport
Dødsfalds-Dokumentation
Investerings-parametre
Finans-notifikation
Fonds-aktiver
Benchmark -data
Faktura
Bidrags-afstemning
Ordre
Marketing-kampagne
IntranetIndhold
Stilling
Medarbejder -gode
Medarbejder -kompetence
Medarbejder -lønning
Ansættelses-brev
Fraværs-registrering
Medarbejder -udgift
Leder -handlingsplan
Leder -måling
Henvendelse
Skifte-modtager
FeatureEjendoms-
data
Overenskomst
Udbetaling
Budget
Regnskab
Strategi Handlings-plan
Markeds -information
Arbejdsgiver-konto
Afgifts-konto
Økonomi-rapport
Hensættelses -rapport
1..*
1..1
Definerer
1..*
1..1
Indeholdes i
1..1
1..*
Afgiver
1..1
1..*
Sendes til
1..1
1..*
Udløser
1..1
1..*
Registrerer historie om
1..1
1..*
Afgør antagelse af 1..1
1..*
Informerer om1..1
1..1
Giver dækning for
1..1
1..*Indbetaler
1..1
1..*Giver indbetaling til
1..1
1..*
Afgiver
1..1
1..*
Retter
1..1
1..*
Er ansat i
1..1
1..*
Besidder
1..1
1..*
Benytter
1..1
1..*
Afholder
1..1
1..*Modtager
1..1
1..*
Lægges for
1..1
1..*
Evaluerer
1..1
1..1
Gælder for
1..1
1..*
Registrerer
1..1
1..*
Får leveret
Pensions-administrations -
produkt
1..1
1..*
Definerer parametre for
1..1
1..*Danner basis for beregning til
1..11..*Notificerer om 1..1
1..*Fastsætter niveauer for1..1
1..*
Sammenlignes med
1..1
1..*Kontrollerer
1..1
1..1
Indbetales fra
1..1
1..*Udløser betaling til
Pensionsmodtager
1..*
1..*
Sikrer dækning for
1..1
1..*
Serviceres af
1..1
1 ..*Link1
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 36
Infrastructure modelW
ork in
Prog
ress…
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 37
Relations between the models
A1
V1
Fx
A3In
A2
GO
X
Forretningsprocesser
Information
Omega NMS Edlund
RIF BIKS
IMO
Simcorp
Omega NMS Edlund
RIF BIKS
IMO
SimcorpApplikationer
DB
TAPE SANSANDB
TAPEInfrastruktur
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 38
And now lets add a bit of complexity
Current project: 13 development projects working in parallel
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 39
And now lets add a bit of complexity
Current project: 13 development projects working in parallel
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 40
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 41
Some known SOA challenges
• SOA is a paradigm shift. How to make people think in processes and services?
• Introducing change to models: consistency, impact analysis and versioning
• The SOA killer #1: Service granularity (known victims: 2)
• Coordination and communication is essential in a SOA project
• The SOA killer #2: How to make effective SOA governance?
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 42
SOA is a paradigm shift. How to make people think in processes and services?
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 43
Introducing change to models: consistency, impact analysis and versioning
Portal AIA-CP Taxpool3
AIA-CPBPMKR
Domain model
XSD
XSD
XSDXSD
XSD
Business service1
Business service2
Business service3
XSD XSD XSD
Service call1
Service call2
Service call3
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 44
The SOA killer: Service granularity (known victims: 2)
A general service
A specific service pr. business requirement
1 1000+Number of services
Services are customized to fit within certain areas of business needs
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 45
Organizational problems• Coordination and communication is essential in a SOA project
• Who owns a model in an organization?
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 46
How to make effective SOA governance?
A1
V1
Fx
A3In
A2
GO
X
Forretningsprocesser
Information
Omega NMS Edlund
RIF BIKS
IMO
Simcorp
Omega NMS Edlund
RIF BIKS
IMO
SimcorpApplikationer
DB
TAPE SANSANDB
TAPEInfrastruktur
+ +Design time, Runtime, Change time
=Need for structure, coordination and
communication
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 47
Agenda
Personal introduction
Setting the context?
Why Service Oriented Architecture?
What is a service, and what is BPM?
Combining the SOA pieces – the business process
Models that drive the SOA development
Known challenges to model driven SOA development
The wishlist
Challenges in model driven SOA/BPM development
© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 48
The SOA wish list (Work in progress )
• Tool support to (partly solved)
• Keep consistency between models
• Make impact analysis and controlled changes to models easier
• Normalization levels for processes and services
• To avoid SOA killer #1 and furter reuse of processes and services
• More codegeneration from models, like
• Adapters
• Testscripts
• Ability to apply runtime measuring points
• Processes and tooling to support SOA governance
• To avoid SOA killer #2
• People with the skill to work in the cross section between business and IT