最早的SOA 概念是希望任何应用软件的界面都应该具备一定的商业用途,比如可以处理一个购货订单或者进行库存的实物清算。只要开始服务就可以自动完成整套相关的商业流程。举一个例子,有一项可以提供“为到达的货物分配一个库存容器号码”的服务。这项服务用物质化的ID标签,为库存的容器分配一个号码。因此,它的SOA界面可能就是被称为“Assign Storage Container ID. (分配库存容器ID)”的服务。它通过那个分配号码的应用软件与ESB相连。当分配ID时,程序有可
SOA的设立基于6个假设的前提:系统是松散耦合的;界面交换是非物质的;程序具有RPC(remote procedure call远程功能呼叫)功能;界面基于消息;消息使用XML 数据;以及界面支持同步或不同步两种数据传输形式。
当一个系统工作时不会对另一系统产生较大程度,而同时服务的实施在幕后进行时,系统被认为是松散耦合的。而非物质的界面并没有固定的形式CONTROL ENGINEERING China版权所有,每次使用的其实只是被交换的数据CONTROL ENGINEERING China版权所有,而不是隐藏在背后的服务提供商的知识和经验。RPC 功能就是程序运行起来就像一个本地函数或者子程序调用那般简单,使用者完全不必理会界面信息的任何细节。一个基于信息的界面通过ESB在程序间传送消息;这些消息基于XML 数据CONTROL ENGINEERING China版权所有,而非可展开的文件或某种专用的二进制语言。服务可能是同步的,即发送请求然后等待即时回应。同样的,当服务请求发出后,程序继续处理另一个过程www.cechina.cn,稍后再做出回应,这时服务是不同步的。
这些简单的SOA 概念很难在现有的系统里实现。关键是为系统提供的服务确定适当的程度和类型。服务可以是精细型的,也就是执行诸如改变某一数据要素;也可以是粗放型的,即可处理重要复杂的商务过程的服务。可以想见,粗放型的服务是比较受欢迎的SOA 应用类型;当然,在很多情况下www.cechina.cn,精细型服务也是不可或缺的。
制造团队应该帮助企业认清他们的系统需要实现的服务是粗放型还是精细型的,以方便其做出决定。通常会使用到SOA模式的商业流程主要集中在物质管理、物流控制,包括原材料、设备和人员的运转等。粗放型服务主要针对生产、测试、维护等主要流程,而精细型服务则主要处理与材料、设备和人员相关的具体信息。必须强调一点:SOA不是一个随处可用的解决办法;要实现SOA必须要很好地理解生产制造在企业供应链里所起的作用。