SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Enterprise Integration and Service-Oriented Design Hossam Karim
Agenda The Enterprise Integration Problem Enterprise Integration Principles, Styles and Messaging Concepts Service-Oriented Design Approach Frameworks and Implementations References Conclusion
The Enterprise Integration Problem Enterprise integration requires a significant shift in corporate politics Integration efforts typically have far-reaching implications on the business The lack of widely implemented standards addressing core integration problems  The concept and technology learning curve
Enterprise Integration Principles Integration is connecting computer systems, companies or people Enterprise integration is the task of making disparate applications work together to produce a unified set of functionality
Integration Types Information Portals Data Replication Shared Business Function Service-Oriented Architecture Distributed Business Process Business to Business Integration
Enterprise Integration TypesInformation Portals Portal Resource A Resource B Resource C Basic data aggregation Single source of information
Enterprise Integration TypesData Replication Application B Application A Data Access Data Access Data Store A Data Store B Data moves on the database tier Consistency is dependent on the DBMS implementation
Enterprise Integration TypesShared Business Function Application A Application B Logic A Logic B Shared Function Moves the control to the shared function logic Tightly couples all clients to the application interfaces
Enterprise Integration TypesService-Oriented Architecture Application Application Service Service A Service B Service C Service D Connects distributed applications and exposes services through a standard contract Complex to design and implement
Enterprise Integration TypesDistributed Business Process Business Process Function A Function B Function C Single point of invocation Requires other integration solutions to function
Enterprise Integration TypesBusiness-To-Business Integration Function A Function B Higher level of integration Still requires an integration solution
Enterprise Integration Styles File Transfer Shared Database Remote Procedure Invocation Messaging
Enterprise Integration StylesFile Transfer Application A Application B Shared Data Export Import Simplest form of integration Lacks timeliness and scalability
Enterprise Integration StylesShared Database Application A Application B Application C Data Access Data Access Data Access Data Store Promotes consistency Lacks portability and scalability
Enterprise Integration StylesRemote Procedure Invocation Function Call Application A Application B Stub Skeleton Reply Provides more than data sharing Tightly couples integrated parties
Enterprise Integration StylesMessaging Application A Application A Application A Event Layer Message Bus Transfer packets of data immediately, reliably, and asynchronously, using customizable formats.
Tightly Coupled Interfaces Requires minimum n(n-1)/2 interfaces, where n is the number of integrated applications
Loosely Coupled Interfaces Requires exactly n interfaces, where n is the number of integrated applications
Enterprise Integration Using Messaging Construction Channels Endpoints Routing Transformation Management Messaging Models Transactions
Message Construction Message Receiver Sender A message is a formatted unit of data A message consists of a header, properties and a body A sender marshals the data to construct the message A receiver un-marshals the data into its own data model
Message ConstructionExample: Spring Integration Generic message body type Correlation ID Header support Pure Java object as a message body Simplest form of a modeled message Uses generics to specialize message body type No marshaling or un-marshaling needed
Message ConstructionExample: Java Business Integration Attachments support XML body Merged Properties and Header support Security support Body is XML based Supports attachments and security subject
Message ConstructionExample: Apache Camel Correlation ID What is this? Header support Pure POJO body
Message ConstructionMessage Exchange Patterns Exchange Patterns WSDL 2.0 based message exchange patterns
Message ConstructionMessage Exchange This exchange pattern Actual Message Messages are encapsulated into a message exchange The pattern identifies what is encapsulated
Message ConstructionMessage Exchange, JBI Example
Messaging Channels Message Channel Sender Application Receiver Application A channel is a gateway for transmitting messages from a sender to a receiver Sender and receiver do not know about each other Can be referred to as a pipe
Message ChannelExample: Spring Integration Pure POJO model
Message ChannelExample: Java Business Integration Factory method pattern, creates message exchange factories Supports synchronous and asynchronous exchanges
Messaging Endpoints Data Data Endpoint Endpoint Channel Message Sender Application Receiver Application An endpoint is a client of a messaging application that is capable of sending and receiving messages The Message Endpoint encapsulates the messaging system from the rest of the application and customizes a general messaging API for a specific application and task
Message EndpointExample: Spring Integration
Message EndpointExample: Spring Integration
Message Processing Problem Exhausted at (n - y) messages Exhausted at (n - x)  messages (n) messages Data Endpoint Channel Receiver Application Client sends (n) messages Channel’s capacity is (n-x) messages Receiver application exhausted at (n-y) messages
Message Processing ProblemSEDA: Staged Event-Driven Architecture The Event Queue accepts incoming events The Event Handler handles incoming events The Thread Pool provides threading capabilities to the event handler The Controller adjusts resources allocation and scheduling dynamically Event Handler Event Queue Thread Pool Controller SEDA Stage
Message Processing ProblemSEDA: Staged Event-Driven Architecture Outgoing Messages Stage A Incoming Messages Outgoing Messages Stage B Receiver Stage Outgoing Messages Stage C
Message Routing Receiver A Output Channel A Receiver B Input Channel Message Message Router Output Channel B A Message Router consumes a Message from one Message Channel and republishes it to a different Message Channel, depending on a set of conditions
Message RouterExample: Spring Integration
Message Transformation Incoming Message Translated Message Translator A Message Translator is a filter that translates one data format to another
Message FlowExample: The VETRO Pattern All numbers and kinds of filters can be applied to a message before processing
System Management Message Flow Processor A Processor B Processor C Message X Message X’ Configuration Heartbeat Test Messages Control Bus Exceptions Statistics Live Console The Control Bus uses the same messaging mechanism used by the application data but uses separate channels to transmit data that is relevant to the management of components involved in the message flow
Messaging Models Publish/Subscribe Model Point-to-Point Model
Store and Forward Messaging ,[object Object]
Transparent to the messaging clients,[object Object]
Transactional MessagingDistributed Transactions Producer sends one or more messages in the transaction manager context Producer updates another resource Producer commits the transaction
Messaging Protocol Stack Payload Protocol Messaging Protocol Transport Protocol Networking Protocol Clients expect simple and widely used protocols Legacy applications communicate in proprietary protocols Firewalls require tunneling through opened ports
Service Meta-Model
Service Component Model Exposed Interface Protocol Specific Endpoint Encapsulating Component Service Implementation
Service Component Clients Protocol  Dependent Client Interface Binding
Service-Oriented Design Approach
Service-Oriented Design ApproachExample: Java Business Integration Common Logic Expose Services Message Bus Activate Endpoints
Service-Oriented Design Approach Example: Java Business Integration JBI runtime is based on the router messaging pattern All messages moving through the router are in XML format Components are installable artifacts Binding components make services available to JBI runtime clients using a service contract and through a protocol Service engines perform the actual service logic Service units activate service endpoints
Service-Oriented Design Approach Example: Java Business Integration Services are exposed on arbitrary supported protocols Messages are normalized and delivered to their channels Messages are routed through the normalized message router to the target service engine The service engine performs its task and replies to the component if appropriate
Frameworks and Implementations Spring Integrationhttp://www.springframework.org/spring-integration/ Apache ServiceMixhttp://servicemix.apache.org/ Apache Camelhttp://activemq.apache.org/camel/ Sun OpenESBhttps://open-esb.dev.java.net/ Mulehttp://mule.mulesource.org/

