SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Sherif Rasmy - ESB
Enterprise Application Integration
The Enterprise Service Bus – ESB
Sherif Rasmy - March 12, 2014
Introduction
SPX is a medium size on-line store that has successfully sustained consistent growth over the past two
years. In order to maintain that growth, management realized that their operational systems need to
be modernized to expedite purchases' delivery as well as improving the quality of customer service
through an implementation of a Customer Relationship Management System (CRM).
This paper will discuss the current architecture of SPX's systems and how it can be modernized to
achieve SPX’s goals with minimal changes. The paper explores using an enterprise service bus (ESB)
to integrate existing systems and bring processes to be near real time. We also compare two ESB
offering from IBM and Apache.
The Problem
 File based integration between the order, payment, warehouse and shipping management
systems (figure 1).
 It takes at least 2 days for any purchase to be ready for shipping.
 Available system interfaces (REST/SOAP/Queues) are not utilized.
 The life cycle is externally controlled through multiple and non-integrated batch processes
Order Management
System
(OMS)
DB
Payment Management
System
(PMS)
DB SOAP
Warehouse management
System
(WMS)
DB REST
Shipping Management
System
(SMS)
DB MQ
1: Place Order
2: Load Orders
Overnight 1
3: Load Orders
Overnight 2
4: Load Orders
Overnight 2
Figure 1 – SPX Current Architecture
The Solution
 An ESB will be deployed as a mediator/hub between existing systems providing centralized
connectivity between all systems (figure 2).
Sherif Rasmy - ESB
 Web Service enabled routes will provide near real-time orchestration of activities within
processes like placing an order.
 In our example, placing an order will:
o Create an order in OMS
o Asynchronously call PMS payment SOAP service
o Wait for payment success and simultaneously call WMS and place shipment request in
SMS
 The sale process from start to initiating shipping is now reduced minutes
 The implementation of such ESB will enable a smooth integration with a COTS CRM solution.
Most ESBs have pre-configured connectors to popular CRM like Salesforce, Sugar CRM and
Oracle CRM.
Order
Management
System
(OMS)
DB
Payment Management
System
(PMS)
DB SOAP
Warehouse management
System
(WMS)
DB REST
Shipping Management
System
(SMS)
DB MQ
Place
Order
Route
1: Place Order
2: Place Order
Workflow
E
S
B
Save Order
4: Payment
Request
5: Poll Payment
Request
6: Call
Recipients
Figure 2 – SPX New Architecture
The Enterprise Service Bus
 There is no standard definition for the term “Enterprise Service Bus”. A collection of software
components that provide an infrastructure to integrate applications is very abstract definition
but very accurate as well [2]
. This leads to confusion between an Integration Framework, an
ESB and an Integration Suite
 The number and sophistication of functional and non-functional features determine if the
integration solution is an Integration Framework, an ESB or an Integration Suite (figure 3).
 In the upcoming sections, key features of integration frameworks and ESBs will be described.
These features will be the basis of comparison between Apache ServiceMix and IBM
WebSphere ESB.
 Integration suites are out of scope of this paper but are briefly touched upon in figure 3 for
completeness purposes.
Sherif Rasmy - ESB
Integration Suite
ESB
Integration Framework
Messaging Connectivity Routing Transformation
Business Process
Management
Business Rules Engine
Business Activity
Monitoring
Web Services Framework
Message BrokerSystem Management
Development & Tooling
Integration Suite DB
Figure 3 – Enterprise Application Integration Stack
Integration Frameworks
 Integration frameworks implement Enterprise Integration Patterns [3]
