29
Einsatzszenarien von SOA: Drei Praxisbeispiele Eine Präsentation für SI-SE Philipp H. Oser und Michael Schröder 16.03.2007

Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

  • Upload
    doanque

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

Einsatzszenarien von SOA: Drei Praxisbeispiele

Eine Präsentation für SI-SE

Philipp H. Oser und Michael Schröder

16.03.2007

Page 2: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

1 © ELCA - 16.03.2007 POS/MSC

One dimension of SOA: “Sophistication of SOA“

Initial

Elements

Application design

Characteristics

�SOAP, WSDL�Adapters

�Apps use assets wrapped as services

�Few services�Simple usage scenarios�Single transport�Basic profile

“Sophistication of SOA“

Architected

�Metadata registry

�Apps increasingly exchange via service reqs

�Many services�Single transport�Ad-hoc transactions�Extended usage scenarios

Adaptative

�Orchestrator�BPM notation and tools�Events

�Apps arecontinuouslyrecomposed

�Service orchestration / choreography

Collaborative

�Transactions�Routing�Management�Security

�Most business functions available as services

�Many transports�Many profiles�Service composition

Page 3: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

2 © ELCA - 16.03.2007 POS/MSC

SOA pattern landscape

A typicalpilot

MICom

Initial Architected AdaptiveCollaborative

Sophistication of SOA

Inter-application

Business unit

Enterprise

External partners

Sco

pe o

f SO

A

Online shopping(Orchestra)����

e-licensing����

Processdesign

Security

Serviceversioning

SOAplatform

Service orchestration

Long-runningtransactions

Mainframe migration

Page 4: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

3 © ELCA - 16.03.2007 POS/MSC

Three case studies: Overview

Case study 1:Mainframe migration

Case study 2:e-licensing (BAKOM)

Case study 3:Online-shopping (Orchestra)

[Image source: IBM/WWW]

Page 5: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

4 © ELCA - 16.03.2007 POS/MSC

Case-study: Migration from Mainframe

Domain: Financial management

Initial situation:� Application portfolio mainly based on host technology, heterogeneous

technologies� Pressure to move away from the host due to ending vendor support� Ad-hoc integration via database or point to point solutions� Desire to keep some of the huge existing application know-how� Cost pressure

Datenbank(Datastore,

Appl-Integrations)

Host App 1

Host App 2

Host App 3

Other apps

Point to point integrations

Legacy codeNetwork-DB

Scripting,Oracle forms

etc.

Page 6: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

5 © ELCA - 16.03.2007 POS/MSC

Case-study: Migration from Mainframe

Target architecture:� Better modularisation of application portfolio� More structured, state-of-the-art integration

with less coupling� Use existing application assets

� Wrapping� 1:1 application migration

� Pragmatic SOA platform (SOA for integration)Migrated app 1:1 .NET 2.0

Web service bus

Shared Services: Stammdaten

printing, other.NET 2.0

New app.NET 2.0

New app.NET 2.0

New app .NET 2.0

ELCA Vietnam(Ho Chi Minh City)

Old app

SOA-Adapter

Page 7: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

6 © ELCA - 16.03.2007 POS/MSC

Web service versioning

For flexibility of service evolution� Run multiple versions of a same service in parallel� Do not require big-bang upgrades

Running many service versions in parallel can be costly� Operation cost and complexity� Bugfixes may need to be applied to all productive versions

Solution: Some version backward-compatibility can help!

V2.0WSDL+XSD

V2.0WSDL+XSD

V2.0 request

V2.0 response

Not backward compatible extensionV1.x and V2.x run in parallel

during transition period

V1.0WSDL+XSD

V1.1WSDL+XSD

time V1.1

WSDL+XSD

V1.1 request

V1.1 response

V1.0 request

V1.1 response

V1.0WSDL+XSD

Backward-compatible extensionV1.1 service transparently

replaces V1.0 service=> no need to run V1.1 an V1.0 in parallel=> reduced maintenance/ operation cost

Service consumer Service provider

New 1.1 consumer can take advantage

of extension

