SlideShare a Scribd company logo
1 of 32
1
Enterprise Integration
Erik Doernenburg
ThoughtWorks, Inc.
edoernen@thoughtworks.com
© Copyright ThoughtWorks, Inc.® 2005
2
Agenda
 Challenges in enterprise application development
 Design patterns
 Enterprise Integration patterns
 Interop technologies
 Conclusion & Resources
© Copyright ThoughtWorks, Inc.® 2005
3
The challenge
 Enterprises depend on a growing number of IT systems
 The systems must provide an integrated solution for the
enterprise
 The systems must interoperate with each other
 Architectural trends and “waves” of technologies
 Changing business needs and requirements
© Copyright ThoughtWorks, Inc.® 2005
4
Existing Systems
New System
Finance Operator Application
 Workflow items are stored on Tibco RV/CM queue
 Tibco Integration Manager
 organises workflow
 handles imports from document recognition
 handles interaction with existing ERP systems
 Reference data imported using linked servers
fax/telex
email
mail document
recognition
app web
ERP ref. data
© Copyright ThoughtWorks, Inc.® 2005
5
New application
Existing
Portfolio Management Tool
 Front-end uses Office 2003
code-behind technology
 communicates with server using
WebSphere MQ queues
 Message format defined with
XSD schema
 Application uses existing services
 accesses analytics library with
COM bridge
 accesses stored deals through
deal manager service
 accesses service bus through
messaging abstraction library
analytics
library
Existing
deal
manager
Existing
messaging
library
technology
adaptor
Excel
front-end
application
logic
6
Design Patterns
© Copyright ThoughtWorks, Inc.® 2005
7
Why design patterns?
 Code reuse remains difficult
but…
 Knowledge reuse can be very valuable
 Patterns encapsulate knowledge of successful designs
© Copyright ThoughtWorks, Inc.® 2005
8
Using technology successfully
 Syntax
 Basic language mechanism
 A necessity but not a guarantee
 Constructs
 Classes, Interfaces, Inheritance, Polymorphism, etc.
 Helpful but not sufficient for good design
 Principles
 Separation of concerns, Dependency Injection, etc.
 Steer us towards a better solution
 Patterns
 Model-View-Controller, Observer, Decorator
 Concrete design guidance
© Copyright ThoughtWorks, Inc.® 2005
9
Patterns
 “Mind sized” chunk of information (Ward Cunningham)
 Shows a good solution to a common problem within a
specific context
 Observed from actual experience
 Has a distinct name
 Not copy-paste
 ThoughtWorks collaborates with Microsoft to document
design patterns for the .NET platform
© Copyright ThoughtWorks, Inc.® 2005
11
Enterprise Integration Patterns
 Gregor Hohpe defined a visual pattern language describing
message-based enterprise integration solutions
 Pattern language comprises 65 patterns in 6 categories
Application
A
Application
B
Message
Channel
Router Translator
Endpoint Endpoint
Monitoring
Messaging
Endpoints
Messaging
Channels
Message
Construction
Message
Routing
Message
Transformation
System
Management
© Copyright ThoughtWorks, Inc.® 2005
13
Pattern: Request-Response
 Service Consumer and Provider (similar to RPC)
 Channels are unidirectional
 Two asynchronous point-to-point channels
 Separate request and response messages
Request Channel
Response
Request
Reply Channel
Provider
Consumer
© Copyright ThoughtWorks, Inc.® 2005
14
Multiple consumers
 Each consumer has its own reply queue
 But how does the provider send the response?
 Could send to all consumers (very inefficient)
 Hard code (violates principle of context-free service)
Responses
Requests
?
Requests
Request Channel
Reply Channel 1
Reply Channel 2
Provider
Consumer 1
Consumer 2
© Copyright ThoughtWorks, Inc.® 2005
15
Pattern: Return Address
 Consumer specifies Return Address (the reply channel)
in the request message
 Service provider sends response message to specified
