410 likes | 532 Views
Choosing an application integration strategy Anko Duizer Class-A. Overview. Why integration? What is integration? Challenges Common scenario’s Which technologies does Microsoft offer? Messaging Design considerations A different viewpoint: The Ring(s) The Matrix. Why?.
E N D
Choosing an applicationintegration strategyAnko DuizerClass-A
Overview • Why integration? • What is integration? • Challenges • Common scenario’s • Which technologies does Microsoft offer? • Messaging • Design considerations • A different viewpoint: The Ring(s) • The Matrix
Why? • Enterprises are typically comprised of hundreds applications • Custom built, acquired by a third party, legacy systems • Reasons • Creating a single, big application to run a complete business is impossible • Flexibility to select “the best” • Use a collaborative partner model
Those who can not remember the past are condemned to repeat it!
The current situation A F B C E D
What? • Connecting • Computer systems • Companies • People Application integration is the secure and orchestrated sharing of processes and/ or data between applications
Integration scenarios • Information portals • Data replication • Shared business functions • Service-oriented architectures • Distributed business processes • Business-to-business integration
Basic challenges • Networks are unreliable • Networks are slow • Any two applications are different • Change is inevitable • Organizational problems
Integration approaches • Simple association • Central hub • The big database approach • Message bus • Service integration • Hybrid
Application Application UI UI BO BO Data Data BO BO Simple association Endpoint Endpoint
Application Application UI UI BO BO Data Data BO BO Central hub Endpoint Endpoint ERP System
The big database approach Application Application UI BO UI BO BO BO Data
Application Application UI UI BO BO Data Data BO BO Message bus Endpoint Endpoint Message bus
Application Application UI UI BO BO Data Data BO BO Service integration (1) Endpoint Endpoint Service
Service integration (2) Application Endpoint Service Service Service Service Endpoint Endpoint Endpoint Application Application Application
Microsoft technology • BizTalk Server 2004 • Web Services • MSMQ • DTS • Indigo (not available yet) • SQL Service Broker (not available yet)
BizTalk Server 2004 management development operation orchestration services orchestration designer action administration pipeline designer tracking tracking biztalk editor port monitoring messaging services biztalk mapper config Business rules messaging management applications
Web Services .NET COM EJB Perl … proxy listener XML over HTTP Client Host Application Component Internet Browser Host proxy Page HTTP request
MSMQ Sender Receiver msg msg msg msg Queue
DTS Destination Source Transforms ActiveX Script Copy Trim String … Custom OLE DB ODBC Fixed field ASCII delimited OLE DB ODBC Fixed field ASCII delimited Repl. publication Out In DTS Data Pump
Message Indigo Service Port Channel Service Channel Service Service Channel
SQL service broker msg msg msg Message type msg Queue Contract Service program Service
Messaging • Loosely coupled • Communicating asynchronously • Reliable • Makes the messaging responsible for transferring data from one application to another
Sync or async? time blocked Process A Process B time Process A Process B
Basic messaging concepts Endpoint Application Application Channel Endpoint Message Translation Routing
Messaging patterns • 3) • Needs ability to cache response from multiple requests to respond to one message Y • 2) • Request / Reply • System makes request • and gets response • 1) • Fire and Forget • No Response required Y Y EAI X EAI X EAI X A B C Y A Z B EAI EAI X X EAI X C XREF • 4A/B) • Multiple Applications needed to satisfy request • 4A: XREF Look-up • 4B: XREF Update • 5) • Publish Subscribe • A, B and C subscribe to message • 6A) • Needs data from Z to be • able to update Y
Main design considerations • Timing/ Latency • Identification • Industry keys, Internal keys, Chained keys & Matching algorithms • Sharing entities, activities, processes and utilities • Designing endpoints • Message transformation
Main design considerations • Routing • Security • System management • ACID Transactions • Service-oriented architectures
Shared data ownership E-Commerce Inventory E-Commerce
The Ring(s) 1. Application 2. Enterprise 3. Collaborative partners 4. Everybody else
Conclusions • Integration is hard! • Integration requires good thinking! • Different technologies available, use them smartly! • Start thinking asynchronously and message based!
References • Books • Enterprise integration Patterns, Hohpe & Wools • Enterprise Integration Solutions, Spackman & Speaker • Web • http://www.class-a.nl • http://www.objectwatch.com • http://msdn.microsoft.com/architecture
The Rings(s) • Synchronous, .NET or J2EE? , Performance, Indigo, SSB, Web Services • Asynchronous, MSMQ or MQSeries?, DTS, Security, WS-* • Asynchronous, BizTalk Server, Security, WS-* • Firewalls, for the rest you don’t care!