through 4 categories of
components; Messaging, Connectivity, Routing and Transformation (figure 4)
Trasnsformation
Messaging
Channels
- Point to Point
- Publish Subtribe
- Dead Letter
Message Construction
- Event Message
- Request Reply
- Correlation
Management
- Control Bus
- Detour
- Wire Tap
ConnectivityEndpoints
- Message Mapper
- Event Driven Consumer
- Polling Consumer
- Competing Consumers
- Durable Subscriber
- Idempotent Consumer
- Transactional Client
- Messaging Gateway
Connectors
- JDBC
- JMS
- JCA
- HTTP/HTTPS
- FTP/IO
- SMTP
- SOAP
- REST
Routing
- Content Based
- Splitter
- Load Balancer
- Message Filter
- Aggregator
- Delayer
- Dynamic Router
- Re-Sequencer
- Routing Slip
- Recipient List
- Throttler
- Sampling
- Content Enricher
- Sorter
- Content Filter
- Validator
- Claim Check
- Normalizer
Figure 4 – Integration Frameworks Components
 Integration frameworks provide some level of monitoring, tooling, and system management.
However these are not as sophisticated as those provided in ESBs.
ESBs
 An ESB is based on an integration framework. However, it is a much more powerful because it
offers strong tool support for deployment, administration and monitoring at runtime, besides
basic functionalities for application integration [1]
(figure 3).
 Graphical editors are provided for the implementation of various integration scenarios. The
integration logic can be modelled with "drag and drop" and the corresponding source code can
also be generated automatically [1]
.
 The great advantage of ESBs over the use of pure integration framework is therefore the
better tooling, which reduces the cost and complexity significantly.
Sherif Rasmy - ESB
System Management
- Life Cycle Management
- Resource Management
- Dynamic Deployment
- Clustering and failover
- Security
- Remote access
- Centralized logging
- Dynamic configuration
Message Broker
- Cross-language clients
- Flexible persistence
- Streams for large messages
- Message compression
- Cluster configuration manager
- Configuration profiles
- Runtime registry
- Monitoring
Development & Tooling
- Graphical Editors
- Source Code Generators
- API Dev. Kits
Web Services Framework
- Turn Routes and Flows services
- WS-*
- SOAP/REST
Integration Framework
Figure 5 – ESB Components
ServiceMix vs. WebSphere ESB
Integration Framework
Apache SeviceMix IBM WebSphere ESB
Powered by Apache Camel [4]
Camel is a versatile open-source integration framework
based on known Enterprise Integration Patterns.
Camel defines routing and mediation rules in a variety of
domain-specific languages, including a Java-based Fluent
API, Spring or Blueprint XML Configuration files, and Scala
DSL
Camel comes with a rich set of connectors including: JMS,
JDBC, JPA, SOAP, REST, IP, FTP, HTTP/HTTPS, JCA, SMTP,
Facebook, Salesforce, SAP, Twitter
Powered by IBM Integration Bus [10]
and IBM WebSphere
Adapters [11]
The IBM Integration Bus, formerly known as the IBM
WebSphere Message Broker Family, provides a variety of
options for implementing a universal integration foundation
based on an enterprise service bus (ESB). Implementations
help to enable connectivity and transformation. Includes
connectivity to JMS, JDBC, JPA, SOAP, REST, IP, FTP,
HTTP/HTTPS, JCA, SMTP
WebSphere Adapters include special connectors (Adapters)
including: Facebook, Salesforce, SAP, Twitter
System Management
Apache SeviceMix IBM WebSphere ESB
Powered by Apache Karaf [5]
Apache Karaf is a small OSGi based runtime which provides
a lightweight container onto which various components and
applications can be deployed. It provide the following
features:
- Hot Deployment - Remote Access
- Dynamic Configuration - Instances Management
- Provisioning
Powered by Tivoli Composite Application Manager [12]
Tivoli Composite Application is integrated software for SOA
management for services, applications and middleware. It
combines in-depth services management with the
management of IBM WebSphere Application Server, IBM
WebSphere MQ and IBM Message Server environments, and
monitoring of virtual servers and operating systems.
Sherif Rasmy - ESB
Message Broker
Apache SeviceMix IBM WebSphere ESB
Powered by Apache ActiveMQ [6]
ActiveMQ is an open source MOM compliant with the JMS
standard. It supports many cross language clients and
protocols including Java, C, C++, C#, Ruby, Perl, Python
and PHP.
Power by IBM WebSphere MQ [13]
WebSphere MQ can transport any type of data as messages.
It works with a broad range of computing platforms,
applications, web-services and communications protocols for
security-rich message delivery.
Web Services Framework
Apache SeviceMix IBM WebSphere ESB
Powered by Apache CXF [7]
Apache CXF framework is used to build and develop services
using front-end programming APIs, like JAX-WS and JAX-
RS. These services can speak a variety of protocols such as
SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a
variety of transports such as HTTP, JMS or JBI.
Powered by WebSphere Application Server [15]
IBM WebSphere Application Server Feature Pack for Web
Services extends the capabilities of IBM WebSphere
Application Server. It helps you send web services messages
asynchronously, reliably and securely. It simplifies web
service implementation and management, and enables
greater interoperability with other platform providers.
Development & Tooling
Apache SeviceMix IBM WebSphere ESB
Powered by Fuse IDE [8]
Fuse IDE is a graphical, Eclipse-based tool for integrating
software components that works with Apache ServiceMix,
Apache ActiveMQ, and Apache Camel.
Powered by IBM WebSphere Business Modeler and
Integration Developer [14]
WebSphere Business Modeler lets business analysts design
and optimize the desired business process models through
simulation. It speeds up the development process by jump-
starting the construction of the implementation-level model,
and drives the development of components or services
necessary to complete the implementation.
WebSphere Developer provides visual software development
tools to specify, test and deploy executable business
processes that integrate Web services, enterprise
applications, human tasks and other service components into
a SOA-based business solution. It is an Eclipse-based IDE for
integration specialists to build composite applications
Conclusion
Based on the comparison outlined one finds the following:
 The cost saving you achieve with ServiceMix is considerably large. ServiceMix is open source