channel
Responses
Reply
Channel 1
Reply
Channel 2
Request Channel
Reply Channel 1
Reply Channel 2
Provider
Consumer 1
Consumer 2
© Copyright ThoughtWorks, Inc.® 2005
16
Load-balanced service providers
 Request message can be handled by multiple providers
 Point-to-point channel supports competing services
 Only one service receives each request message
 But what if the response messages are out of order?
Request Channel
Reply Channel
Provider 1
Provider 2
Consumer
© Copyright ThoughtWorks, Inc.® 2005
17
Pattern: Correlation Identifier
 Consumer assigns a unique identifier to each message
 Identifier can be an arbitrary ID, a GUID, a business key
 Provider copies the ID to the response message
 Consumer can match request and response
Message
Identifier 1
2
1 2
1
2 1
2
1 2
1
2
Correlation
Identifier
Request Channel
Reply Channel
Provider 1
Provider 2
Consumer
© Copyright ThoughtWorks, Inc.® 2005
19
Multiple specialised providers
 Each provider can only handle a specific type of message
 Route the request to the "appropriate" provider. But how?
 Do not want to burden sender with decision
 Letting providers "pick out" messages requires
coordination
Order
Entry
Widget Inv.
?
Order Messages
Gadget Inv.
© Copyright ThoughtWorks, Inc.® 2005
20
Pattern: Content-Based Router
 Insert a content-based router
 Routers forward incoming messages to different channels
 Message content not changed
 Mostly stateless, but can be stateful, e.g. de-duper
Order
Entry
Widget Inv.
Order Messages
Gadget Inv.
Content
Based
Router
© Copyright ThoughtWorks, Inc.® 2005
21
Composite messages
 How can we process a message that contains multiple
elements?
Order
Entry
?
Order
Message
Widget Inv.
Gadget Inv.
© Copyright ThoughtWorks, Inc.® 2005
22
Pattern: Splitter & Router
 Use a splitter to break out the composite message into a
series of individual messages
 Then use a router to route the individual messages as before
 Note that two patterns are composed
Widget Inv.
Gadget Inv.
Order
Entry
Router
Splitter
Order
Message
Order
Items
Order
Item 1
Order
Item 2
© Copyright ThoughtWorks, Inc.® 2005
23
Producing a single response
 How to combine the results of individual but related
messages?
 Messages can be out-of-order, delayed
 Multiple conversations can be intermixed
Widget Inv.
Gadget Inv.
Billing
Order
Item 1 Response 1
Order
Item 2
Response 2
Confirmed
Order
?
© Copyright ThoughtWorks, Inc.® 2005
24
Pattern: Aggregator
 Use a stateful filter, an Aggregator
 Collects and stores messages until a complete set has been
received (completeness condition)
 Publishes a single message created from the individual
messages (aggregation algorithm)
Widget Inv.
Gadget Inv.
Billing
Aggregator
Order
Item 1 Response 1
Order
Item 2
Response 2
Confirmed
Order
© Copyright ThoughtWorks, Inc.® 2005
25
Communicating with multiple parties
 How to send a message to a dynamic set of recipients?
 And return a single response message?
Request
For Quote
Vendor A
Vendor B
Quotes
Aggregator
Best
Quote
Vendor C
?
© Copyright ThoughtWorks, Inc.® 2005
26
Pattern: Scatter-Gather
 Send message to a pub-sub channel
 Interested recipients subscribe to a "topic"
 Aggregator collects individual response messages
 may not wait for all quotes, only returns one quote
Request
For Quote
Vendor A
Vendor B
Quotes
Aggregator
Best
Quote
Vendor C
Pub-Sub
channel
© Copyright ThoughtWorks, Inc.® 2005
27
Complex composition
 Receive an order message
 Use splitter to create one message per item
 Send to scatter/gather which returns "best quote" message
 Aggregate to create quoted order message
Quote request
for each item
Vendor A
Vendor B
Quotes
Aggregator
Best Quote
for each item
Vendor C
Aggregator
Splitter
Pub-Sub
channel
28
Interop technologies
© Copyright ThoughtWorks, Inc.® 2005
29
 Resource based
 RPC style / distributed objects
 Message based / document-oriented
