Is BizTalk an ESB?

2019-02-01 20:43发布

I am looking into architectural patterns, Enterprise Services Bus (ESB) precisely. Upon reading this article Enterprise Integration, and with little to no experience I am wondering if BizTalk has is a ESB or is it just a EAI (Hub/Spokes or Bus)?

I found this NServiceBus and Biztalk, describing BizTalk as a central message broker.

Taking other ESB frameworks into account (NServiceBus and Rhino Service Bus). These frameworks have no central point to process messages.

Is Biztalk a EAI rather than an ESB?

Many thanks

标签: BizTalk esb eai
10条回答
Fickle 薄情
2楼-- · 2019-02-01 21:41

BizTalk can be used as both EAI and ESB.

As for ESB, the BizTalk server architecture is publish-subscribed, a single message can be published to the messagebox which acts as the messaging backbone bus. That message can be received by one or more destination systems that are subscribed to that message. Of course there more capabilities and features that you can get by using BizTalk server like the mapper tool and the use of pipeline components for example.

For use as EAI, BizTalk offers you orchestrations that manage the business logic, LOB(Line of business) adatpers to connect to systems(also legacy), mapper tool, rules engine, and a lot of what you need in order to integrate the different systems in or outside your company.

查看更多
家丑人穷心不美
3楼-- · 2019-02-01 21:47

BizTalk is punted by Microsoft as having ESB capabilities - see the BTS ESB toolkit

However, the term 'ESB' covers a very broad field, and there is a lot of subjectivity about an exact definition of an ESB. IMHO there are weak points in BizTalk's claim to be comprehensive as an ESB (in a > 2010 definition of the term).

  • BTS originated in the Hub-and-Spoke EAI era, before ESB became widespread.
  • BTS is more suited toward asynchronous processes than synchronous processes - latencies will vary depending on load on the system, throttling state, etc.
  • BTS is cumbersome when it comes to ease of versioning of services and schemas (new deployment is needed)
  • BTS is cumbersome when it comes to management of MANY services (e.g. Using BizTalk as a facade for all 5000 of your corporate SOA / Web Services will be painful)

FWIW we have found BTS a good fit for:

  • all of our synchronous and asynchronous EAI (i.e. formalized integration contracts between major LOB systems, and with trading partners), and the large number of adapters assists with integrating a wide number of protocols.
  • For Business Process and Business Monitoring capabilities
  • Addressing transactional and delivery reliablity - Biztalk has capability to retry, tracking and resumption of Suspended messages, which is useful over unreliable networks or when it comes to integration with unreliable systems.

Update, with some further comparative experiences

  • BTS is very centralised - ultimately, even a multi-server BizTalk cluster / group is dependent on Sql-Server. Queue based ESB products tend to be more decentralised (logically and physically), so loss of a few endpoint or queue servers should not pull the whole enterprise down.
  • Many queue based ESB's are built on open source technologies, with an eye on avoiding single vendor lock-in
  • Many contemporary ESB's seem to take a commodity-computing approach to scale out. Scaling out with products like BizTalk can become expensive.
  • On the plus side, the monitoring and administration capabilities of commercial offerings like BTS should not be underestimated - make sure any ESB you are considering has adequate auditing, instrumenting, retry, and diagnostic (WMI / SNMP / SCOM etc) capabilities - you'll need a dashboard to monitor the health of your bus, and there is nothing worse than not knowing where a message went. Here, centralisation administration and diagnosis is a plus.
查看更多
戒情不戒烟
4楼-- · 2019-02-01 21:47

BizTalk is a messaging and workflow orchestration platform, on which you can build ESB behaviours and capabilities. To make this easier, and standardise ESB implementation on BizTalk, Microsoft released the BizTalk ESB Toolkit - a set of guidelines, patterns and code.

The concepts of EAI and BPM have been around for a while, so there are many companies that have leveraged BizTalk to create solutions to these problems. Companies that host a full ESB on BizTalk server are far fewer, and adoption has certainly slowed in the advent of WCF/WF/NServiceBus and, of course, Azure Service Bus.

So in summary, BizTalk out of the box is nether EAI or ESB, but can do both with a number of developers applied to the problem.

查看更多
劫难
5楼-- · 2019-02-01 21:49

BizTalk is more than an ESB but certainly fits the bill. This link is a little old, but answers your exact question.

EDIT: Here is a more-recent MS link that gets into specifics of implementation.

查看更多
登录 后发表回答