Challenges in modeldriven SOA development - imm.dtu…eki/PDF/CCMBSE_Workshop_SOA.pdf · © 2009...

49
© 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.0 Forfatter: Jack Ekman manager [email protected]

Transcript of Challenges in modeldriven SOA development - imm.dtu…eki/PDF/CCMBSE_Workshop_SOA.pdf · © 2009...

© 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

[email protected]

© 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 21

© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 22

© 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 26

© 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

© 2009 Netcompany A/S Netcompany A/S · Grønningen 19 · 1270 København K · Tlf. 70131440 Side 49

?

Spørgsmål