Major interop technologies
DB files
RMI-IIOP
(CORBA)
MOM
in-process
bridge
WS-*
WS
Remoting
(DCOM)
WS
© Copyright ThoughtWorks, Inc.® 2005
30
Interop technology characteristics
point-to-point
transient messages
durable message
server lifetime-
management
bridge
Remoting
(DCOM)
RMI-IIOP
(CORBA)
WS
MOM
DB/files
routable
WS-*
clustering
in-proc
.NET
server
J2EE
server
platform
neutral
WS
MOM WS-*
© Copyright ThoughtWorks, Inc.® 2005
31
Messaging
 Channels are separate from applications
Removes location dependencies
 Channels are asynchronous & reliable
Removes temporal dependencies
 Data is exchanged in self-contained messages
Removes data format dependencies
 Loosely coupled integration enables independent variation
© Copyright ThoughtWorks, Inc.® 2005
32
Why Web Services?
 Web services provide all benefits of messaging solution
 loose-coupling
 service oriented
 reliable communication
 Why web services?
 composable protocol
 vendor neutral
 suitable for access through Internet
© Copyright ThoughtWorks, Inc.® 2005
33
Web Services development
 Web Services are expected to become the default Messaging
solution in the future
 WS-* standards are evolving rapidly, most important
 WS-Security
 WS-Policy
 WS-Addressing
 WS-I defines profiles, sample applications and testing tools
 Profiles are guidelines for using WS specifications
 Use Basic profile 1.1 to build interoperable solutions
 Further research on WS is being carried out
© Copyright ThoughtWorks, Inc.® 2005
35
Conclusion
 Enterprise systems are becoming more complex
 We have patterns to help us with the design
 We have technologies to implement our designs
 Building for interoperability and integration is key
© Copyright ThoughtWorks, Inc.® 2005
36
Enterprise Solution Patterns
using Microsoft .NET
Microsoft Patterns & Practices
2003
Recommended books
Patterns of Enterprise
Application Architecture
Martin Fowler
Addison-Wesley, 2003
Enterprise Integration Patterns
Gregor Hohpe, Bobby Woolf
Addison-Wesley, 2004
Integration Patterns
Microsoft Patterns & Practices
2004
Enterprise SOA
Dirk Krafzig, Karl Banke,
Dirk Slama
Prentice Hall, 2004

More Related Content

Similar to Enterprise_Integration.ppt

Introduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerIntroduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerAnt Phillips
 
Lixsql port enterprise integration
Lixsql port   enterprise integrationLixsql port   enterprise integration
Lixsql port enterprise integrationSandro Pereira
 
Application layer assignments
Application layer assignmentsApplication layer assignments
Application layer assignmentsIsaac Akingbala
 
CCNA RS_NB - Chapter 4
CCNA RS_NB - Chapter 4CCNA RS_NB - Chapter 4
CCNA RS_NB - Chapter 4Irsandi Hasan
 
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
Business Data Communications and Networking 12th Edition FitzGerald Solutions...Business Data Communications and Networking 12th Edition FitzGerald Solutions...
Business Data Communications and Networking 12th Edition FitzGerald Solutions...TylerYuli
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the CloudBen Saunders
 
nptl cc video.pptx
nptl cc video.pptxnptl cc video.pptx
nptl cc video.pptxMunmunSaha7
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerEffective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerAnt Phillips
 
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
Messaging in the Cloud with IBM MQ Light and IBM BluemixMessaging in the Cloud with IBM MQ Light and IBM Bluemix
Messaging in the Cloud with IBM MQ Light and IBM BluemixRobert Nicholson
 
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud SolutionsSmarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud SolutionsJean-Yves Rigolet
 
Multimedia authoring tools and User interface design
Multimedia authoring tools and User interface designMultimedia authoring tools and User interface design
Multimedia authoring tools and User interface designSagar Rai
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2
 
