microsoft powerpoint - 9 - debadatta tripathi (ajay barvey

14
Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008 SOA Design Patterns Mr. Debadatta Tripathi-Accenture 1 Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. SOA Design Patterns Debadatta Tripathi Accenture Delivery Center for Technology in India 2 Copyright © 2008 Accenture All Rights Reserved. Agenda SOA Domain Service Bus/ESB Patterns Business Interaction Patterns 7 SOA Execution Patterns Architectures and case references/implementations of patterns Basic Services (point-to-point) Wrapping Services Custom Built Composite Patterns Service Consuming Service Producing System De-coupling Approaches to choosing patterns & Vendor implementations

Upload: zubin67

Post on 15-Jan-2015

454 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 1

Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

SOA Design Patterns

Debadatta Tripathi

Accenture Delivery Center for Technology in India

2Copyright © 2008 Accenture All Rights Reserved.

Agenda• SOA Domain

– Service Bus/ESB Patterns– Business Interaction Patterns

• 7 SOA Execution Patterns

• Architectures and case references/implementations of patterns

– Basic Services (point-to-point)– Wrapping Services– Custom Built – Composite Patterns

• Service Consuming

• Service Producing• System De-coupling

• Approaches to choosing patterns & Vendor implementations

Page 2: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 2

3Copyright © 2008 Accenture All Rights Reserved.

Service Oriented Architecture

Domain

4Copyright © 2008 Accenture All Rights Reserved.

Service Bus/ESB Patterns

Page 3: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 3

5Copyright © 2008 Accenture All Rights Reserved.

Business Interaction Patterns

6Copyright © 2008 Accenture All Rights Reserved.

SOA Execution Patterns

• Process Nesting Pattern - design pattern for nested processes that are called within a process model

• Data Synchronization Pattern - manages the updating of data that lives in multiple systems

• Long Running Process Pattern - design pattern that can manage the versioning of long running processes

• Message Receiver Pattern - component which listens to multiple transports for messages and routes them to appropriate service. Component can also manage requests to non-bound or changing endpoints

Page 4: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 4

7Copyright © 2008 Accenture All Rights Reserved.

SOA Execution Patterns

• Service Accessor Pattern - component which is accessed on the client side that builds the service request by receiving the xml data and builds the soap message

• Message Validation Pattern - a service that will validate an input message against the schema it is referencing

• Service Registry Pattern - a registry that will store and broadcast availability of services and manage versioning.

8Copyright © 2008 Accenture All Rights Reserved.

Process Nesting Pattern

Goals:

• Application development concept of initiating a process within a process

• Effective way to organize and guide a very large and complex process

• Synchronous, Asynchronous, and Asynchronous with reply

Factors to consider:

• Type of pattern – Synchronous, Asynchronous or Asynchronous w/reply

• Security

• Error Handling/Logging

• Tracking recursive calls

• Standards (SOAP)

• Event monitoring

• Process governance and dependency

Page 5: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 5

9Copyright © 2008 Accenture All Rights Reserved.

Data Synchronization Pattern

Goals:

• Provide reusable design that keeps data across the enterprise “in synch”

Factors to consider:

• Frequency

• Data Flow

• Transformation

• Volume

• Recovery

• Security

• Metadata

• Versioning

10Copyright © 2008 Accenture All Rights Reserved.

Long Running Processes

Pattern

Goals:

• Addresses maintenance issues inherent in long running processes

• Create a successful deployment strategy for long running processes, for

each instance is processed and retired properly

Factors for consideration:

• Business processes and frequently changed business logic must be

separated and a façade process created

• Version management for long running processes must be scrutinized

• Changes to data model must be reviewed

• Impact of BPM tools for long processes must be assessed

• Provision for tracking business objects and active data

Page 6: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 6

11Copyright © 2008 Accenture All Rights Reserved.

Message Receiver Pattern

Goal:

• Provide a layer of transport independence, security, auditing and

a set of services upon receiving a message

Factors for consideration:

• Transport Independence

• Guaranteed Delivery

• Security

• Auditing

• Ability to expose non service objects – POJO’s, EJB’s as SOAP

services

12Copyright © 2008 Accenture All Rights Reserved.

Service Accessor Pattern

Goal:

• Provide discover and invocation of services in a SOA framework

• Standards based transport protocol for message exchange

• Post process the message and call web service/ESB

Factors for consideration:

• Routing

• Encryption

• Auditing

• WS-Security

Page 7: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 7

13Copyright © 2008 Accenture All Rights Reserved.

Message Validation Pattern

Goal:

• Ensure message format is valid

• Message contains correct amount of data

• Message contains mandatory data

• Message data confirms to the required business logic of target system

Factors for consideration:

• Selecting the right schema – XML

• Archiving

• Error handling and restart

• Validation of schema and message

• Using a parser

14Copyright © 2008 Accenture All Rights Reserved.

Service Registry Pattern

Goal:

• Provide discovering a business component and describing

information of service providers and consumers

Factors for consideration:

• Integrating disparate applications using web services

• Business functionality needs to be shared between web services

• Inventory of active and inactive services

• SOA is in place

Page 8: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 8

15Copyright © 2008 Accenture All Rights Reserved.

Basic Service Architectures

(Point-to-Point)

Basic service architectures are typically used as a “closed” solution within the intranet or

the extranet, to connect single applications.

�Basic Service Architectures are commonly

used as an alternative to custom point-to-point solutions using EAI tools.

�This pattern can be used to reduce the

complexity of integration and enhance

interoperability.

�This pattern is often used as a component of a

more complex Service Oriented Architecture

Web Services

Intranet

Application 1

Supplier Application Front End (WS Consumer)

Supplier Application Front End (WS Consumer)

Application 2

Supplier Back End (WS Provider)

Supplier Back End (WS Provider)

XML

A Simple Application-to-Application Example

16Copyright © 2008 Accenture All Rights Reserved.

Legacy Wrapping Architectures

Legacy wrapping architectures are used to expose existing functionality in legacy systems. This can then be made interoperable, thus minimizing the

intervention required on the legacy system, which is considered a “black box”.

• Legacy wrapping architectures use

Web Services to “wrap” legacy systems, typically mainframes.

• Screen scraping is often used to

minimize “invasiveness” in critical or

not well-documented systems.

• This pattern can be used as:

- A first step in a “wrap and replace”

plan.

- An application integration pattern. - A mergers and acquisitions (M&A)

business integration enabler.

• This pattern is often used as a

component of a more complex SOA.

Legacy Wrapping Example

WWW

...

...Service

Consumer

ServiceConsume

r

Web ServerWeb

Server

Legacy SystemLegacy System

Service ProviderService Provider

Legacy Wrapper(Screen Scraping)Legacy Wrapper

(Screen Scraping)

Page 9: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 9

17Copyright © 2008 Accenture All Rights Reserved.

Service-Consuming

ArchitecturesService-consuming architectures are used to integrate a set of services from third

parties into a single application or portal.

• Web Services are used to access functionality provided by 3rd parties

and integrate it into a single solution (in the sample diagram).

• This pattern can be used to reduce cost and time-to-market, because:

• Integrating additional 3rd party

services is simple.

• Providers can choose their own

implementation technology.

• Other typical implementations are used for supply chain integration. Value-Added Portal Example

Portal Co. Intranet

Web Services

Portal ApplicationPortal

Application

......Content Provider

Service ProviderService Provider

Content SystemContent System

Content Provider

Service ProviderService Provider

Content SystemContent System

Content Provider

Service ProviderService Provider

Content SystemContent System

CRMCRM

BillingBilling

WWW

...

...Service

ConsumerService

Consumer

18Copyright © 2008 Accenture All Rights Reserved.

A Large French Railway Company (LFRC)LFRC created an online portal allowing users to purchase

products from LFRC and associated partners.

Using Web Services:

• Simplified the integration with business partners• Provided a cost efficient development solution

• Allowed them to offer high-value travel services through

partnerships in the non-rail industry as well as extend its product offerings through a wider distribution channel.

Benefits

A French state-owned railway company that serves more

than 800 million passengers and 135 million tons of freight annually.

Company

Overview

Business

ChallengeThe goals included lowering distribution costs, improving yield management and leveraging the Internet for B2C

services. Client upgraded its legacy information systems

to expand its role in European transportation markets.

Team Solution/

Approach

The online travel portal uses Web Services technology to share their customer account information and cross-selling

opportunities with travel partners. Web Services provided a standard interface to link their legacy information

systems with their partner systems.

Other Partners

Expedia Systems

SNCF

Web Server

Web Services

CustomerPortal

Page 10: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 10

19Copyright © 2008 Accenture All Rights Reserved.

Service-Providing ArchitecturesService-providing architectures are used to expose business functionality to trading partners,

as in an airline reservation system.

Airline Reservation Example

Web Services

Airline Intranet

Service ProviderService Provider

Booking SystemBooking System

Billing SystemBilling System

....

Web ServerWeb Server

WWW

...

...

Travel Agency

Travel ApplicationTravel

Application

Service ConsumerService

Consumer

Travel Agency

Travel ApplicationTravel

Application

Service ConsumerService

Consumer

Travel Agency

Travel ApplicationTravel

Application

Service ConsumerService

Consumer

• In service-providing architectures, Web Services are used to provide a functionality to several external consumers.

• This pattern is typically used to reduce cost and complexity of integration for clients:

• Consumers can use completely

different systems.

• A WWW front-end can be provided on top of the service provider for end users or small businesses that

cannot or do not want to implement a service consumer.

20Copyright © 2008 Accenture All Rights Reserved.

Large European Stock

Exchange (LESE)The LESE Web Services to provide large broker benefits

to the private and smaller broker communities.

• Speed to market

• Cost efficient

• Interoperability/Extensibility

Benefits

LESE is one of the leading equity exchanges in the world and a leading

provider of services that facilitate the

raising of capital and the trading of shares

with more than 470 companies traded daily

from over 60 countries.

Company

Overview

Business

Challenge

LESE wanted to bring benefits to the

private client and smaller broker community by creating a central

standardized interface between brokers

and Retail Service Providers (RSPs) in

order to lower costs.

Team

Solution/Approach

To provide a standardized interface

accessible to all RSPs using Web Services.

Web Services

Small Brokerage

house

Large Brokerage

Houses

Banking Institutions

Retail Investors

Exchange Trading System

RSP Gateway

Retail Investors

Page 11: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 11

21Copyright © 2008 Accenture All Rights Reserved.

Australian Government AgencyAGA created a business portal enabled with Web Services to encourage

more efficient interaction between Government and business.

Web Services allow ABR to

• Automatically provide a unique business identifier.

• Reduce support needed by portal users.

• Share registered information across

Government agencies.

Benefits

As the primary revenue collection agency in

Australia, the AGA was responsible for implementing

a major initiative known as the Australian Business

Register to better share company information

between the business community and government.

Company

Overview

Business

Challenge

• Encourage more efficient interaction between

Government and business and to reduce

Government operating costs.

• Develop a “single point of contact” strategy across

the multitude of Australian bodies/agencies.

Team

Solution/Approach

A business self-service portal was built to provide

businesses with a unique identifier (ABN) that could

be searched via a public look-up service for the

citizens. The portal also provided the capability to update business information online.

Citizen Portal

Web Server

Government Agencies

Web Services

WS

MainframeSystem

22Copyright © 2008 Accenture All Rights Reserved.

System De-Coupling ArchitecturesUsed to separate back-end and front-end systems in complex environments, typically resulting from the integration of different systems and/or companies.

• Web Services are used to reduce the

inter-application dependencies of multiple legacy systems and their related functionality, and make their functionalities more accessible to front-end consuming applications.

• This pattern generally requires re-factoring or re-implementing part of

the existing systems.

It can be used both as:

– An application integration pattern

– An M&A business integration enabler

• eMarketplaces are a special type of

system de-coupling architectures.

Banking System Integration Example

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

SystemDe-coupler

(Service Provider)

SystemDe-coupler

(Service Provider)

Contract

Product

Pricing

...

...

Web

Ser

vice

s

Front-end Systems

(WS Consumers)

Statement Printing

Statement Printing

Loan Applications

Loan Applications

Branch Application

Branch Application

CRMCRM

Internet BankingInternet Banking

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Back-end Systemsof a Merged Bank

LoansSystemLoans

System

ReimbursementsSystem

ReimbursementsSystem

AccountsSystem

AccountsSystem

SecuritiesSystem

SecuritiesSystem

Page 12: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 12

23Copyright © 2008 Accenture All Rights Reserved.

Spanish Government Authority

SGA created an integrated government services portal serving 6.3 million people

via a single access point.

• Increased accuracy of information gathered

• Cost savings through use of central portal

• “Intentions-based” portal has provided an

intuitive structure making the traditional

departmental silos transparent• Web Services provided organized integration of

government services and information

• Provides citizens with a services card, e-mail

account, and personal identification

Benefits

SGA, based in Barcelona, that provides a wide

range of public services for 6.3 million people.Company Overview

Team

Solution/

Approach

SGA solution was built to allow government

systems to share information between

departments. Accenture developed Web Services

for AOC that provided the required functionality

independent of the underlying platform.

Portal

CRM

Government Agencies

BusinessesCitizens

WS

Web Services

24Copyright © 2008 Accenture All Rights Reserved.

P2P Service Exchange

Architectures

Peer-to-peer service exchanging architectures are used to integrate systems that require complex

two-way interchanges and workflow interaction, typically for Supply Chain Management

applications.

• In peer-to-peer architectures,

Web Services are used to integrate Information systems that

are complementary and are required to collaborate.

• This pattern is typically used in supply chain management (SCM)

scenario together with a

orchestration contract.

• Often a specific Orchestration component (typically an EAI

application) is included in the architecture.

WS Provider(Legacy Wrapper)

receiveOrder

WS Provider(Legacy Wrapper)

receiveOrder

WS ConsumerWS Consumer

WS Provider(Legacy Wrapper)

receiveShipmentNotification

WS Provider(Legacy Wrapper)

receiveShipmentNotification

WS ConsumerWS Consumer

Buyer

Supplier

Order Management System Order Management System

Procurement System Procurement System

Supply Chain Integration Example

Page 13: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 13

25Copyright © 2008 Accenture All Rights Reserved.

Leading UK RetailerStandard Web Technologies LUR to connect to suppliers and eMarketplace,

enabling collaborative supply chain planning.

Benefits

Company

Overview

Business

Challenge

Team

Solution/

Approach

Using Web Services provided the capability to

•Standardize data inter-exchange with

suppliers and optimize supports.•Avoid lengthy design discussion (example:

standard acknowledgement for messages to

guarantee delivery and receipt).

•Delivery at speed.

LUR, based in the United Kingdom, is a leading

retailer and supermarket chain.

Accenture was engaged by LUR in a large business

transformation outsourcing effort that included the

rationalization of communication with LUR’s third parties as well as the enhancement of collaborative

planning processes. One of the main objectives was

to improve shelf availability.

Developed services through a B2B Gateway to offer

seamless integration with third parties through a

common reusable web/http services infrastructure.

LUR

Supply Chain

ERPs

Merchandising

System

B2B

infrastructure

WS Server

Web Services https over

the internet

Product trading

consolidator

Retail eMarket Place:

Catalog Management

50 + LUR’s Suppliers

EAI

26Copyright © 2008 Accenture All Rights Reserved.

Approaches to choosing

patterns

• Business Drivers

• Functional Requirements

• Non Functional Requirements

• Application

• Use cases

• Testing and Versioning

• Process Governance

• Security

• Vendor Implementations

Page 14: Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey

Step Auto Conference,Bangalore SOA Implementation,Evaluation,SOA Testing 20th February 2008

SOA Design Patterns Mr. Debadatta Tripathi-Accenture 14

27Copyright © 2008 Accenture All Rights Reserved.

Vendor Implementations

ERP ImplementationsOracle - SOA implementation designed and built using the Oracle Fusion

integration suite

SAP - SOA implementation designed and built in SAP NetWeaver

Pure Play ImplementationsBEA - SOA implementation designed and built in BEA WebLogic/Aqualogic

Microsoft - SOA implementation designed and built in the .NET development environment

IBM - SOA implementation designed and built in IBM WebSphere

Java Open Source - SOA implementation designed and built using Java open

source technology

SUN Microsystems - SOA implementation designed and built in Sun Java CAPS

Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

Thank You!

[email protected]