SOLUTIONS
PRODUCTS
SERVICES
SUPPORT
PARTNERS
CUSTOMERS
ABOUT US

Progress Sonic® Enterprise Service Bus (ESB)

Pre-built SOA Infrastructure

As Web services support becomes ubiquitous among applications and application development platforms, attention is turning to the issue of bringing them together into a coherent whole. How should I think about the relationships between services? How will I connect them across my business? How will I orchestrate interactions across them? How will I manage and monitor them? How will I secure them? These questions point to the need for SOA infrastructure beyond the application platforms which provide the services themselves.

To bridge any set of applications at any time to solve business challenges, an SOA infrastructure must make it possible to dynamically add and re-configure services on the fly, as well as to alter the logical flow between services as business processes change. At a high level, SOA infrastructure must support:

  • Heterogeneity: Must span new service-enabled applications as well as existing applications, while providing a consistent service model
  • Flexibility: Must allow organization to change processes and relationships between applications through configuration instead of coding
  • Distributed deployment: Services will be spread across an organization and between organizations
  • Management: Infrastructure must be able to manage and monitor itself, as well as the services deployed within it
  • Availability: M be continuously available and able to sustain service levels regardless of internal failures

An ESB is software infrastructure that simplifies the integration and flexible reuse of business components using a service-oriented architecture. An ESB supports the goals of service orientation by making it easy to dynamically connect, mediate and control services and their interactions.

Connect:
An enterprise service bus simplifies connection of new applications, Web services and hundreds of legacy technologies. Whether a J2EE or .NET application, Web service, database, or legacy message broker, any resource connected to the ESB is made broadly available for communication with any other connected resource.

Mediate:
Mediation is an essential capability of an enterprise service bus and provides three principal benefits. First, mediation allows the ESB to reconcile incompatible protocols, data formats and interaction patterns of connected services. By bridging these differences with the built-in mediation functionality of the ESB, it is much easier to rapidly set up communications among diverse services. The ESB mediates not just message format and protocol but also interaction patterns, allowing synchronous services to communicate with asynchronous services - and vice-versa - with no changes to the services' coding.

The ability to mediate services without requiring changes to them provides another key benefit: meditation eliminates inflexible, hard-coded service interdependencies. Service interdependencies, especially hidden ones, are the enemy of flexibility because they make it difficult to understand the impact of a service change in an SOA. By isolating and making explicit the mediation among services, an enterprise service bus makes it dramatically easier to manage change in a complex environment.

The flexibility of mediation can be seen more broadly in the third benefit, namely that the ESB makes it easy to combine and extend existing services to meet new requirements. Mediated services become general-purpose building blocks which may be orchestrated in order to automate end-to-end business processes.

When mediating services that are not co-located, an ESB provides communications capabilities which link them together. These communication capabilities facilitate communication within and across departments and corporate boundaries. Sophisticated publish-and-subscribe semantics allow the simultaneous broadcast of information to a potentially large number of service consumers, and also make it easy for service consumers to be added to an existing ESB deployment without making changes to the service provider.

An ESB which provides robust, secure and scalable communications can guarantee that data is delivered to specified destinations according to the quality of service required; producer services themselves need not manage data re-transmission if consumer services are temporarily unavailable. It is critical that an ESB not create bottlenecks or chokepoints in the infrastructure that would restrict the breadth of its deployment or limit the throughput of data it can carry to and from connected resources.

Control:
As a service-oriented architecture grows, so does the complexity of its control and management. As an infrastructure for SOA, an enterprise service bus provides a built-in framework for managing itself and the services it hosts.

The first task of management is the deployment of services, which may be hosted anywhere an ESB runs. This hosting environment may be initially a development lab, and subsequently a user-acceptance test environment and finally a production environment. It is essential that an ESB provide tools to simplify deployment by managing it as a promotion of artifacts from one environment to the next in a controlled manner. Since a deployment may be highly distributed, such as a retail deployment comprising hundreds or thousands of stores), an ESB makes it easy to deploy services remotely from a central location. An ESB also allows for deployments and upgrades of services (or collections of services) to remote sites en-masse, simplifying management of very large environments.

To make this work dynamically, an ESB is configuration-driven: services and their mediated relationships are declared, so they may be dynamically changed without re-compilation and re-deployment. This makes it easy to modify data and process flow without shutting down running services. Configuration changes are also deployed remotely, allowing you to change the behavior of any part of the distributed environment from a central console.

In addition to managing services it hosts and connects (e.g. central logging and auditing of services, faults, process status), the ESB provides detailed performance statistics on the infrastructure itself which help you monitor, detect faults and diagnose problems in complex distributed systems.

Benefits of an Enterprise Service Bus

IT Benefits:

  • Reduces time and effort to create new processes through the reuse of existing applications and data
  • Increases flexibility to change complex system behavior by minimizing the hidden dependencies among applications, services and middleware in a distributed environment
  • Reduced TCO and greater flexibility to accommodate future needs through use of industry-standard interfaces and protocols
  • Reliably delivers messages across services, even after software, network or hardware failure
  • Provides a service hosting and management infrastructure that is highly distributed yet centrally manageable
  • Disseminates information throughout the enterprise, as well as to customers and trading partners
  • Can be deployed incrementally, speeding delivery of service to customers and reducing risk for large, complex projects

Business Benefits:

  • Integrated business systems: reduced cycle times, reduced operating expenses, improved customer service, facilitated mergers and acquisitions, easier and more accurate decision-making based on up-to-date business information for "single version of the truth"
  • IT cost reduction and control through standardization of reusable business components
  • Improved responsiveness to change business processes quickly and effectively
  • Faster detection and ability to respond to special business conditions

More information is available here: http://www.sonicsoftware.com

Proceed to Sonic Homepage