201307 esb01 - iib v9 patterns
201307   esb01 - iib v9 patterns201307   esb01 - iib v9 patterns
201307 esb01 - iib v9 patternskondapallishashi
 
SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactoryNCCOMMS
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays
 

Similar to Enterprise_Integration.ppt (20)

Introduction to WebSphere Message Broker
Introduction to WebSphere Message BrokerIntroduction to WebSphere Message Broker
Introduction to WebSphere Message Broker
 
Lixsql port enterprise integration
Lixsql port   enterprise integrationLixsql port   enterprise integration
Lixsql port enterprise integration
 
Application layer assignments
Application layer assignmentsApplication layer assignments
Application layer assignments
 
CCNA RS_NB - Chapter 4
CCNA RS_NB - Chapter 4CCNA RS_NB - Chapter 4
CCNA RS_NB - Chapter 4
 
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
Business Data Communications and Networking 12th Edition FitzGerald Solutions...Business Data Communications and Networking 12th Edition FitzGerald Solutions...
Business Data Communications and Networking 12th Edition FitzGerald Solutions...
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
 
nptl cc video.pptx
nptl cc video.pptxnptl cc video.pptx
nptl cc video.pptx
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message BrokerEffective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
 
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
Messaging in the Cloud with IBM MQ Light and IBM BluemixMessaging in the Cloud with IBM MQ Light and IBM Bluemix
Messaging in the Cloud with IBM MQ Light and IBM Bluemix
 
Microservices.pdf
Microservices.pdfMicroservices.pdf
Microservices.pdf
 
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud SolutionsSmarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
Smarter z/OS Software Delivery using Rational Enterprise Cloud Solutions
 
Multimedia authoring tools and User interface design
Multimedia authoring tools and User interface designMultimedia authoring tools and User interface design
Multimedia authoring tools and User interface design
 
Session 6
Session 6Session 6
Session 6
 
Open Digital Framework from TMFORUM
Open Digital Framework from TMFORUMOpen Digital Framework from TMFORUM
Open Digital Framework from TMFORUM
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101
 
201307 esb01 - iib v9 patterns
201307   esb01 - iib v9 patterns201307   esb01 - iib v9 patterns
201307 esb01 - iib v9 patterns
 
SPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint FactorySPCA2013 - Building a SharePoint Factory
SPCA2013 - Building a SharePoint Factory
 
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
 

Recently uploaded

Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

