SOA的解释

IT行业最新的流行词是SOA,即面向服务的体系结构的缩写。SOA是当前IT经理、系统集成商和IT供应商的最爱,然而很少有经理、集成商或供应商对它的真正含义达成一致。SOA不是产品、技术或体系结构。SOA只是集成应用程序的一个概念。

通过丹尼斯Brandl 二零零七年八月一日

IT行业最新的流行词是SOA,即面向服务的体系结构的缩写。SOA是当前IT经理、系统集成商和IT供应商的最爱,然而很少有经理、集成商或供应商对它的真正含义达成一致。SOA不是产品、技术或体系结构。SOA只是集成应用程序的一个概念。制造专业人员应该知道什么是SOA,因为他们将被要求使用ESB主干和SOA模型将自己的系统与其他系统连接起来。ESB是应用程序之间的管道,用于路由消息和缓冲请求和响应。SOA定义了通过管道传输的内容。

SOA的基本概念是,应用程序的任何接口都应该封装业务服务,例如处理采购订单或对库存材料执行物理计数。调用服务将导致执行关联的业务流程。例如,服务可能是“在物料到达时分配存储容器ID”。该服务需要材料批号并返回存储容器的编号。SOA接口可以是一个名为“AssignStorageContainerID”的服务。服务接口由分配容器号的应用程序发布到ESB。在分配ID时,应用程序可能会执行其他进程,例如记录分配、将存储号发送到仓库系统,以便在容器到达时识别容器,以及将容器状态分配为“使用中”。

SOA基于六个假设:应用程序是松耦合的;接口事务是无状态的;接口遵循RPC(远程过程调用)模型;接口是基于消息的;消息使用XML数据;接口可以同时支持同步和异步事务。

当一个系统的可用性对另一个系统没有显著影响,并且服务的实现对调用者隐藏时,应用程序是松散耦合的。无状态接口没有隐式历史;接口的每次使用仅基于交换的数据,而不使用由服务提供者维护的隐藏知识。RPC模型意味着接口看起来像本地函数或子例程调用,调用者不必处理接口消息的任何细节。基于消息的接口使用ESB在应用程序之间发送消息,消息基于XML数据,而不是平面文件或专有二进制接口。服务可能是同步的,其中存在对服务的请求和等待响应。或者,当调用者发出服务请求,继续其他处理,稍后返回响应时,接口可能是异步的。

这些简单的SOA概念很难在现有系统中实现。关键是定义系统提供的适当级别和类型的服务。服务可以是细粒度的,这意味着它们执行小的操作,比如更改数据的一个元素;也可以是粗粒度的,这意味着它们封装了重要的业务流程。粗粒度服务是SOA应用程序的首选模型,但也经常需要细粒度服务。

制造人员必须通过识别制造系统执行的关键粗粒度和细粒度服务来协助企业SOA活动。关注管理物质、设备和人员的物理控制和移动的业务过程。粗粒度服务将反映主要的操作,例如生产、测试和维护,而细粒度服务将处理关于特定材料、设备或人员的详细信息。记住,SOA不是一个开箱即用的解决方案;实现SOA需要很好地理解制造业在企业供应链中的角色。

作者信息
丹尼斯·布兰德是北卡罗来纳州卡里市BR&L咨询公司的总裁,dnbrandl@brlconsulting.com