and free of charge; WebSphere ESB license exceeds $350K/year [16]
(16 core processor). On
the hand, in case professional support is needed a commercial version of ServiceMix (JBoss
Fuse) costs $120K.
 The core functionality SPX is looking for is an integration framework. Although Apache Camel
is relatively new compared to IBM Integration Bus, its routing technology is standardized
through DSL and implements all EIP patterns from the ground up. This is not the case with
IBM Integration Bus which relies on proprietary technology. Relying in standardized
Sherif Rasmy - ESB
technology reduces locking into a specific technology.
 An ESB implementation is not an easy task regardless of the provider you choose [17]
. The
fact that ServiceMix is an open-source provides you with many blogs, tutorials and a very
active community. To start an ESB project the technology staff needs to be trained by
professionals and it should be clear that the learning curve is steep.
It should be noted that while preparing this comparison, it was not easy to fit IBM’s products into the
functional component architecture adopted to conduct the comparison. As a matter of fact, the
collection of IBM products that form WebSphere ESB overlap in functionality.
References
1. Kai Wähner. Apr 02, 2013. Choosing the Right ESB for Your Integration Needs. http://www.infoq.com/articles/ESB-
Integration
2. Matthias Feraga. June 6, 2011. Choosing between lightweight and traditional ESBs. http://blog.octo.com/en/choosing-
between-lightweight-and-traditional-esbs/
3. Gregor Hohpe and Booby Wolf. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions.
http://www.eaipatterns.com/eaipatterns.html
4. Apache Camel. https://camel.apache.org/what-is-camel.html
5. Apache Karaf. http://karaf.apache.org/
6. Apache ActiveMQ. http://activemq.apache.org/
7. Apache CXF. http://cxf.apache.org/
8. Fuse IDE. http://fusesource.com/products/fuse-ide/
9. IBM ESB. Chapter 3. http://www.redbooks.ibm.com/redbooks/pdfs/sg247369.pdf
10. IBM Integration Bus. http://www-03.ibm.com/software/products/en/ibm-integration-bus
11. IBM WebSphere Adapters. http://www-03.ibm.com/software/products/en/adapters
12. IBM Tivoli Composite Application Manager. http://www-
03.ibm.com/software/products/en/compositeapplicationmanagerforsoaplatform/
13. IBM WebSphere MQ. http://www-03.ibm.com/software/products/en/wmq/
14. IBM WebSphere Business Modeler and Integration Developer.
https://www.ibm.com/developerworks/websphere/zones/devtools/newto/#soa
15. IBM WebSphere Application Server. http://www-03.ibm.com/software/products/en/webservices
16. Red hat Jboss Fuse. https://img.en25.com/Web/RedHat/fuse-v-ibm-wesb.pdf
17. Don’t use an ESB unless you absolutely, positively need one. http://www.zdnet.com/blog/gardner/dont-use-an-esb-
unless-you-absolutely-positively-need-one-mule-cto-warns/3060