V1.0 consumer notaffected by extension

to V1.1(no need for new funct.)

Page 8: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

7 © ELCA - 16.03.2007 POS/MSC

Platforms for SOA: General

Today’s primary development environments (J2EE & .NET) have far-going support for web services� Implementation of individual service is easily doable

Question: Add an Enterprise Service Bus (ESB) to your platform?� Another question: Level of needed non-functional support?� Main ESB features: Declarative policies (external to application) for

� Security� Message Routing� Message translation (e.g. for versioning, interop)� Orchestration � Management

� Service & Metadata registry� SLA-checks� Supervision A typical ESB stack

Page 9: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

8 © ELCA - 16.03.2007 POS/MSC

Platforms for SOA: ESB

Alternatives:� Open-source ESB stacks (e.g., Mule, ServiceMix, Celtix)

Gartner: „ESBs will catch on broadly“

�Vendor/product dependency�Complexity

�Systematic resolution of non-functional and of management issues

�Policies are outside of application�Changes are easier possible�Integration with different services easier (less non-functional incompatibility)

Disadvantages (–)Advantages (+)

Shall we use an ESB stack?

Page 10: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

9 © ELCA - 16.03.2007 POS/MSC

Three case studies: Overview

Case study 1:Mainframe migration

Case study 2:e-licensing (BAKOM)

Case study 3:Online-shopping (Orchestra)

[Image source: unknown]

Page 11: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

10 © ELCA - 16.03.2007 POS/MSC

Case-study: e-licensing

Domain: E-Government (BAKOM)

Initial situation:� Need for a new G2B/G2C application for selling of radio

licenses over Internet� Desire to reuse existing business applications

Goals:� For clients:

� Easier to get licenses, application is available around the clock, faster processes

� For BAKOM:� More efficient selling processes, partly or fully automated� Support the Swiss e-Government Strategy

Page 12: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

11 © ELCA - 16.03.2007 POS/MSC

Case-study: e-licensing

Target architecture:� The existing business applications are refactored to business services

and integrated in a generic platform of BIT (Bundesamt für Informatikund Telekommunikation). The integration is via a set of generic services:� Authentication� Identity-Management� e-Payment� Service to access the SAP backend

� The first phase is a pilot – experiences are used for further phases� Implications for application portfolio

� (E-Government-)Applications will be composed of generic components and business components.

� Business functionality will be only developed once, data will be stored centrally.

Page 13: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

12 © ELCA - 16.03.2007 POS/MSC

Case-study: e-licensing Business Case

Size metrics� 70‘000 orders per year (>300 daily)

� 40‘000 licenses for radio, networks and media� 30‘000 attributions of addressing- and numbering elements

(70% of which are already done via Internet)� 1‘000 notifications of equipment

Business Case� Significant speed up of licensing process� ROI within one year

Expected IT cost reduction� No short-term IT cost reduction� Significant IT cost reduction for investments and operations

through architecture scalability and reuse in the medium-term.

Page 14: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

13 © ELCA - 16.03.2007 POS/MSC

Case-study: e-licensing Business Process

Get infoRegister

Get in Contact

After Sales Services

Check deal statusAddress changesGive info on licensesIndividual information

Apply for license

LoginChoose productOrderOpen new caseStart workflow/ deal

Online payment

Option to pre-pay with credit-card

Send out documents

Send out documentsGet signatures(Optionally) create invoiceEncashmentClose dealArchive

Attribute license

Type 1:Prepare licenseAttribute frequencyDescribe network Generate documents for licenseCalculate feeDiscuss with client

Type 2:Automatic attribution without paper or signature

Page 15: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

14 © ELCA - 16.03.2007 POS/MSC

BIT

BAKOM

Case-study: e-licensing Distribution of Process

Presentation /e-licensing

e-payment

Identity Management

Business service

Encashment

����������� � ��

Authentication

������� ����

������������ �

� � �� � ���� ���� ��

����������

� ��������� ���

� �������� ���

������ � ������� �� �

�� ������� ����������

� � �� ��� �

������������ � ��

Page 16: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

