Handwritten Text Recognition for manuscripts and early printed texts
Choosing The Right ESB
1. Choosing the right ESB
(EnterpriseService Bus)
Choosing the right ESB for your Integration
@Mohammed Fazuluddin
2. TOPICS
Overview and Definition of ESB
What is integration Framework
What is integration Suite
Brief on ESBTools
Conclusion
3. Overview and
Definition of
ESB
ESB need when different applications within companies and
between different companies need to communicate with each
other.
The Enterprise Service Bus (ESB) has been established as a tool to
support application integration.
ESB("Enterprise Service Bus“):
There is no standard definition,The ESB is defined as a software
product which assists the developer in application integration and
therefore provides the necessary infrastructure to implement
routing, translation, and other integration facilities.
On the integration complexity path, an ESB usually falls between a
framework and a suite as an alternative for application integration.
6. Overview and
Definition of
ESB
Service - Denotes non-iterative and autonomously executing
programs that communicate with other services through message
exchange
Bus - Is used in analogy to a computer hardware bus.
Enterprise -The concept has been originally invented to reduce
complexity of enterprise application integration within an
enterprise; the restriction has become obsolete since modern
Internet communication is no longer limited to a corporate entity.
Integration
Framework
Enterprise Service Bus
Integration Suite
Includes Includes
7. Overview and
Definition of
ESB
The primary duties of an ESB :
Monitor and control routing of message exchange between
services.
Resolve contention between communicating service components.
Control deployment and versioning of services.
Marshal use of redundant services.
Cater for commodity services like
Event handling.
Data transformation and mapping.
Message and event queuing.
Sequencing.
Security or exception handling
Protocol conversion
Enforcing proper quality of communication service.
8. Overview and
Definition of
ESB
ESB Core functionalities:
Decoupling: One of the most important things that you can do via
ESB is to decouple clients from service providers.
Transport Protocol Conversion: ESB gives you the ability to
accept one input protocol and communicate with another service
provider on a different protocol.
Message Enhancement: ESB allows you to isolate the client and
make some basic changes to the message.
For example, changing date format of incoming message or
appending informational data to messages.
MessageTransformation: ESB lets you transform an incoming
message into several outgoing formats and structure.
For example, XML to JSON, XML to Java objects.
9. Overview and
Definition of
ESB
Routing: ESB has the ability to redirect a client request to a
particular service provider based on deterministic or variable
routing criteria.
Security: ESB protects services from unauthorized access.
Process Choreography & Service Orchestration: ESB manages
process flow and complex business services to perform a business
operation.
Process choreography is about business services while service
orchestration is the ability to manage the coordination of their
actual implementations. It is also capable of abstracting business
services from actual implemented services.
Transaction Management: ESB provides the ability to provide a
single unit of work for a business request, providing framework for
coordination of multiple disparate systems.
10. What is
integration
Framework
Integration Framework
A framework helps implementing Enterprise Integration Patterns
(EIP),for example the Splitter or Content Based Router, in order to
integrate applications in a standardized way.
The Integrate products noticeably lowers the implementation effort
and the source code is easier to understand for other developers.
A framework is well suited to integrate different applications with
different protocols and technologies, and concepts such as endpoints,
producer, consumer and EIPs are used to create the integration logic.
Even implicitly supported test automation uses the same concepts.
A framework consists of a set of ordinary libraries and is therefore
compatible with any development environment, even a classic text
editor.
Known examples of frameworks are Apache Camel and Spring
Integration in the Java environment and NServiceBus for .NET.
11. What is
integration
Suite
Integration Suite
A suite offers all features of an ESB. In addition, many other
functions such as Business Process Management (BPM), Business
Activity Monitoring, Master Data Management, or a Repository
are included.
If some of these additional features are required in addition to
pure integration, then the use of a suite is advisable.
The entire integration can be realized with a single software
stack.
The differences between a framework, an ESB and a suite are
hopefully now clarified. Next will be explained how to select the
right ESB or suite.
13. Brief on ESB
Tools
Oracle Service Bus / Fusion Middleware
Oracle Service Bus is the current ESB from Oracle. It is a
component of Oracle Fusion Middleware (OFM) stack, which
according to the definition of this article is an integration suite.
Different products available on it like the SOA Suite, Coherence,
Complex Event Processing, BPEL Process Manager, Enterprise
Messaging Service, Service Registry, and many more.
The OFM is based on standards such as Java EE, BPEL, SOAP, or
SCA.The products are proprietary and come from multiple
acquisitions made by Oracle over time.
The tools are very powerful and stable. Graphical editors exist for
most products. Support is also available for most conceivable
service level agreements. If these powerful and SLAs are really
needed, you are on the right side with Oracle.
The high complexity of the products should not be
underestimated. Besides, you should be aware of high licensing
and support costs plus a non-transparent pricing model.
15. Brief on ESB
Tools
Mule ESB
Mule ESB is one of the first successful open source ESBs. It has a
lot of qualities in common with the other previously mentioned
open source ESBs.
These include a very simple ("one click") installation and intuitive,
Eclipse-based tooling. Usually, open source ESBs are very
lightweight and extensible solutions.
Apart from the free open source version, a commercial enterprise
version is available.This offers additional functionality and support
for the product.
Important advantages in contrast to frameworks likeApache
Camel or Spring Integration are the graphical editors for an
efficient implementation of integration scenarios and the
available connectors for B2B products such as SAP or Salesforce.
Negative aspects of Mule ESB are the small community, a
restrictive licensing model and limited availability of the source
code. Competitors have significant advantages at this.
16. Brief on ESB
Tools
Mule ESB
Lightweight:
Mule is the most lightweight integration platform available, with the
fully loaded distribution weighing in at 40 MB.
We don't see "lightweight" as just about size either; it is also the cost
of making changes to existing integrations and the amount of heavy
lifting you need to do to make changes.
The Mule run-time offers modularization and super-fast hot
deployment as well as a configuration model that makes it easy to
re-order and add/change functionality.
Not just mediation:
Most vendors think of an ESB as purely mediation between systems
and have separate products for hosting business logic and publishing
services.We see this as unnecessary complexity.
Mule provides a light and scalable service container for publishing
REST and SOAP services.
17. Brief on ESB
Tools
Mule ESB
Accessible - any developer can learn Mule:
Mule uses common tools that all Java developers are familiar with,
such as Maven, Eclipse, JUnit and Spring.
Mule uses an XML configuration model (similar to Spring) to define
logic, and custom code can be written in a variety of languages,
including Java, Groovy, JavaScript, Ruby or Python. Also, MuleStudio
helps new developers get up to speed quickly with a graphical
development environment.
Scaling up, scaling down:
Mule was designed for horizontal scale on commodity hardware - no
need for big iron. Mule's runtime is easily embeddable into an
application.
This is powerful because it means you can create repeatable unit
tests for integrations that will run on a developer laptop and can be
incorporated into a continuous build.
18. Brief on ESB
Tools
Mule ESB
Message agnostic:
A powerful feature of Mule is that the container is message agnostic.
This means it does not force XML messages on its users.
While XML is common, there are many scenarios where you will
want to use JSON, flat files, Cobol Copybooks, binary and file
attachments, streams and Java objects.
Cloud ready:
If you'd rather leave the application architecture, hosting and
monitoring of your integration to the integration experts then
CloudHub™ is for you.
CloudHub offers a multi-tenanted, elastic platform with connectivity
to 150+ SaaS, Social Media and infrastructure services and the ability
to connect to your on premise applications.
20. Brief on ESB
Tools
Fuse ESB
The Fuse ESB is a pure ESB like Mule ESB, without a suite. It is
based on de facto standards in the integration environment such
as Apache CXF andApache Camel.
The development environment is based on Eclipse and very
intuitive.
Fuse ESB was part of FuseSource.
Fuse ESB is contained in the current road map and will continue to
be supported and It will be integrated into the JBoss Enterprise
SOA Platform - just like the also acquired BPM solution Polymita.
There is still a long way towards a unified suite, since
the integration of FuseSource and Polymita will still take a few
months, and with JBoss ESB, Switchyard and Fuse ESB now three
ESB products need to be merged into one. Here, other open
source vendors have already achieved better results.
22. Brief on ESB
Tools
Talend ESB
Talend ESB is part of the suite ofTalend, it can be used
independently or in combination with other components of
Talend’s unified platform.All components are open source and
freely available.
All components are open source and freely available.
The enterprise version offers additional features and support.The
difference to proprietary products is that all the partial
components are based on the same code base and the same
tooling is used everywhere.
All tooling of theTalend suite is built on Eclipse, the familiar "look
and feel" and the intuitive use of Eclipse remain.
This allows an efficient implementation of integration scenarios.
Like Fuse ESB,Talend ESB is based on several de facto standards
in the integration environment such as Apache Camel, Apache
CXF,Apache Karaf andApache Zookeeper.
24. Brief on ESB
Tools
WSO2 ESB
WSO2 is a relatively unknown vendor. However,WSO2 provides
the entire range of components of a suite including Business
Process Server, Business Rules Server, Business Activity Monitor or
Governance Registry.
The entireWSO2 platform can be installed very easily and offers a
lightweight, Eclipse-based development studio.
LikeTalend and FuseSource,WSO2 also puts primarily open
source projects such as Apache Synapse (lightweight ESB),Axis
(Web Service Implementation) or ODE (Business Process Engine)
into its components.
WSO2 is the only vendor that offers a full suite that is based on a
single code base and a single development environment.
A weakness is the graphical tooling. It supports all components of
the platform, but it is not as intuitive to use as the tooling of its
competitors.
25. Conclusion
First a decision must be made whether a framework is sufficient.
Be aware that most of the source code must be written by
yourself, and tooling and support is scarce.
If an ESB or integration suite should be used, it must be decided
whether a proprietary or open source product is a better choice.
Proprietary solutions provide all possible features and strong
support. However, this also leads to higher costs and a perceived
higher complexity.
Ensure that your team will implement this prototype (from the
first installation to final deployment and monitoring), and not just
the consultants of the vendor.
Your team will have to install the product in the future alone and
implement the integration problems independently of any
consultants which may not be available.
26. THANKS
If you feel it is helpful and worthy to share with other people, please share the same