Weitere ähnliche Inhalte

Andere mochten auch

ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation FrameworkWSO2
 
Apache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxApache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxClaus Ibsen
 
NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...
NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...
NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...Mark West
 
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewApache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewMarcelo Jabali
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQiCiDIGITAL
 
Building Open Source Identity Management with FreeIPA
Building Open Source Identity Management with FreeIPABuilding Open Source Identity Management with FreeIPA
Building Open Source Identity Management with FreeIPALDAPCon
 
SSO - single sign on solution for banks and financial organizations
SSO - single sign on solution for banks and financial organizationsSSO - single sign on solution for banks and financial organizations
SSO - single sign on solution for banks and financial organizationsMohammad Shahnewaz
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafAchim Nierbeck
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju CharmsAltoros
 
Deployment Automation on OpenStack with TOSCA and Cloudify
Deployment Automation on OpenStack with  TOSCA and CloudifyDeployment Automation on OpenStack with  TOSCA and Cloudify
Deployment Automation on OpenStack with TOSCA and CloudifyCloudify Community
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)prksh89
 
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016ManageIQ
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...Daniel Krook
 
Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)VTR Ravi Kumar
 
Data Lakes: 8 Enterprise Data Management Requirements
Data Lakes: 8 Enterprise Data Management RequirementsData Lakes: 8 Enterprise Data Management Requirements
Data Lakes: 8 Enterprise Data Management RequirementsSnapLogic
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateAnimesh Singh
 

Andere mochten auch (18)

ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
 
Apache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxApache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the box
 
Cloud Foundry Roadmap in 2016
Cloud Foundry Roadmap in 2016Cloud Foundry Roadmap in 2016
Cloud Foundry Roadmap in 2016
 
NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...
NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...
NTNU Tech Talks : Smartening up a Pi Zero Security Camera with Amazon Web Ser...
 
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewApache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
 
Building Open Source Identity Management with FreeIPA
Building Open Source Identity Management with FreeIPABuilding Open Source Identity Management with FreeIPA
Building Open Source Identity Management with FreeIPA
 
SSO - single sign on solution for banks and financial organizations
SSO - single sign on solution for banks and financial organizationsSSO - single sign on solution for banks and financial organizations
SSO - single sign on solution for banks and financial organizations
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
 
Deployment Automation on OpenStack with TOSCA and Cloudify
Deployment Automation on OpenStack with  TOSCA and CloudifyDeployment Automation on OpenStack with  TOSCA and Cloudify
Deployment Automation on OpenStack with TOSCA and Cloudify
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
 
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
CAPS: What's best for deploying and managing OpenStack? Chef vs. Ansible vs. ...
 
Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)
 
Data Lakes: 8 Enterprise Data Management Requirements
Data Lakes: 8 Enterprise Data Management RequirementsData Lakes: 8 Enterprise Data Management Requirements
Data Lakes: 8 Enterprise Data Management Requirements
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
ESB Concepts
ESB ConceptsESB Concepts
ESB Concepts
 