15 © ELCA - 16.03.2007 POS/MSC

Shared Service Zone

Internet Zone

Intranet Zone

Case-study: e-licensing Logical Architecture

Presen-tation

Application

Service

e-licensingLicenses

web clientInternal/external

Business-serviceBAKOMProducts

TariffsTransaction/

ClientDocuments

BAKOM

Enterprise Service Bus Communication Security

IDM

LogonUsernamePasswordCertificate

SelfRegistration

e-paymentOnline

Payment

IdentityManagement

RegistryRoles

AuthenticationSecurity

PKI

e-paymentPayment-

management

BillingDebtor

ContractsPrintingFI/CO

SAPData

Service xxxFormsDMSCMSWF

Archive

e-Appl xxxNotificationsAddressesNumbers

Business-servicexxx

Amt/OEMore Business-

services

Amt/OE

WEB-xxxMore std

applications

Contact

1

Public inform

ations

2

Login5

Authenticate

6

Authorization 7

Online payment9

Check/ book

10

ESR bill11

Registration3 Client data

4Order

8

Page 17: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

16 © ELCA - 16.03.2007 POS/MSC

Case-study: e-licensing Challenges

Optimise internal learning curve� Architect has role on level business, application

and IT-infrastructure� A Service is no longer only a technical

component; it includes supporting business processes

Complexity management� Many partners and stakeholders� Tests and error detection� Service release management

Separation of applications becomes more fluent� SLA supervision becomes important� New model for service billing

Page 18: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

17 © ELCA - 16.03.2007 POS/MSC

Securing web services: General

Critical when web services are used across administrative domains!

Security requirements for web services:� Authentication� Authorization� Privacy� Integrity � Auditability

� Proof of origin/ proof of receipt� Audit logs

Page 19: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

18 © ELCA - 16.03.2007 POS/MSC

Securing web services: Protocol stack

Webservice protocol stack with typical protocols

XML document exchange

Transport Protocol Layer

XML Layer

HTTP, SMTP, TCP, FTP, IIOP, ...

SOAP

Application

Network Layer IP SSH, VPN,IPsec

SSL, ESB

Ad-hoc

XML dsig,XML encr

WS-Security

Security mechanisms for each level of the

protocol stack

Page 20: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

19 © ELCA - 16.03.2007 POS/MSC

Securing web services: Pragmatically…

Transport Protocol Layer security, e.g., with HTTPS, SSL:� Provides: authentication, confidentiality, and data integrity

A B CSSL-“tube“

�Only for 1 hop (e.g., need full trust in first party that receives data)�Limited security features: no proof of origin

�HTTPS and HTTP basic authentication are widely available

�Simple and well known�Widely implemented�Ready for most transport protocols

(e.g., HTTP, SMTP, IIOP)

Disadvantages (–)Advantages (+)

Page 21: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

20 © ELCA - 16.03.2007 POS/MSC

Securing web services: …and via “Rolls-Royce”

WS-Security stack (one possible way to put it)

�Complex�Reduces compatibility as both partners need to have a compatible security stack

�Not yet completely specified and implemented

� Supports even the most demanding security scenarios:�Delegation�Multi-hop�Selective security

Disadvantages (–)Advantages (+)

SOAP

WS-Security

WS-TrustSAML

WS-Federation

XKMSWS-SecureConversation

XACMLWS-SecurityPolicy

WS-Authorization

Established standards: WS-Security, SAML

Page 22: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

21 © ELCA - 16.03.2007 POS/MSC

Three case studies: Overview

Case study 1:Mainframe migration

Case study 2:e-licensing (BAKOM)

Case study 3:Internet selling (Orchestra)

[Image source: OGM]

Page 23: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

22 © ELCA - 16.03.2007 POS/MSC

Case-study: Internet selling (Overview)

Domain: Platform to sell goods over Internet (partly confidential)

Initial situation:� Selling-platform is split in separate components� Need for an integration platform that easily

integrates with existing components in the environment of the customer

� Need for long-running and distributed transactions� Transaction semantic crucial, many reasons for

