技术中心
 
 

什么是SOA

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