我们如何进行系统集成?

时间:2020-03-05 18:39:49  来源:igfitidea点击:

我对不同的人如何解决系统集成感到好奇。我感觉到最近几年越来越多的工作已经投入到集成系统中,并且这种工作的需求也会增加。

我想知道我们是否解决它,然后开发自己的小型服务,然后将它们连接起来,或者是否使用某种产品(WebSphere,BizTalk,Mule等)。我还认为了解如何管理和维护此类解决方案(我们如何解决安全性,仪器仪表等),解决方案遇到了什么样的问题等会很有趣。

解决方案

回答

哇,好吧,这会发帖的,但是会很大。

需要对业务的利益有深刻的理解来支持集成,因为业务可能需要标准化而不是集成,因此要整理出一种运营模型,因为这可能会导致大多数SOA失败的代价高昂!企业体系结构:从IT推动业务收益
作者:珍妮·W·罗斯

如果需要集成,则需要确定集成类型。

速度和性能指标是多少?

我们有一个带有复合应用程序的.NET SOA,该应用程序使用BizTalk 2006,将Webservices与业务应用程序一起使用。应用程序在复合端(消耗)的性能受限于业务应用程序中Web服务(及其实现)的速度!我们需要小于3秒的案件结果清单回报率。无法在Web服务中实现,因此我们需要直接进入数据库进行初始搜索。然后通过网络服务创建案例。成本影响和维护在这里成为一个问题。

这里的重点是查看规格和业务要求中的性能标准,这将有助于查看我们需要进行WebServices(HTTP),File Drop / EDI等的集成类型。

从功能上讲,为了集成,我们需要查看提议的体系结构中的故障点,因为这将导致SLA / OLA中的响应链。我们可能需要将整合/故障点包装到我们控制的事物中。

与业务线集成的类似点是,在集成之前,我们需要了解多少其他产品?是的,Web服务应该按合同进行设计,但是实现通常很漏水,我们需要了解很多情况,如果这是一种即使我们将Web服务泄漏到集成技术(即BizTalk)中也无法控制抽象的产品。

将这两点结合在一起,我们最好的建议是使集成集线器类型(如BizTalk包装器)成为我们创建的Web服务中的业务应用程序行,以便BizTalk端可以避免泄漏抽象,然后还可以减少故障点,因为我们已经将业务应用程序与集成中心以及故障点与单个源(而不是在业务流程内部)分离了。

SOA和集成项目中的仪器和诊断很难实现!不要让任何有光泽的销售人员尝试以不同的方式告诉我们!是的,具有MOM Ent的MOM可以做到这一点,UniCenter可以做到。

主要问题是了解集成中的错误(即打what)是什么意思以及如何从错误中恢复...我们最终陷入了困境,并且我们需要了解这对于该业务流程意味着什么。我们可能会收到警报,说处理程序是100%Ram 100%编排失败了,但没有真正的意义。我们必须从一开始就将这些东西设计到解决方案中,并希望将其引入到故障点中。

集成模式的类型以及如何做也需要考虑。

上面是LIVE实现中带有BizTalk的.NET SOA的真实视图。但这也是由于此BizTalk的体系结构限制,主要是HUB和SPOKE模式。

查看Martin Fowler的企业应用程序模式

有很多方法可以对任务进行皮肤设置!

其他注意事项...平台/开发人员语言等

对我们来说,最大的因素之一是开始学习这些东西所需的技能。我们有使用Java和Cunderstanding的OO开发人员,但主要是C#。因此,我们选择了MS堆栈。但是,当我们选择集成类型和产品来管理此功能时,他们将需要更多的技能来理解该技术。但这对我们开发人员来说是正常的,对吧?错误的许多开发人员,无论经验如何,都可能会被BizTalk之类的东西搞糊涂!范式的重大转变,部分原因是消息传递而不是代码。

最好的最后!

集成中可能面临的交易数量可能是所有这些中的最大因素。因为这将指导此类事件的模式,故障点和容忍度。

我们需要在正确的卷上选择最佳。可以扩展和扩展的东西!我们选择BizTalk是因为它可以正确地进行扩展和扩展,并且比其他一些应用程序具有更好的了解。

如果我们没有卷,那么请看一下没有什么东西可以管理它们,并寻求一种没有管理性能的Web服务到Web服务类型样式,并且需要将故障理解编码到其中。

如果我们使用.net 3在Windows平台上,请查看WWF / WCF,因为这可以在Web平台上为所有这些关注点从Web平台到Web服务中提供更多帮助,而无需BizTalk和其他方面的开销。

希望这可以帮助。

回答

根据我的经验,这取决于我们要解决的问题。

以我的经验,很难在价格上击败BizTalk 2006 R2,但这确实意味着要使用Microsoft技术堆栈。

Websphere MQ似乎更容易出售给大型公司,并且可能在企业级别得到了更大的使用。

两者都提供了良好的工具,但是真正由开发人员来定制它以适合客户需求。

在某些情况下,我发现定制解决方案最适合或者利用MSMQ这样的技术来降低成本。

回答

我们提到了WebSphere,BizTalk和Mule。每个优点和缺点各有不同。
如果我们只是想集成,我会推荐Mule。我对此有很好的经验,更重要的是架构师是非侵入性的,因此我们始终可以迁移到其他ESB或者其他Buzz词投诉解决方案。
Mule的优点之一是它可以嵌入到应用程序中,并且最终的工件可以部署在Webshpere,WLS,Glassfish等上,甚至不显示我们嵌入了ESB。然后,该ESB可以执行所有集成管道(管理连接类型和协议)。某些端点可能是我们提到的其他集成解决方案。

回答

我们使用Mule已有一段时间(现在研究从1.4到2.1.x版本的迁移)。

好吧,它是具有实时社区和卖方方面快速反应的最好的ESB之一,但是IMO 2.1.x版还是有点生硬(或者我们只是使用它来调用CXF Web的公司:)请参阅我的帖子以了解详细信息http://www.nabble.com/Migration-from-XFire-to-CXF:-Is-Web-Service-Client-in-Mule-2.x-broken--to19969320.html#a19969320)

回答

我们有一个Oracle合同。因此,我们正在使用Oracle Stack。 SOA Suite 10.1.3.4. 通常是BPEL解决方案,对于简单的转换,我们尝试使用ESB。

ESB具有错误的故障处理机制。对于BPEL,有许多方法可以处理错误。我们尝试开发Java Web服务以连接到SOA Suite,而我们的主要系统是Oracle EBS系统。它们通过SOA Suite随附的默认EBS适配器与旧系统或者其他EBS环境进行通信。

我们遇到的问题是缺乏有关EBS适配器的知识。我们从BPEL解决方案(从EBS系统接收信息)解决了一些问题。准备好解决方案的生产是一项艰巨的工作。

保护我们的网络服务不是一个大问题。 Oracle Web Service Manager随Oracle堆栈一起提供。这样我们就可以保护,登录等所有Web服务。

我们遇到的最大问题是缺乏我们自己的标准。使企业感到他们也可以构建SOA解决方案。我们无法解释他们从SOA解决方案中获得的好处。快点?不 !便宜点吗一定不行!更简单的解决方案?好吧,也许当我们获得良好的可重用服务时……好吧,其中较容易的部分存在问题:我们如何知道哪些应用程序在使用可重用Web服务?

我们需要一个可以显示此类信息的寄存器。由于找不到合适的开源解决方案,因此我们试图构建自己的寄存器。同样来自Oracle堆栈的简单APEX解决方案。 ;)

因此,有人知道注册此类信息的好产品吗?