Weitere ähnliche Inhalte

Was ist angesagt?

Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOAMohamed Samy
 
SOA DESIGN PATTERNS A COMPREHENSIVE COURSE
SOA DESIGN PATTERNS A COMPREHENSIVE COURSESOA DESIGN PATTERNS A COMPREHENSIVE COURSE
SOA DESIGN PATTERNS A COMPREHENSIVE COURSEAmit Midha
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented MiddlewarePeter R. Egli
 
Business case study how one product deployed in 3 diverse enterprises reaped ...
Business case study how one product deployed in 3 diverse enterprises reaped ...Business case study how one product deployed in 3 diverse enterprises reaped ...
Business case study how one product deployed in 3 diverse enterprises reaped ...Mithi SkyConnect
 
Adapters and EAI
Adapters and EAIAdapters and EAI
Adapters and EAIRob Paok
 
How all levels of an enterprise can benefit from mithi's email server software
How all levels of an enterprise can benefit from mithi's email server softwareHow all levels of an enterprise can benefit from mithi's email server software
How all levels of an enterprise can benefit from mithi's email server softwareMithi SkyConnect
 
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...cscpconf
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAndrei Pîrjoleanu
 
Tutorial on J2EE versus .NET for .NET Programmers
Tutorial on J2EE versus .NET for .NET Programmers Tutorial on J2EE versus .NET for .NET Programmers
Tutorial on J2EE versus .NET for .NET Programmers David Freitas
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusMahmoud Ezzat
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureChris Eargle
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware BasicsVarun Arora
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineeringSweta Kumari Barnwal
 

