Title: Strategic Architecture Forum 2004
1(No Transcript)
2Integration Patterns Overview
- Christopher Baldwin
- Architect
- Microsoft EMEA
- cbaldwin_at_microsoft.com
3Interoperability Integration Workshop
- April 7-8, 2005
- Istanbul
- Very hands on
- Extend sample enterprise with II patterns
4Agenda
- Overview of Microsoft patterns practices
- Integration patterns
- Pattern based design example
5Patterns Practices
6Abstract
Code-based
Architecture Scenarios
Baseline Architectures (aka Skeletal Apps)
- Ex. clients submitting one-way service requests
via message queues, SOAP message, transaction
spanning message queue and business action,
- Compositions of pattern implementations that meet
requirements of scenarios - Pattern implementations include blocks and
tool-generated code
Scenarios
Tools
- Pattern selection
- Patten implementation
- Block inclusion
- Code generation
- Configuration
Patterns and Reference Model
- Selected patterns of distributed applications
- Meaningful pattern compositions
Block Library
- A library of configurable, generally applicable
blocks - Blocks or block compositions may implement
patterns, but they dont imply patterns directly
7Patterns Traceable Down to Bits
Pattern Set
Patterns Bound to Platform
Pattern Implementations, Blocks, Frameworks
Logical Servers
Bits Hardware
8Enterprise Architecture - Patterns
9Agenda
- Overview of Microsoft patterns practices
- Integration patterns
- Pattern based design example
10Integration Patterns Book
- Available to download from http//msdn.microsoft.c
om/patterns
11Patterns are
- Guidance
- Conceptual, platform independent
- Textual
- At minimum, cover
- Context
- Problem
- Forces
- Solution
- Separate Implementation Pattern
12Integration Patterns
Integrating Layer
System Connections
Integration Topologies
13Integration 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
14Integrating Layer
15Portal Integration
- How can users efficiently perform tasks that
require access to information that resides in
multiple disparate systems?
16Entity Integration
- How can enterprise data that is redundantly
distributed across multiple repositories be
effectively maintained by applications?
17Process Integration
- How do you coordinate the execution of a
long-running business function that spans
multiple disparate applications?
18Integration Patterns
Integrating Layer
System Connections
Integration Topologies
19System Connections
20Integration Topologies
21Additional Integration Patterns
22Agenda
- Overview of Microsoft patterns practices
- Integration patterns
- Pattern based design example
23Integrating Layer
System Connections
Integration Topologies
Team Scenario?
24Pattern 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
25Business 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
26CEOs view High level enterprise Arch
27GM of Banking EBPP view
28EBPP Director HL Processes view
29EBPP Major Use Cases
30(No Transcript)
31(No Transcript)
32Layers?
33SOI?
34Implementing 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
35Implementing Service Oriented Integration
Implementing Service Oriented Integration
Using ASP.NET
Using BizTalk
Web Method
Schema
WSDL
36(No Transcript)
37Message Schema
lt?xml version"1.0" encoding"utf-16" ?gt -
ltxsschema xmlns"http//msdn.microsoft.com/patter
ns" xmlnsb"http//schemas.microsoft.com/BizTalk/
2003" elementFormDefault"qualified"
targetNamespace"http//msdn.microsoft.com/pattern
s" id"CreditAccountRequest" xmlnsxs"http//www.
w3.org/2001/XMLSchema"gt - ltxselement
name"CreditAccountRequest"gt - ltxscomplexTypegt -
ltxssequencegt  ltxselement name"AccountID"
type"xsstring" /gt  ltxselement name"Amount"
type"xsdecimal" /gt  lt/xssequencegt Â
lt/xscomplexTypegt  lt/xselementgt  lt/xsschemagt
Consumer
STAThread static void Main(string
args) Gateway.Gateway
gateway new Gateway.Gateway()
Gateway.GetAccountInfoRequest request new
Gateway.GetAccountInfoRequest()
request.AccountID "123" try
Gateway.GetAccountInfoResp
onse 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()
Provider
WebMethod SoapDocumentMethod(ParameterS
tyleSoapParameterStyle.Bare) public
GetAccountInfoResponse GetAccountInfo(
XmlElement("GetAccountInfoRequest")
GetAccountInfoRequest getAccountInfoRequest)
CedarBank.ICedarBank bank
CedarBankPlugInFactory.GetCedarBankImpl()
CedarBank.AccountInfo cedarAccountInfo
bank.GetAccountInfo(getAccountInfoRequest.AccountI
D) return BuildAccountInfo(getAccoun
tInfoRequest, cedarAccountInfo)
38How 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.
39Baseline? Early Conversation
40Baseline Architecture from Patterns
Technology?
41Baseline Implementation from Patterns
Deployment?
42Baseline Infrastructure from Implementation
Agile?
43Agenda Review
- Overview of Microsoft patterns practices
- Integration patterns
- Pattern based design example
44(No Transcript)