rollbacks� Some components (payment, shipping) may run in

other administrative domain (external partners)� Some of the external systems are not prepared to work

with a global transaction manager

Page 24: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

23 © ELCA - 16.03.2007 POS/MSC

Case-study: Internet selling

Target architecture:� Web service technology for

integration� Orchestration engine

„orchestra“ as integration backbone� Simple and proven

technology for high reliability

� „Knows“ selling-processes� Concept of relaxed

transactions and undo operations

� End-points need no 2PC awareness

� Asynchronous integration for better decoupling

Orchestration engine

(Orchestra)

Web service

Web service

Web service External provider

External provider

Reservation

Web service

Buy a book

Page 25: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

24 © ELCA - 16.03.2007 POS/MSC

Transactional Integrity: General

Strict ACID transactions (XA – 2PC) do not work with loosely-coupled and long running services:� Locks required for a long time

� hinders the concurrency in the system, DoS-attacks possible� Loosely-coupled systems do typically not accept their transactions to be

managed externally (e.g., payment system)� Too much dependencies over provider boundaries (what if other system is

down)?

Solution: Relaxed transactions with undos� For each operation provide a compensating operation� Is a second

transaction (called rollback() ) that cancels (undoes) the work done in the original transaction

� ACID for the top-level transaction is relaxed � during a certain transitional time, transactions are less isolated, not atomic, less consistent, not durable

� Orchestrator manages the transaction

Page 26: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

25 © ELCA - 16.03.2007 POS/MSC

Transactional Integrity: Relaxed transactions with undo

reservation e-payment

OKOK

OK

reservation e-payment

Rollbackreservation

Reservebooks

Authorizepayment

Rollbackpayment

OK

logistics

OKInitiateshipment

Interruptshipment

Not OK

OK OK

Compensating transactions

logistics

service-level transactiondemarcation

Not OK Not OK

OK

begin

Process-level transaction demarcation

prepare/ commit

rollback

Page 27: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

26 © ELCA - 16.03.2007 POS/MSC

Three case studies: Overview

Case study 1:Mainframe migration

Case study 2:e-licensing (BAKOM)

Case study 3:Internet selling (Orchestra)

Overview and summary

Page 28: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

27 © ELCA - 16.03.2007 POS/MSC

�Financial management

�Selling on the InternetDomain?

�E-Government

�Pragmatic with features of .NET

�Long transactions�Orchestration engine

Form of SOA?

�ESB for global policies

�High security

�Achieve performance of mainframe

�Vietnam collaboration

�Keep it pragmatic

�High volumes & variance

�Reliability even across administrative domain

�Organisational aspects

Challenges?

Recapitulation of the case studies

Migration from Mainframe

Online-Shoppinge-licensing

�Modularisation of the architecture with state-of-the-art technology

�End of service of mainframe / legacy

�Need for integration architecture

�Integration of yet unknown partner systems

Why SOA?

�Process execution across partners

�Usage of generic services

Page 29: Einsatzszenarien von SOA: Drei Praxisbeispiele · Inter-application Business unit Enterprise ... Enterprise Service Bus h Communication Security IDM Logon ... Provides: authentication,

Thank you for your attention

For further information please contact:

Lausanne � Zürich � Bern � Genf � London � Paris � Ho Chi Minh City

((name))((function))(([email protected]))

((address))((ZIP Location))((phone))((mobile))

Lausanne � Zürich � Bern � Genf � London � Paris � Ho Chi Minh CityLausanne � Zürich � Bern � Genf � London � Paris � Ho Chi Minh City

Michael SchröderSenior [email protected]

Steinstrasse 21PostfachCH-8036 Zürich+41 44 456 37 37

Lausanne � Zürich � Bern � Genf � London � Paris � Ho Chi Minh City

((name))((function))(([email protected]))

((address))((ZIP Location))((phone))((mobile))

Lausanne � Zürich � Bern � Genf � London � Paris � Ho Chi Minh City

Philipp H. OserLead [email protected]

Steinstrasse 21PostfachCH-8036 Zürich+41 44 456 32 77