Was ist angesagt? (20)

Cc unit 3 updated version
Cc unit 3 updated versionCc unit 3 updated version
Cc unit 3 updated version
 
Patterns&Antipatternsof SOA
Patterns&Antipatternsof SOAPatterns&Antipatternsof SOA
Patterns&Antipatternsof SOA
 
Middleware
MiddlewareMiddleware
Middleware
 
Middleware Technologies ppt
Middleware Technologies pptMiddleware Technologies ppt
Middleware Technologies ppt
 
Unit iii soa
Unit iii soaUnit iii soa
Unit iii soa
 
EAI (Integration) and Mulesoft
EAI (Integration) and MulesoftEAI (Integration) and Mulesoft
EAI (Integration) and Mulesoft
 
SOA DESIGN PATTERNS A COMPREHENSIVE COURSE
SOA DESIGN PATTERNS A COMPREHENSIVE COURSESOA DESIGN PATTERNS A COMPREHENSIVE COURSE
SOA DESIGN PATTERNS A COMPREHENSIVE COURSE
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented Middleware
 
Business case study how one product deployed in 3 diverse enterprises reaped ...
Business case study how one product deployed in 3 diverse enterprises reaped ...Business case study how one product deployed in 3 diverse enterprises reaped ...
Business case study how one product deployed in 3 diverse enterprises reaped ...
 
Adapters and EAI
Adapters and EAIAdapters and EAI
Adapters and EAI
 
Soa unit iv
Soa unit ivSoa unit iv
Soa unit iv
 
How all levels of an enterprise can benefit from mithi's email server software
How all levels of an enterprise can benefit from mithi's email server softwareHow all levels of an enterprise can benefit from mithi's email server software
How all levels of an enterprise can benefit from mithi's email server software
 
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
 
Web services
Web servicesWeb services
Web services
 
An Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software ArchitectureAn Introduction to Multilayered Software Architecture
An Introduction to Multilayered Software Architecture
 
Tutorial on J2EE versus .NET for .NET Programmers
Tutorial on J2EE versus .NET for .NET Programmers Tutorial on J2EE versus .NET for .NET Programmers
Tutorial on J2EE versus .NET for .NET Programmers
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Deep Dive: MVC Controller Architecture
Deep Dive: MVC Controller ArchitectureDeep Dive: MVC Controller Architecture
Deep Dive: MVC Controller Architecture
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware Basics
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineering
 

Ähnlich wie JDC2008 - Enterprise Integration and Service Oriented Design

Telpro Integration
Telpro IntegrationTelpro Integration
Telpro IntegrationRex Sheridan
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
MAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and CairngormMAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and CairngormXavier Agnetti
 
Software Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patternsSoftware Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patternsJose Emilio Labra Gayo
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
Web Service Architecture for e-Learning
Web Service Architecture for e-LearningWeb Service Architecture for e-Learning
Web Service Architecture for e-LearningVideoguy
 
Cloud Circle Talk - Enterprise Architecture, Cloud Computing and Integrations
Cloud Circle Talk - Enterprise Architecture, Cloud Computing and IntegrationsCloud Circle Talk - Enterprise Architecture, Cloud Computing and Integrations
Cloud Circle Talk - Enterprise Architecture, Cloud Computing and Integrationspaulfallon
 
