本文演示如何将RFID Web服务集成到多个 SOA 中的 EAI 应用中……
外部互操作性
不过,并非所有 Web服务都可以通过内部提供。某些 Web服务可能需要连接到在不同 SOA 中建立的外部 RFID Web服务。可以将内部和外部 Web服务组合为原始 SOA 中的组合应用程序。
当 RFID Web服务不在组织的控制之下时,需要确保它们具有相同的语义并遵守相同的协定要求,能够在外部彼此进行互操作。语义误解(如专用性)和协定漏洞(如多平台差异)会引起外部企业 Web服务之间的互操作性问题。
更快的网络通信
另一个问题是,当大量使用时,基于 XML 的 RFID Web服务应用程序会变得过于庞大。这些 Web服务会阻塞网络通信,从而导致系统过载。为了解决此问题,应该应用 XML 二进制优化打包 (XOP) 规范来加速 Web服务。
此规范是一项标准草案,旨在比当前 XML 解析器更有效地处理 Web 服务。解析器的行为更像解释器,而不是编译器。当解析器读取大型文件(特别是文本格式的大型文件)时,并不能达到其读取较小的文件或计算简单函数时的性能。甚至加密也可能使 RFID Web 服务陷于停顿,因为必须执行复杂的计算才能获得希望的结果。
RFID Web 服务体系结构
为了增加带 RFID 标记的物品的可见性,需要创建具有两个网关的 RFID Web服务。一个网关将 Web服务连接到 IBM 集成服务器,而第二个网关则位于集成服务器和后端 EAI 应用程序之间。由于某些 RFID Web服务可能不是内部提供的,因此可能需要连接到外部 Web服务来完成处理任务。
连接
可以将内部 Web服务连接到集成服务器,然后再跨 SOA 连接到外部服务。外部 RFID Web服务可能不驻留在同一个 SOA 上。每个 SOA 都具有一组不同的向 IBM 合作伙伴所承载的 EAI 应用程序提供的服务。
可以让内部 RFID Web服务调用 SOA 中的外部 RFID Web服务,以让外部 EAI 应用程序向内部 EAI 应用程序提供进行各种操作(如存储信息、生成报告和发送警报)所需的信息。可以使用同一个内部 RFID Web服务来调用另一个外部 EAI 应用程序甚至另一个外部 Web服务。可以将内部和外部 RFID Web服务组合为内部 SOA 中的组合应用程序,以提高操作效率。
您需要按照层次结构顺序开发由 Web服务模块组成的应用程序。与更改没有模块的大型应用程序相比,更改一个模块而让其他的模块保持不变要高效得多。应用程序应该具有可以更改的特定参数,以便在对某个模块进行脱机更改时,可以在生产环境中运行特定的任务关键型模块。
例如,为了减少从供应链中的一个点发送到另一个点时丢失 RFID 数据的风险,可以考虑开发一个有关企业安全的 RFID Web服务应用程序,该应用程序分为以下四个模块:信息安全、漏洞管理、威胁检测以及响应和策略的管理与监视。如果前三个模块由内部提供,则可以将其与来自外部的第四个模块组合为一个组合应用程序。
只要不会导致系统过载,就可以根据需要连接任意多的 RFID Web服务。而为了完成任务序列而可以几乎同时开启的 RFID Web服务的最大数量则更为重要。Web服务松散耦合的特性允许在需要时对其进行调用,而在不需要时将其释放。只要确保在大量使用时,处理大型文本文件的基于 XML 的 Web服务不会变得过于庞大即可。可以通过使用 XOP 规范避免这个问题。
结束语
要将 RFID Web服务跨多个 SOA 集成到 EAI 应用程序中,需要事先进行计划,以确定应如何对其进行设计,以避免在高峰时段造成过载。应当与系统管理员、RFID 业务分析人员和开发人员的团队进行沟通,让他们了解 Web服务应如何进行内部集成,以及如何与来自外部的 Web服务进行集成。
如果首先解决了这些问题,您将会发现集成 RFID Web服务应用程序变得容易多了。您可以使用 IBM Relational Web Developer for WebSphere Software 来开发基于业务流程的 Web服务,然后在 SOA 内部以及各个 SOA 之间将其与 XOP 包一起使用。管理员会发现,解决了这些问题也使得他们的网络管理工作变得更加轻松。他们能够确定在不引起系统过载的前提下可以开发多少应用程序。
阅读关于
RFID Web服务 SOA EAI XML 中间件 WebSphere CRM ERP 的全部文章