Download presentation
Presentation is loading. Please wait.
1
Integration Patterns Overview Christopher Baldwin Architect Microsoft EMEA cbaldwin@microsoft.com
2
Agenda Overview of Microsoft patterns & practices Integration patterns Pattern based design example
3
Patterns & Practices Reference Architectures Building Blocks Lifecycle Guidance Guidance for tasks such as deployment and operations in a production environment Enterprise Solution Patterns DADI A D I DADI A D I Atomic solutions to recurring problems Sub-system-level guidance for common services System-level guidance for common customer scenarios DADI A D I
4
Scenarios Baseline Architectures (aka Skeletal Apps) Patterns and Reference Model Block Library Compositions of pattern implementations that meet requirements of scenarios Pattern implementations include blocks and tool-generated code Architecture Scenarios Ex. clients submitting one-way service requests via message queues, SOAP message, transaction spanning message queue and business action, … Tools Pattern selection Patten implementation Block inclusion Code generation Configuration Selected patterns of distributed applications Meaningful pattern compositions A library of configurable, generally applicable blocks Blocks or block compositions may implement patterns, but they don’t imply patterns directly AbstractCode-based
5
Patterns Traceable Down to Bits Pattern Implementations, Blocks, Frameworks & Logical Servers Pattern Set Patterns Bound to Platform Bits & Hardware
6
Enterprise Architecture - Patterns Business Architecture Integration Architecture Application Architecture Application Architecture Operational Architecture Development Architecture Integration Architecture Integration Architecture Architecture Design Implementation DatabaseApplication DeploymentInfrastructure Enterprise Solution Patterns Architecture Design Implementation DatabaseApplication DeploymentInfrastructure Enterprise Integration Patterns
7
Agenda Overview of Microsoft patterns & practices Integration patterns Pattern based design example
8
Integration Patterns Book Available to download from http://msdn.microsoft.com/patterns
9
Patterns are Guidance Conceptual, platform independent Textual At minimum, cover Context Problem Forces Solution Separate Implementation Pattern
10
Integration Patterns Integrating Layer System Connections Integration Topologies
11
Integration Patterns Intent of Integration Unified data access Streamlined business process Consolidated view of systems How to Connect Via the database Via the business logic layer Via the user interface How to Interconnect Through a central “hub” Open communication One-to-many communication Integrating Layer Entity Aggregation Process Integration Portal Integration System Connection Data Integration Function Integration Presentation Integration Integration Topologies Message Broker Message Bus Publish-Subscribe
12
Integrating Layer
13
Portal Integration How can users efficiently perform tasks that require access to information that resides in multiple disparate systems? Create a Portal Application that displays the information retrieved from multiple applications in a unified user interface
14
Entity Integration How can enterprise data that is redundantly distributed across multiple repositories be effectively maintained by applications? Introduce an Entity Aggregation layer that provides a logical representation of the entities at an enterprise level with physical connections that support access to the back-end repositories
15
Process Integration How do you coordinate the execution of a long-running business function that spans multiple disparate applications? Define a business process model that describes the individual steps that make up the complex business function; Create a separate process manager component that can interpret multiple concurrent instances of this model and that can interact with the existing applications
16
Integration Patterns Integrating Layer System Connections Integration Topologies
17
System Connections
18
Integration Topologies
19
Additional Integration Patterns
20
Agenda Overview of Microsoft patterns & practices Integration patterns Pattern based design example
21
Team Scenario? Integrating Layer System Connections Integration Topologies
22
Pattern based design – team scenario Global Bank Mid-sized bank Grown through acquisition Limited and disparate online presence Online initiative Electronic Bill Presentment and Payment (EBPP) Trace use of patterns throughout design Build full baseline architecture Discuss via the Artefacts created
23
Business Scenario: Convergence “In the Convergence pattern, competitors from previously distinct industries start competing to satisfy the requirements of a specific customer set. There are three distinct flavors of this pattern: product, in which product boundaries blur; supplier, in which suppliers become ‘one stop shops’; and complementor, in which companies combine to deliver greater value” - Profit Patterns, Adrian J. Slywotsky
24
CEO’s view – High level enterprise Arch
25
GM of Banking – EBPP view
26
EBPP Director – HL Processes view
27
EBPP Major Use Cases
30
Layers?
31
SOI?
32
Implementing Service Oriented Integration How do you integrate information systems that were not designed to work together? Coupling affects interoperability Divergence in platform type systems and data structures Machine boundaries are important Design systems to produce and consume XML-based Web Services. Comply with industry standards, specifically WS-I
33
Implementing Service Oriented Integration Using ASP.NET WSDL Schema Web Method Using BizTalk
35
[STAThread] static void Main(string[] args) { Gateway.Gateway gateway = new Gateway.Gateway(); Gateway.GetAccountInfoRequest request = new Gateway.GetAccountInfoRequest(); request.AccountID = "123"; try { Gateway.GetAccountInfoResponse response = gateway.GetAccountInfo(request); System.Console.WriteLine("{0} {1} {2}", response.AccountID, response.Name, response.Balance); } catch (SoapException se) { Console.WriteLine(se.Message); } System.Console.ReadLine(); } [STAThread] static void Main(string[] args) { Gateway.Gateway gateway = new Gateway.Gateway(); Gateway.GetAccountInfoRequest request = new Gateway.GetAccountInfoRequest(); request.AccountID = "123"; try { Gateway.GetAccountInfoResponse response = gateway.GetAccountInfo(request); System.Console.WriteLine("{0} {1} {2}", response.AccountID, response.Name, response.Balance); } catch (SoapException se) { Console.WriteLine(se.Message); } System.Console.ReadLine(); } - - Consumer Message Schema [WebMethod] [SoapDocumentMethod(ParameterStyle=SoapParameterStyle.Bare)] public GetAccountInfoResponse GetAccountInfo( [XmlElement("GetAccountInfoRequest")] GetAccountInfoRequest getAccountInfoRequest) { CedarBank.ICedarBank bank = CedarBankPlugInFactory.GetCedarBankImpl(); CedarBank.AccountInfo cedarAccountInfo = bank.GetAccountInfo(getAccountInfoRequest.AccountID); return BuildAccountInfo(getAccountInfoRequest, cedarAccountInfo); } [WebMethod] [SoapDocumentMethod(ParameterStyle=SoapParameterStyle.Bare)] public GetAccountInfoResponse GetAccountInfo( [XmlElement("GetAccountInfoRequest")] GetAccountInfoRequest getAccountInfoRequest) { CedarBank.ICedarBank bank = CedarBankPlugInFactory.GetCedarBankImpl(); CedarBank.AccountInfo cedarAccountInfo = bank.GetAccountInfo(getAccountInfoRequest.AccountID); return BuildAccountInfo(getAccountInfoRequest, cedarAccountInfo); } Provider
36
How is this Description of SOI Different? Fits in with all integration alternatives. Written in the context of higher and lower level decisions. Written with separation of conceptual and implementation.
37
Baseline? Early Conversation
38
Baseline Architecture from Patterns Technology?
39
Baseline Implementation from Patterns Deployment?
40
Baseline Infrastructure from Implementation Agile?
41
Agenda Review Overview of Microsoft patterns & practices Integration patterns Pattern based design example
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.