Microservices and the Cloud-Based Future of Integration
Microservices and the Cloud-Based Future of IntegrationMicroservices and the Cloud-Based Future of Integration
Microservices and the Cloud-Based Future of IntegrationBizTalk360
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Jason Townsend, MBA
 
Combining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful HybridsCombining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful HybridsDavid Chou
 
Interoperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewInteroperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewJorgen Thelin
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data Nandana Mihindukulasooriya
 
Middleware 2002
Middleware 2002Middleware 2002
Middleware 2002eaiti
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integrationsanjoysanyal
 
Application integration framework & Adaptor ppt
Application integration framework & Adaptor pptApplication integration framework & Adaptor ppt
Application integration framework & Adaptor pptAditya Negi
 
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)Jorgen Thelin
 
From MoMs to DaDs : The evolution of EAI
From MoMs to DaDs : The evolution of EAIFrom MoMs to DaDs : The evolution of EAI
From MoMs to DaDs : The evolution of EAIRuben Gonzalez Blanco
 
Azure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedAzure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedWes Yanaga
 

Ähnlich wie JDC2008 - Enterprise Integration and Service Oriented Design (20)

Telpro Integration
Telpro IntegrationTelpro Integration
Telpro Integration
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
MAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and CairngormMAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
MAX 2008: Build collaborative applications with Flex LCDS and Cairngorm
 
Software Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patternsSoftware Architecture taxonomies - Integration patterns
Software Architecture taxonomies - Integration patterns
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Web Service Architecture for e-Learning
Web Service Architecture for e-LearningWeb Service Architecture for e-Learning
Web Service Architecture for e-Learning
 
Cloud Circle Talk - Enterprise Architecture, Cloud Computing and Integrations
Cloud Circle Talk - Enterprise Architecture, Cloud Computing and IntegrationsCloud Circle Talk - Enterprise Architecture, Cloud Computing and Integrations
Cloud Circle Talk - Enterprise Architecture, Cloud Computing and Integrations
 
Microservices and the Cloud-Based Future of Integration
Microservices and the Cloud-Based Future of IntegrationMicroservices and the Cloud-Based Future of Integration
Microservices and the Cloud-Based Future of Integration
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
Combining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful HybridsCombining Private and Public Clouds into Meaningful Hybrids
Combining Private and Public Clouds into Meaningful Hybrids
 
Interoperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewInteroperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) Overview
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
 
Middleware 2002
Middleware 2002Middleware 2002
Middleware 2002
 
C++ N Pv2
C++ N Pv2C++ N Pv2
C++ N Pv2
 
Topic3 Enterprise Application Integration
Topic3 Enterprise Application IntegrationTopic3 Enterprise Application Integration
Topic3 Enterprise Application Integration
 
Application integration framework & Adaptor ppt
Application integration framework & Adaptor pptApplication integration framework & Adaptor ppt
Application integration framework & Adaptor ppt
 
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
Overview of Windows Vista Devices and Windows Communication Foundation (WCF)
 
From MoMs to DaDs : The evolution of EAI
From MoMs to DaDs : The evolution of EAIFrom MoMs to DaDs : The evolution of EAI
From MoMs to DaDs : The evolution of EAI
 
Azure Services Platform Oc Event Ned
Azure Services Platform Oc Event NedAzure Services Platform Oc Event Ned
Azure Services Platform Oc Event Ned
 

