English 中文(简体)
我们应该引入BizTalk/ESB吗?
原标题:
  • 时间:2008-12-04 13:07:59
  •  标签:

我的公司即将在新架构中实施我们提出的方案,其中将BizTalk(我们是微软公司)作为企业服务总线(ESB)在SOA(请不要引用服务定向的模糊性)环境中。

我们的业务是通过我们的新订单捕获GUI接受订单,该GUI必须连接到我们的客户数据库、产品目录、订购系统和其他一些辅助系统,每个系统都将暴露为WCF服务,订单随后传递给我们的订单管理和其他下游系统进行履行,最后传递到我们的计费系统进行发票制作。目前,每个系统都有自己的GUI,并使用手动过程在它们之间传递信息,为了自动化和集成这个自然的想法是引入一个ESB来连接它们。

我的采取ESB的一些理由是,总线将负责连接系统(每个系统都是"不可知论者",不知道任何其他系统)和如何格式化/翻译信息。未来很有可能会有一些现有的系统被替换为新系统或我们公司的其他系统。

这似乎对我有意义,但现在我遇到了一些阻力,为什么要引入它,而点对点的解决方案已经足够呢?

不幸的是,在公司历史上(在我任命之前),引入BizTalk的初步尝试失败了,但我相信它有一个位置,并且我能够实现它。

我的问题可能并不是关于BizTalk,而是在我描述的场景中是否引入ESB是一个好主意,什么时候引入ESB才有意义?

问题回答

好的。ESB指导关于Biztalk的建议性架构组 - http://msdn.microsoft.com/en-us/library/cc487894.aspx

我在工作中使用BizTalk做很多事情。我们有一些简单的点对点集成。我们有一些更复杂的点对点集成,带有高度定制的适配器和管道。我们有客户主数据、产品信息和报价到订单的分部门企业系统集成。这些都是单独的BizTalk应用程序。有些相当小,有些相当大。我们主要使用BizTalk进行点对点/多点解决方案,而不使用ESB模式。实施ESB意味着对总线本身和允许在总线上使用的企业消息标准的一定程度的治理。如果您将与大量具有不同格式的系统进行接口,ESB就有很多意义。如果您想实现的集成不是很雄心壮志,ESB可能过度。话虽如此,它是一种干净和可扩展的架构。您必须做出成本价值决策。

BizTalk也是一个复杂的系统,但由于所有的组件都能动起来,使得它的灵活性非常棒。但要准备好一个学习过程或者请一些咨询师的费用。

我刚刚被同事问了同样的问题,我和他说的是:

In most integration scenarios you can go quite far before using something like BizTalk. I would make sure that I couldn’t do the integration more simply before going with BizTalk.

Only if it seems that the integration solution needs to scale to high volumes with low latency (it’s got a fantastic asynchronous publish-subscribe mechanism), and you need fault tolerance (it’s got redundancy, scaling and message retry features) and governance over the solution (it’s got Business Activity Monitoring) would you really have strong arguments to consider using BizTalk. And if you know that there are multiple future integrations that will be needed then it gets really compelling to use BizTalk.

On the other hand you need to make sure the skills are available to operate the thing. It takes a while to learn and a paradigm shift for the developers of the systems. However its built from the ground up in .NET and SQL Server so there is quite a lot of familiarity in the tooling and concepts.

I think the key thing is to get the conceptual architecture of a solution right taking into account the non-functional requirements like performance, availability, extensibility, resilience, robustness, and scalability and making sure they are properly addressed by the technical design. You may find its cheaper to pay the 35k$ per CPU license for what BizTalk gives you out the box than to develop for all these NFRs.

我最近在客户端实施了全新的ESB Toolkit 2.0,对此非常满意。行程(请参见路由滑板图案http://www.enterpriseintegrationpatterns.com/RoutingTable.html)处理功能使Web服务的组合变得容易,灵活和快速。

I think it makes sense to have a data broker based on the requirements you described, but I personally don t think that BizTalk would be the best choice in your situation. For the type of integration you ve described, I would look at a hardware data broker appliance. Some that I ve seen work well are IBM DataPower, Vordel s appliance, and Layer7 s appliance. For the type of calls you ll be using this for, an appliance is ideal. They provide routing, transformation, and translation, plus they ll protect against things like schema poisoning. They ll also handle authorization, authentication, and auditing by linking it to your user store (I m guessing you have an Active Directory user store based on the environment you described, but it will also work with LDAP)

一种电器将是BizTalk或其他软件解决方案,成本拥有费用(无支持费用),并且任何电器的性能可能会比BizTalk高一个数量级。

我倾向于避免使用ESB术语,因为我认为它被高度重载;在一天结束时,在我听到的各种描述中,它只是一种模式,而BizTalk非常支持这种模式。

So - do I think BizTalk will fit what you wish to do? categorically yes. Do I think you re right to avoid point to point connections - also yes, but, like with any refactoring exercise for reuse, including any SOA initiative, you must consider how much change and now much re-use you expect to decide how far you re taking you re "decoupling" exercise.

你需要谈论延迟和吞吐量。其他的都只是空话。

这是一个非常明显的模式。通常,当您从A系统向B系统发送消息时,您会直接将A系统的格式转换为B系统所需的格式。当您拥有ESB时,您将System A的消息转换为ESB格式(即通用采购订单等),然后转换为System B所需的格式。这是两次转换而不是一次,并且总线模式要求每个消息都有一个动词(例如添加、删除、更新等)。这是一个非常重要的区别,也是使ESB在与许多参与系统进行集成时非常有用的原因。





相关问题
热门标签