Microsoft PowerPoint - 9 - Debadatta Tripathi (Ajay Barvey ...
description
Transcript of 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
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
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
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
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
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
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
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)
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
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
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
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
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
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!