Enterprise_Integration.ppt

  • 2. © Copyright ThoughtWorks, Inc.® 2005 2 Agenda  Challenges in enterprise application development  Design patterns  Enterprise Integration patterns  Interop technologies  Conclusion & Resources
  • 3. © Copyright ThoughtWorks, Inc.® 2005 3 The challenge  Enterprises depend on a growing number of IT systems  The systems must provide an integrated solution for the enterprise  The systems must interoperate with each other  Architectural trends and “waves” of technologies  Changing business needs and requirements
  • 4. © Copyright ThoughtWorks, Inc.® 2005 4 Existing Systems New System Finance Operator Application  Workflow items are stored on Tibco RV/CM queue  Tibco Integration Manager  organises workflow  handles imports from document recognition  handles interaction with existing ERP systems  Reference data imported using linked servers fax/telex email mail document recognition app web ERP ref. data
  • 5. © Copyright ThoughtWorks, Inc.® 2005 5 New application Existing Portfolio Management Tool  Front-end uses Office 2003 code-behind technology  communicates with server using WebSphere MQ queues  Message format defined with XSD schema  Application uses existing services  accesses analytics library with COM bridge  accesses stored deals through deal manager service  accesses service bus through messaging abstraction library analytics library Existing deal manager Existing messaging library technology adaptor Excel front-end application logic
  • 7. © Copyright ThoughtWorks, Inc.® 2005 7 Why design patterns?  Code reuse remains difficult but…  Knowledge reuse can be very valuable  Patterns encapsulate knowledge of successful designs
  • 8. © Copyright ThoughtWorks, Inc.® 2005 8 Using technology successfully  Syntax  Basic language mechanism  A necessity but not a guarantee  Constructs  Classes, Interfaces, Inheritance, Polymorphism, etc.  Helpful but not sufficient for good design  Principles  Separation of concerns, Dependency Injection, etc.  Steer us towards a better solution  Patterns  Model-View-Controller, Observer, Decorator  Concrete design guidance
  • 9. © Copyright ThoughtWorks, Inc.® 2005 9 Patterns  “Mind sized” chunk of information (Ward Cunningham)  Shows a good solution to a common problem within a specific context  Observed from actual experience  Has a distinct name  Not copy-paste  ThoughtWorks collaborates with Microsoft to document design patterns for the .NET platform
  • 10. © Copyright ThoughtWorks, Inc.® 2005 11 Enterprise Integration Patterns  Gregor Hohpe defined a visual pattern language describing message-based enterprise integration solutions  Pattern language comprises 65 patterns in 6 categories Application A Application B Message Channel Router Translator Endpoint Endpoint Monitoring Messaging Endpoints Messaging Channels Message Construction Message Routing Message Transformation System Management
  • 11. © Copyright ThoughtWorks, Inc.® 2005 13 Pattern: Request-Response  Service Consumer and Provider (similar to RPC)  Channels are unidirectional  Two asynchronous point-to-point channels  Separate request and response messages Request Channel Response Request Reply Channel Provider Consumer
  • 12. © Copyright ThoughtWorks, Inc.® 2005 14 Multiple consumers  Each consumer has its own reply queue  But how does the provider send the response?  Could send to all consumers (very inefficient)  Hard code (violates principle of context-free service) Responses Requests ? Requests Request Channel Reply Channel 1 Reply Channel 2 Provider Consumer 1 Consumer 2
  • 13. © Copyright ThoughtWorks, Inc.® 2005 15 Pattern: Return Address  Consumer specifies Return Address (the reply channel) in the request message  Service provider sends response message to specified channel Responses Reply Channel 1 Reply Channel 2 Request Channel Reply Channel 1 Reply Channel 2 Provider Consumer 1 Consumer 2
  • 14. © Copyright ThoughtWorks, Inc.® 2005 16 Load-balanced service providers  Request message can be handled by multiple providers  Point-to-point channel supports competing services  Only one service receives each request message  But what if the response messages are out of order? Request Channel Reply Channel Provider 1 Provider 2 Consumer
  • 15. © Copyright ThoughtWorks, Inc.® 2005 17 Pattern: Correlation Identifier  Consumer assigns a unique identifier to each message  Identifier can be an arbitrary ID, a GUID, a business key  Provider copies the ID to the response message  Consumer can match request and response Message Identifier 1 2 1 2 1 2 1 2 1 2 1 2 Correlation Identifier Request Channel Reply Channel Provider 1 Provider 2 Consumer
  • 16. © Copyright ThoughtWorks, Inc.® 2005 19 Multiple specialised providers  Each provider can only handle a specific type of message  Route the request to the "appropriate" provider. But how?  Do not want to burden sender with decision  Letting providers "pick out" messages requires coordination Order Entry Widget Inv. ? Order Messages Gadget Inv.
  • 17. © Copyright ThoughtWorks, Inc.® 2005 20 Pattern: Content-Based Router  Insert a content-based router  Routers forward incoming messages to different channels  Message content not changed  Mostly stateless, but can be stateful, e.g. de-duper Order Entry Widget Inv. Order Messages Gadget Inv. Content Based Router
  • 18. © Copyright ThoughtWorks, Inc.® 2005 21 Composite messages  How can we process a message that contains multiple elements? Order Entry ? Order Message Widget Inv. Gadget Inv.
  • 19. © Copyright ThoughtWorks, Inc.® 2005 22 Pattern: Splitter & Router  Use a splitter to break out the composite message into a series of individual messages  Then use a router to route the individual messages as before  Note that two patterns are composed Widget Inv. Gadget Inv. Order Entry Router Splitter Order Message Order Items Order Item 1 Order Item 2
  • 20. © Copyright ThoughtWorks, Inc.® 2005 23 Producing a single response  How to combine the results of individual but related messages?  Messages can be out-of-order, delayed  Multiple conversations can be intermixed Widget Inv. Gadget Inv. Billing Order Item 1 Response 1 Order Item 2 Response 2 Confirmed Order ?
  • 21. © Copyright ThoughtWorks, Inc.® 2005 24 Pattern: Aggregator  Use a stateful filter, an Aggregator  Collects and stores messages until a complete set has been received (completeness condition)  Publishes a single message created from the individual messages (aggregation algorithm) Widget Inv. Gadget Inv. Billing Aggregator Order Item 1 Response 1 Order Item 2 Response 2 Confirmed Order
  • 22. © Copyright ThoughtWorks, Inc.® 2005 25 Communicating with multiple parties  How to send a message to a dynamic set of recipients?  And return a single response message? Request For Quote Vendor A Vendor B Quotes Aggregator Best Quote Vendor C ?
  • 23. © Copyright ThoughtWorks, Inc.® 2005 26 Pattern: Scatter-Gather  Send message to a pub-sub channel  Interested recipients subscribe to a "topic"  Aggregator collects individual response messages  may not wait for all quotes, only returns one quote Request For Quote Vendor A Vendor B Quotes Aggregator Best Quote Vendor C Pub-Sub channel
  • 24. © Copyright ThoughtWorks, Inc.® 2005 27 Complex composition  Receive an order message  Use splitter to create one message per item  Send to scatter/gather which returns "best quote" message  Aggregate to create quoted order message Quote request for each item Vendor A Vendor B Quotes Aggregator Best Quote for each item Vendor C Aggregator Splitter Pub-Sub channel
  • 26. © Copyright ThoughtWorks, Inc.® 2005 29  Resource based  RPC style / distributed objects  Message based / document-oriented Major interop technologies DB files RMI-IIOP (CORBA) MOM in-process bridge WS-* WS Remoting (DCOM) WS
  • 27. © Copyright ThoughtWorks, Inc.® 2005 30 Interop technology characteristics point-to-point transient messages durable message server lifetime- management bridge Remoting (DCOM) RMI-IIOP (CORBA) WS MOM DB/files routable WS-* clustering in-proc .NET server J2EE server platform neutral WS MOM WS-*
  • 28. © Copyright ThoughtWorks, Inc.® 2005 31 Messaging  Channels are separate from applications Removes location dependencies  Channels are asynchronous & reliable Removes temporal dependencies  Data is exchanged in self-contained messages Removes data format dependencies  Loosely coupled integration enables independent variation
  • 29. © Copyright ThoughtWorks, Inc.® 2005 32 Why Web Services?  Web services provide all benefits of messaging solution  loose-coupling  service oriented  reliable communication  Why web services?  composable protocol  vendor neutral  suitable for access through Internet
  • 30. © Copyright ThoughtWorks, Inc.® 2005 33 Web Services development  Web Services are expected to become the default Messaging solution in the future  WS-* standards are evolving rapidly, most important  WS-Security  WS-Policy  WS-Addressing  WS-I defines profiles, sample applications and testing tools  Profiles are guidelines for using WS specifications  Use Basic profile 1.1 to build interoperable solutions  Further research on WS is being carried out
  • 31. © Copyright ThoughtWorks, Inc.® 2005 35 Conclusion  Enterprise systems are becoming more complex  We have patterns to help us with the design  We have technologies to implement our designs  Building for interoperability and integration is key
  • 32. © Copyright ThoughtWorks, Inc.® 2005 36 Enterprise Solution Patterns using Microsoft .NET Microsoft Patterns & Practices 2003 Recommended books Patterns of Enterprise Application Architecture Martin Fowler Addison-Wesley, 2003 Enterprise Integration Patterns Gregor Hohpe, Bobby Woolf Addison-Wesley, 2004 Integration Patterns Microsoft Patterns & Practices 2004 Enterprise SOA Dirk Krafzig, Karl Banke, Dirk Slama Prentice Hall, 2004