Kürzlich hochgeladen

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Kürzlich hochgeladen (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

EAI - Enterprise Service Bus - ESB - Use Case

  • 1. Sherif Rasmy - ESB Enterprise Application Integration The Enterprise Service Bus – ESB Sherif Rasmy - March 12, 2014 Introduction SPX is a medium size on-line store that has successfully sustained consistent growth over the past two years. In order to maintain that growth, management realized that their operational systems need to be modernized to expedite purchases' delivery as well as improving the quality of customer service through an implementation of a Customer Relationship Management System (CRM). This paper will discuss the current architecture of SPX's systems and how it can be modernized to achieve SPX’s goals with minimal changes. The paper explores using an enterprise service bus (ESB) to integrate existing systems and bring processes to be near real time. We also compare two ESB offering from IBM and Apache. The Problem  File based integration between the order, payment, warehouse and shipping management systems (figure 1).  It takes at least 2 days for any purchase to be ready for shipping.  Available system interfaces (REST/SOAP/Queues) are not utilized.  The life cycle is externally controlled through multiple and non-integrated batch processes Order Management System (OMS) DB Payment Management System (PMS) DB SOAP Warehouse management System (WMS) DB REST Shipping Management System (SMS) DB MQ 1: Place Order 2: Load Orders Overnight 1 3: Load Orders Overnight 2 4: Load Orders Overnight 2 Figure 1 – SPX Current Architecture The Solution  An ESB will be deployed as a mediator/hub between existing systems providing centralized connectivity between all systems (figure 2).
  • 2. Sherif Rasmy - ESB  Web Service enabled routes will provide near real-time orchestration of activities within processes like placing an order.  In our example, placing an order will: o Create an order in OMS o Asynchronously call PMS payment SOAP service o Wait for payment success and simultaneously call WMS and place shipment request in SMS  The sale process from start to initiating shipping is now reduced minutes  The implementation of such ESB will enable a smooth integration with a COTS CRM solution. Most ESBs have pre-configured connectors to popular CRM like Salesforce, Sugar CRM and Oracle CRM. Order Management System (OMS) DB Payment Management System (PMS) DB SOAP Warehouse management System (WMS) DB REST Shipping Management System (SMS) DB MQ Place Order Route 1: Place Order 2: Place Order Workflow E S B Save Order 4: Payment Request 5: Poll Payment Request 6: Call Recipients Figure 2 – SPX New Architecture The Enterprise Service Bus  There is no standard definition for the term “Enterprise Service Bus”. A collection of software components that provide an infrastructure to integrate applications is very abstract definition but very accurate as well [2] . This leads to confusion between an Integration Framework, an ESB and an Integration Suite  The number and sophistication of functional and non-functional features determine if the integration solution is an Integration Framework, an ESB or an Integration Suite (figure 3).  In the upcoming sections, key features of integration frameworks and ESBs will be described. These features will be the basis of comparison between Apache ServiceMix and IBM WebSphere ESB.  Integration suites are out of scope of this paper but are briefly touched upon in figure 3 for completeness purposes.
  • 3. Sherif Rasmy - ESB Integration Suite ESB Integration Framework Messaging Connectivity Routing Transformation Business Process Management Business Rules Engine Business Activity Monitoring Web Services Framework Message BrokerSystem Management Development & Tooling Integration Suite DB Figure 3 – Enterprise Application Integration Stack Integration Frameworks  Integration frameworks implement Enterprise Integration Patterns [3] through 4 categories of components; Messaging, Connectivity, Routing and Transformation (figure 4) Trasnsformation Messaging Channels - Point to Point - Publish Subtribe - Dead Letter Message Construction - Event Message - Request Reply - Correlation Management - Control Bus - Detour - Wire Tap ConnectivityEndpoints - Message Mapper - Event Driven Consumer - Polling Consumer - Competing Consumers - Durable Subscriber - Idempotent Consumer - Transactional Client - Messaging Gateway Connectors - JDBC - JMS - JCA - HTTP/HTTPS - FTP/IO - SMTP - SOAP - REST Routing - Content Based - Splitter - Load Balancer - Message Filter - Aggregator - Delayer - Dynamic Router - Re-Sequencer - Routing Slip - Recipient List - Throttler - Sampling - Content Enricher - Sorter - Content Filter - Validator - Claim Check - Normalizer Figure 4 – Integration Frameworks Components  Integration frameworks provide some level of monitoring, tooling, and system management. However these are not as sophisticated as those provided in ESBs. ESBs  An ESB is based on an integration framework. However, it is a much more powerful because it offers strong tool support for deployment, administration and monitoring at runtime, besides basic functionalities for application integration [1] (figure 3).  Graphical editors are provided for the implementation of various integration scenarios. The integration logic can be modelled with "drag and drop" and the corresponding source code can also be generated automatically [1] .  The great advantage of ESBs over the use of pure integration framework is therefore the better tooling, which reduces the cost and complexity significantly.
  • 4. Sherif Rasmy - ESB System Management - Life Cycle Management - Resource Management - Dynamic Deployment - Clustering and failover - Security - Remote access - Centralized logging - Dynamic configuration Message Broker - Cross-language clients - Flexible persistence - Streams for large messages - Message compression - Cluster configuration manager - Configuration profiles - Runtime registry - Monitoring Development & Tooling - Graphical Editors - Source Code Generators - API Dev. Kits Web Services Framework - Turn Routes and Flows services - WS-* - SOAP/REST Integration Framework Figure 5 – ESB Components ServiceMix vs. WebSphere ESB Integration Framework Apache SeviceMix IBM WebSphere ESB Powered by Apache Camel [4] Camel is a versatile open-source integration framework based on known Enterprise Integration Patterns. Camel defines routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and Scala DSL Camel comes with a rich set of connectors including: JMS, JDBC, JPA, SOAP, REST, IP, FTP, HTTP/HTTPS, JCA, SMTP, Facebook, Salesforce, SAP, Twitter Powered by IBM Integration Bus [10] and IBM WebSphere Adapters [11] The IBM Integration Bus, formerly known as the IBM WebSphere Message Broker Family, provides a variety of options for implementing a universal integration foundation based on an enterprise service bus (ESB). Implementations help to enable connectivity and transformation. Includes connectivity to JMS, JDBC, JPA, SOAP, REST, IP, FTP, HTTP/HTTPS, JCA, SMTP WebSphere Adapters include special connectors (Adapters) including: Facebook, Salesforce, SAP, Twitter System Management Apache SeviceMix IBM WebSphere ESB Powered by Apache Karaf [5] Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed. It provide the following features: - Hot Deployment - Remote Access - Dynamic Configuration - Instances Management - Provisioning Powered by Tivoli Composite Application Manager [12] Tivoli Composite Application is integrated software for SOA management for services, applications and middleware. It combines in-depth services management with the management of IBM WebSphere Application Server, IBM WebSphere MQ and IBM Message Server environments, and monitoring of virtual servers and operating systems.
  • 5. Sherif Rasmy - ESB Message Broker Apache SeviceMix IBM WebSphere ESB Powered by Apache ActiveMQ [6] ActiveMQ is an open source MOM compliant with the JMS standard. It supports many cross language clients and protocols including Java, C, C++, C#, Ruby, Perl, Python and PHP. Power by IBM WebSphere MQ [13] WebSphere MQ can transport any type of data as messages. It works with a broad range of computing platforms, applications, web-services and communications protocols for security-rich message delivery. Web Services Framework Apache SeviceMix IBM WebSphere ESB Powered by Apache CXF [7] Apache CXF framework is used to build and develop services using front-end programming APIs, like JAX-WS and JAX- RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. Powered by WebSphere Application Server [15] IBM WebSphere Application Server Feature Pack for Web Services extends the capabilities of IBM WebSphere Application Server. It helps you send web services messages asynchronously, reliably and securely. It simplifies web service implementation and management, and enables greater interoperability with other platform providers. Development & Tooling Apache SeviceMix IBM WebSphere ESB Powered by Fuse IDE [8] Fuse IDE is a graphical, Eclipse-based tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, and Apache Camel. Powered by IBM WebSphere Business Modeler and Integration Developer [14] WebSphere Business Modeler lets business analysts design and optimize the desired business process models through simulation. It speeds up the development process by jump- starting the construction of the implementation-level model, and drives the development of components or services necessary to complete the implementation. WebSphere Developer provides visual software development tools to specify, test and deploy executable business processes that integrate Web services, enterprise applications, human tasks and other service components into a SOA-based business solution. It is an Eclipse-based IDE for integration specialists to build composite applications Conclusion Based on the comparison outlined one finds the following:  The cost saving you achieve with ServiceMix is considerably large. ServiceMix is open source and free of charge; WebSphere ESB license exceeds $350K/year [16] (16 core processor). On the hand, in case professional support is needed a commercial version of ServiceMix (JBoss Fuse) costs $120K.  The core functionality SPX is looking for is an integration framework. Although Apache Camel is relatively new compared to IBM Integration Bus, its routing technology is standardized through DSL and implements all EIP patterns from the ground up. This is not the case with IBM Integration Bus which relies on proprietary technology. Relying in standardized
  • 6. Sherif Rasmy - ESB technology reduces locking into a specific technology.  An ESB implementation is not an easy task regardless of the provider you choose [17] . The fact that ServiceMix is an open-source provides you with many blogs, tutorials and a very active community. To start an ESB project the technology staff needs to be trained by professionals and it should be clear that the learning curve is steep. It should be noted that while preparing this comparison, it was not easy to fit IBM’s products into the functional component architecture adopted to conduct the comparison. As a matter of fact, the collection of IBM products that form WebSphere ESB overlap in functionality. References 1. Kai Wähner. Apr 02, 2013. Choosing the Right ESB for Your Integration Needs. http://www.infoq.com/articles/ESB- Integration 2. Matthias Feraga. June 6, 2011. Choosing between lightweight and traditional ESBs. http://blog.octo.com/en/choosing- between-lightweight-and-traditional-esbs/ 3. Gregor Hohpe and Booby Wolf. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. http://www.eaipatterns.com/eaipatterns.html 4. Apache Camel. https://camel.apache.org/what-is-camel.html 5. Apache Karaf. http://karaf.apache.org/ 6. Apache ActiveMQ. http://activemq.apache.org/ 7. Apache CXF. http://cxf.apache.org/ 8. Fuse IDE. http://fusesource.com/products/fuse-ide/ 9. IBM ESB. Chapter 3. http://www.redbooks.ibm.com/redbooks/pdfs/sg247369.pdf 10. IBM Integration Bus. http://www-03.ibm.com/software/products/en/ibm-integration-bus 11. IBM WebSphere Adapters. http://www-03.ibm.com/software/products/en/adapters 12. IBM Tivoli Composite Application Manager. http://www- 03.ibm.com/software/products/en/compositeapplicationmanagerforsoaplatform/ 13. IBM WebSphere MQ. http://www-03.ibm.com/software/products/en/wmq/ 14. IBM WebSphere Business Modeler and Integration Developer. https://www.ibm.com/developerworks/websphere/zones/devtools/newto/#soa 15. IBM WebSphere Application Server. http://www-03.ibm.com/software/products/en/webservices 16. Red hat Jboss Fuse. https://img.en25.com/Web/RedHat/fuse-v-ibm-wesb.pdf 17. Don’t use an ESB unless you absolutely, positively need one. http://www.zdnet.com/blog/gardner/dont-use-an-esb- unless-you-absolutely-positively-need-one-mule-cto-warns/3060