BizTalk as ESB definition
If we go to the strict definition of what BizTalk is, we find that it is put under the category of an Application Integration Server. In the list of capabilities it has we can find Enterprise Application Integration (EAI), Business Process Automation (BPA), Business to Business (B2B), Message Broker and Business Activity Monitoring (BAM). All these patterns are crucial in the integration and SOA world, but what about the Enterprise Service Bus pattern. Can BizTalk be considered an ESB?
That question leads us to another philosophic question. What is an ESB? Lets look at the definition of an ESB, it is “a software architecture model used for designing and implementing communication between mutually interacting software applications in a service-oriented architecture (SOA)”. But each member of the industry has taken this definition and accommodate it to their own implementation. IBM defines ESB as a system that “…enables a business to make use of a comprehensive, flexible, and consistent approach to integration while also reducing the complexity of the applications being integrated. Due to the complex and varying nature of business needs, ESB is an evolutional progression that unifies message oriented, event driven and service oriented approaches for integrating applications and service.” According to Oracle an ESB is “A style of integration architecture that allows communication via a common communication bus that consists of a variety of point-to-point connections between providers and users of services.” “An infrastructure that a company uses for integrating services in the application landscape.” “An architecture pattern that enables interoperability between heterogeneous environments, using service orientation.”
According to these definitions we can say that BizTalk has ESB capabilities, but if we really want to have an ESB implementation with BizTalk we have to go with the BizTalk ESB Toolkit. The BizTalk ESB toolkit is the Microsoft implementation of the ESB architecture pattern. This is a list of the functionalities provided by BizTalk when creating and integration solution in a SOA environment:
- Message routing
- Message validation
- Message transformation
- Extensible adapter framework for connectivity
- Service orchestration
- Business rules engine
- Business activity monitoring
- Web service and WS-* integration (WCF adapter)
Those functionalities are extended by the ESB Toolkit with this enhancements:
- Policy driven mediation. The Microsoft BizTalk ESB Toolkit does the following:
- It provides itinerary-based routing that supports lightweight service composition at the time of message publication. This approach allows dynamic discovery of service endpoints and mediation requirements for message routing using a service registry or the business rules policy.
- It adds support for policy centralization for itinerary-based routing using server-side itineraries that are dynamically resolved and added to the message context after a message is received. Managing itineraries in a central location enables the processing of messages from clients that are completely unaware of how their requests are being routed.
- It uses an enhanced version of the Microsoft BizTalk ESB Toolkit Resolver and Adapter Provider Framework, which enables dynamic resolution of endpoints and transformation requirements; this effectively decouples the consumer from the services.
- Connecting systems. The Microsoft BizTalk ESB Toolkit does the following:
- It provides pipeline components that normalize XML message namespaces.
- It integrates with JMS through the WebSphere MQ adapter for Microsoft BizTalk Server 2013 R2.
- It facilitates message exchange patterns that enable dynamic service aggregation, message routing, message validation, and message transformation.
- It supports service endpoint discovery from registry and repository integration using UDDI 3.0.
- It supports message routing through line-of-business (LOB) adapters by using the WCF-Custom BizTalk Adapter for BizTalk Server 2013 R2.
- Management and monitoring. The Microsoft BizTalk ESB Toolkit does the following:
- It provides exception management framework and tools.
- It facilitates message repair and resubmission using a management portal, shipped as a sample application. This Web application also supports customizable e-mail notifications when a specific error occurs.
- It allows BizTalk Server endpoint and registry integration, management, and publication.
- It provides a centralized repository of versioned server-side itineraries.
- It supports reporting and analytics for BizTalk Server 2013 R2 applications.
- It includes Business Activity Monitoring components to track itinerary service execution, including start time, end time, and service mediation sequence.
- SOA governance. The Microsoft BizTalk ESB Toolkit does the following:
- It integrates with third-party SOA governance solutions, including embedded management agents for BizTalk Server 2013 R2 from AmberPoint and SOA Software.
If you want to get more information about the BizTalk ESB Toolkit you can visit this site https://msdn.microsoft.com/en-us/library/jj945835.aspx .