Successfully reported this slideshow.
You’ve unlocked unlimited downloads on SlideShare!
SOA vs. ESB <ul><li>Service-oriented architecture (SOA) is an evolution of distributed computing based on the request/reply design paradigm for synchronous and asynchronous applications. An application's business logic or individual functions are modularized and presented as services for consumer/client applications. What's key to these services is their loosely coupled nature
An Enterprise Service Bus (ESB) is a distributed infrastructure used for integration consisting of a set of service components and data adapters, which connect various types of services. ESB's provide an abstracted layer over a reliable messaging middleware infrastructure . The ESB provides foundational services for more complex architectures via an event-driven and standards-based messaging engine (the bus). The ESB provides services for transforming and routing messages, as well as the ability to centrally administer the distributed system.
ESB does not implement a service-oriented architecture (SOA), but provides the features with which one may be implemented.. ESB should be standards-based and flexible, supporting many transport mediums. </li></ul>
SOA & ESB Overview The What, Why, Where, and When of SOA and ESB
What is SOA? <ul><li>Service-Oriented Architecture
A business-driven approach to software design. </li></ul><ul><li>Helps you gain complete visibility of information across your organization and business partner/client integrations </li></ul><ul><li>More of a design ideology than a technology.
Based on the key concepts of an application front-end, service, service repository, and a service bus.
Functionally separated by logical business units.
Is not implemented on a specific platform or with a particular programming language. This loosely coupled approach allows enterprises to plug in best of class solutions, new services or upgrade existing services in a granular fashion to rapidly address new business requirements. </li></ul>
Why is SOA Important? <ul><li>Services are designed and developed as small building blocks that are used to build the enterprise SOA.
Closest attempt to define services in terms of business functionality. The gap between business and technology workflows is narrowed and is made more intuitive.
Allows users to define work flows with BPM (business process management) tools or BPEL (Business Process Execution Language) via drag and drop user interfaces.
Allows applications in heterogeneous environments to be defined as a single system. Best of class solutions can be implemented regardless of underlying infrastructure. </li></ul>
Where Should SOA Be Applied? <ul><li>Initially SOA should be applied to a discrete existing or soon to be realized business unit or workflow.
The next logical step is to apply SOA consistently to other business units.
With proper planning, it will encompass most, if not all, of the enterprise and external integrations.
The end result will be segregated business processes, interacting with each other through integration points. </li></ul>
When Should SOA Be Applied? <ul><li>An SOA should be implemented after careful consideration and definition of business units and the business processes that support those units. That said a solid ESB foundation speeds up adaptation and eases planning and deployment.
The first SOA implementation, applied to a discrete business unit, is usually a good indicator of the time and resources required to implement the remainder of the SOA.
Exceptions may occur when business units and/or functions overlap and are difficult to segregate. In those cases, extra design time should be allocated for the implementation. </li></ul>
What is an ESB? <ul><li>Enterprise Service Bus (more than just another acronym)
Is the foundation of a well-designed SOA environment.
Provides a framework for the transformation, processing, routing, and monitoring of both simple and complex data.
Some products, such as Mule ESB and Fiorano SOA, incorporate integration toolsets to make their ESB more intuitive, robust and full-featured, reducing development time.
By definition, should be standards-based and platform-independent. The core language that it is used, such as Java or .NET, does not limit its ability to co-exist with current and future solutions. </li></ul>
What is an ESB (continued)? <ul><li>Pre-built, third party, and customized services are available to handle all standard and most lesser known protocols such as JMS, HTTP, SOAP, FTP, SMTP/POP3 etc.
Pre-built, third party, and customized adapters are available to handle data access and manipulation via ODBC, JDBC, XML, EDI, File, FTP, SMTP/POP3 etc. as well as many legacy mainframe and less commonly used data sources and types.
Configurable routing allows messages to be passed to one or more endpoints either synchronously , asynchronously or concurrently, even between disparate messaging platforms.
Provides transaction, logging and error handling management for complex services that could span several endpoints both internally or externally to the system. </li></ul>
Why is an ESB Important? <ul><li>Allows for loose coupling of components and processes.
Provides flexibility for changing and integrating applications.
Typically incorporates industry-standard data transports that are understood by most IT professionals, therefore bringing commonality to an otherwise complex landscape.
Centralizes global functions, such as logging, security, and administration.
Allows data to be routed to multiple destinations, reducing the number of point-to-point connections. </li></ul><ul><li>Allows Enterprises to quickly respond to business changes with agility; leverage existing investments to address new business requirements or to extend current capabilities. </li></ul>
Where Should an ESB Be Implemented? <ul><li>Like SOA, an ESB should initially be implemented on a discrete portion of the enterprise. This allows business analysts, system administrators, and developers to become accustom to the ESB within an easily-managed space.
ESB's are inherently designed for integration points and, therefore, should be used at any logical endpoint between internal applications, external applications, and systems. </li></ul>
When Should an ESB Be Implemented? <ul><li>The greatest advantage of a light-weight, flexible ESB is that it can be implemented immediately to a discrete portion of the enterprise without impacting the entire enterprise.
Implementing an ESB is typically the first step in applying a Service-Oriented Architecture to the enterprise; however, an ESB does not require the application of an SOA.
Due to the nature of ESB's, a POC (proof of concept) lends itself well to a non-intrusive demonstration of their capabilities. </li></ul>
Applications for an ESB <ul><li>Extending the life of legacy applications and data sources.
Integrating software from different platforms, business partners, or vendors. </li></ul><ul><li>Creating integration points for disparate back-end systems, vendors, customers, and other external entities.
Migrating from one software application to another. An ESB allows staged migration with proper planning avoiding "flip of the switch" scenarios and rollbacks.
Wherever scalability and guaranteed delivery is desired.
Testing (even in production) *** </li></ul><ul><li>Rapid change management
ESB FAQs and Misconceptions <ul><li>I don't have the time to implement an ESB in my organization. </li></ul>The advantage of SOA and, in particular, a good ESB is that you can implement small portions of the ESB incrementally. <ul><li>How much will an ESB cost me? </li></ul>There are several options available. You can build your own for little or no licensing and support cost. You can also download an OpenSource package and decide what kind of support is feasible, including commercial support. The other option is to buy a commercially licensed and supported product. <ul><li>My systems are archaic – a Java-based ESB will not work. </li></ul>An ESB is designed to work with different technologies. It has the capabilities to interface with flat-files, FTP files, EDI documents, HTTP files, databases including the AS400, and any TCP-based technology. <ul><li>Will I have the resources available to maintain an ESB? </li></ul>Based on the level of management you wish to achieve, there are several viable options for maintaining your ESB. Tools are available for many of the packages that allow IT management to monitor and diagnose the SOA environment. Training is available for developers, architects, and system-level personnel. Consultants and contractors specialized in ESB technologies are available through evosolutions and its partners.
ESB FAQs and Misconceptions <ul><li>All ESB's are based upon Web services </li></ul>Most good, flexible ESB's are able to product and consume Web services, but also offer many other <ul><li>We only have a couple of business applications. We don't need and ESB at this time. </li></ul>That is almost the best time to start. Developing an SOA strategy and implementing an ESB when your environment is not complex will cut down on the future implementation time. It also makes your systems very flexible and easier to integrate, therefore allowing you to make business decisions without worrying about your system capabilities. <ul><li>Which ESB should I choose? </li></ul>There are two ESB packages that we recommend. One is MuleESB, from MuleSource. It is commercially supported with multiple SLAs, offers indemnification, and is OpenSource. In addition, the new 2.0 version has separate community and enterprise editions. It is highly customizable, easy for developers to use, and very light-weight. The second package is Fiorano SOA. Fiorano comes with an ESB and a messaging system. It is centered around BPM (Business Process Management) with GUI tools, which makes it easier for technically-savvy business personnel to manage. Other ESB packages include WebSphere ESB (IBM), Tibco ESB, Oracle ESB, and JBoss ESB. The advantages of Mule and Fiorano over the others are speed, flexibility, price, and, most importantly, the ability to develop customized solutions.
Summary SOA and ESB are very popular acronyms in today's business and technical worlds. SOA allows businesses the opportunity to develop a very flexible infrastructure to manage market changes, technical advancements, and third-party relationships more easily. IT resources can spend less time on developing communication methods and more time on developing business processes. On the other hand, management can focus more on strategic relationships, without worrying about the capabilities of their systems. In short, SOA is not necessarily a technology, rather a framework and language that allows business and technology to communicate on common ground.
Jan. 3, 2019
Aug. 4, 2017
May. 6, 2017
Aug. 10, 2016
Dec. 20, 2015
Jan. 25, 2015
Oct. 31, 2014
May. 8, 2014
Apr. 4, 2014
Feb. 13, 2014
Feb. 7, 2014
Oct. 21, 2013
May. 27, 2013
Apr. 24, 2013
Feb. 8, 2013
Nov. 23, 2012
May. 9, 2012
May. 7, 2011
Mar. 2, 2011
Dec. 30, 2010
What is SOA and ESB and how can it fit into your organization?