Kürzlich hochgeladen

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Kürzlich hochgeladen (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

JDC2008 - Enterprise Integration and Service Oriented Design

  • 1. Enterprise Integration and Service-Oriented Design Hossam Karim
  • 2. Agenda The Enterprise Integration Problem Enterprise Integration Principles, Styles and Messaging Concepts Service-Oriented Design Approach Frameworks and Implementations References Conclusion
  • 3. The Enterprise Integration Problem Enterprise integration requires a significant shift in corporate politics Integration efforts typically have far-reaching implications on the business The lack of widely implemented standards addressing core integration problems The concept and technology learning curve
  • 4. Enterprise Integration Principles Integration is connecting computer systems, companies or people Enterprise integration is the task of making disparate applications work together to produce a unified set of functionality
  • 5. Integration Types Information Portals Data Replication Shared Business Function Service-Oriented Architecture Distributed Business Process Business to Business Integration
  • 6. Enterprise Integration TypesInformation Portals Portal Resource A Resource B Resource C Basic data aggregation Single source of information
  • 7. Enterprise Integration TypesData Replication Application B Application A Data Access Data Access Data Store A Data Store B Data moves on the database tier Consistency is dependent on the DBMS implementation
  • 8. Enterprise Integration TypesShared Business Function Application A Application B Logic A Logic B Shared Function Moves the control to the shared function logic Tightly couples all clients to the application interfaces
  • 9. Enterprise Integration TypesService-Oriented Architecture Application Application Service Service A Service B Service C Service D Connects distributed applications and exposes services through a standard contract Complex to design and implement
  • 10. Enterprise Integration TypesDistributed Business Process Business Process Function A Function B Function C Single point of invocation Requires other integration solutions to function
  • 11. Enterprise Integration TypesBusiness-To-Business Integration Function A Function B Higher level of integration Still requires an integration solution
  • 12. Enterprise Integration Styles File Transfer Shared Database Remote Procedure Invocation Messaging
  • 13. Enterprise Integration StylesFile Transfer Application A Application B Shared Data Export Import Simplest form of integration Lacks timeliness and scalability
  • 14. Enterprise Integration StylesShared Database Application A Application B Application C Data Access Data Access Data Access Data Store Promotes consistency Lacks portability and scalability
  • 15. Enterprise Integration StylesRemote Procedure Invocation Function Call Application A Application B Stub Skeleton Reply Provides more than data sharing Tightly couples integrated parties
  • 16. Enterprise Integration StylesMessaging Application A Application A Application A Event Layer Message Bus Transfer packets of data immediately, reliably, and asynchronously, using customizable formats.
  • 17. Tightly Coupled Interfaces Requires minimum n(n-1)/2 interfaces, where n is the number of integrated applications
  • 18. Loosely Coupled Interfaces Requires exactly n interfaces, where n is the number of integrated applications
  • 19. Enterprise Integration Using Messaging Construction Channels Endpoints Routing Transformation Management Messaging Models Transactions
  • 20. Message Construction Message Receiver Sender A message is a formatted unit of data A message consists of a header, properties and a body A sender marshals the data to construct the message A receiver un-marshals the data into its own data model
  • 21. Message ConstructionExample: Spring Integration Generic message body type Correlation ID Header support Pure Java object as a message body Simplest form of a modeled message Uses generics to specialize message body type No marshaling or un-marshaling needed
  • 22. Message ConstructionExample: Java Business Integration Attachments support XML body Merged Properties and Header support Security support Body is XML based Supports attachments and security subject
  • 23. Message ConstructionExample: Apache Camel Correlation ID What is this? Header support Pure POJO body
  • 24. Message ConstructionMessage Exchange Patterns Exchange Patterns WSDL 2.0 based message exchange patterns
  • 25. Message ConstructionMessage Exchange This exchange pattern Actual Message Messages are encapsulated into a message exchange The pattern identifies what is encapsulated
  • 27. Messaging Channels Message Channel Sender Application Receiver Application A channel is a gateway for transmitting messages from a sender to a receiver Sender and receiver do not know about each other Can be referred to as a pipe
  • 28. Message ChannelExample: Spring Integration Pure POJO model
  • 29. Message ChannelExample: Java Business Integration Factory method pattern, creates message exchange factories Supports synchronous and asynchronous exchanges
  • 30. Messaging Endpoints Data Data Endpoint Endpoint Channel Message Sender Application Receiver Application An endpoint is a client of a messaging application that is capable of sending and receiving messages The Message Endpoint encapsulates the messaging system from the rest of the application and customizes a general messaging API for a specific application and task
  • 33. Message Processing Problem Exhausted at (n - y) messages Exhausted at (n - x) messages (n) messages Data Endpoint Channel Receiver Application Client sends (n) messages Channel’s capacity is (n-x) messages Receiver application exhausted at (n-y) messages
  • 34. Message Processing ProblemSEDA: Staged Event-Driven Architecture The Event Queue accepts incoming events The Event Handler handles incoming events The Thread Pool provides threading capabilities to the event handler The Controller adjusts resources allocation and scheduling dynamically Event Handler Event Queue Thread Pool Controller SEDA Stage
  • 35. Message Processing ProblemSEDA: Staged Event-Driven Architecture Outgoing Messages Stage A Incoming Messages Outgoing Messages Stage B Receiver Stage Outgoing Messages Stage C
  • 36. Message Routing Receiver A Output Channel A Receiver B Input Channel Message Message Router Output Channel B A Message Router consumes a Message from one Message Channel and republishes it to a different Message Channel, depending on a set of conditions
  • 38. Message Transformation Incoming Message Translated Message Translator A Message Translator is a filter that translates one data format to another
  • 39. Message FlowExample: The VETRO Pattern All numbers and kinds of filters can be applied to a message before processing
  • 40. System Management Message Flow Processor A Processor B Processor C Message X Message X’ Configuration Heartbeat Test Messages Control Bus Exceptions Statistics Live Console The Control Bus uses the same messaging mechanism used by the application data but uses separate channels to transmit data that is relevant to the management of components involved in the message flow
  • 41. Messaging Models Publish/Subscribe Model Point-to-Point Model
  • 42.
  • 43.
  • 44. Transactional MessagingDistributed Transactions Producer sends one or more messages in the transaction manager context Producer updates another resource Producer commits the transaction
  • 45. Messaging Protocol Stack Payload Protocol Messaging Protocol Transport Protocol Networking Protocol Clients expect simple and widely used protocols Legacy applications communicate in proprietary protocols Firewalls require tunneling through opened ports
  • 47. Service Component Model Exposed Interface Protocol Specific Endpoint Encapsulating Component Service Implementation
  • 48. Service Component Clients Protocol Dependent Client Interface Binding
  • 50. Service-Oriented Design ApproachExample: Java Business Integration Common Logic Expose Services Message Bus Activate Endpoints
  • 51. Service-Oriented Design Approach Example: Java Business Integration JBI runtime is based on the router messaging pattern All messages moving through the router are in XML format Components are installable artifacts Binding components make services available to JBI runtime clients using a service contract and through a protocol Service engines perform the actual service logic Service units activate service endpoints
  • 52. Service-Oriented Design Approach Example: Java Business Integration Services are exposed on arbitrary supported protocols Messages are normalized and delivered to their channels Messages are routed through the normalized message router to the target service engine The service engine performs its task and replies to the component if appropriate
  • 53. Frameworks and Implementations Spring Integrationhttp://www.springframework.org/spring-integration/ Apache ServiceMixhttp://servicemix.apache.org/ Apache Camelhttp://activemq.apache.org/camel/ Sun OpenESBhttps://open-esb.dev.java.net/ Mulehttp://mule.mulesource.org/
  • 54. References Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions - Gregor Hohpe, Bobby Woolf Enterprise Service Bus – Dave Chappell SOA: Principles of Service Design - Thomas Erl SEDA: An Architecture for Well Conditioned, Scalable Internet Services - Matt Welsh, David Culler, and Eric Brewer Java™ Business Integration (JBI) 1.0 – JSR 208 Specification - Ron Ten-Hove, Peter Walker Thanks to Dave Chappell for granting permission to use hisdiagramming notation in this presentation
  • 55. Conclusion Don’t reinvent the wheel Keep close to the standards Spend time understanding and evaluating your infrastructure Not all frameworks and design solutions are suitable for each environment Design to scale, but don’t over design Explore integration solutions and frameworks Practice service-oriented design and implementation