SOA的反思:SOA架构的本质

2016年7月29日 来源:科工网-国际互联网+生态服务平台  浏览 818 次 评论(0)

  早的SOA概念是希望应用软件的界面都应该具备一定的商业用途,比如可以处理一个购货订单或者进行库存的实物清算。只要开始服务就可以自动完成整套相关的商业流程。举一个例子,有一项可以提供“为到达的货物分配一个库存容器号码”的服务。这项服务用物质化的ID标签,为库存的容器分配一个号码。因此,它的SOA界面可能就是被称为“AssignStorageContainerID(分配库存容器ID)”的服务。它通过那个分配号码的应用软件与ESB相连。当分配ID时,程序有可能同时执行其他的工作,例如记录任务;专项储存库存号码资料以备货物到达时能及时调用;以及将容器的状态标记为“使用中”。

  SOA的设立基于6个假设的前提:系统是松散耦合的;界面交换是非物质的;程序具有RPC(remote procedure call远程功能呼叫)功能;界面基于消息;消息使用XML 数据;以及界面支持同步或不同步两种数据传输形式。

  当一个系统工作时不会对另一系统产生较大程度,而同时服务的实施在幕后进行时,系统被认为是松散耦合的。而非物质的界面并没有固定的形式,每次使用的其实只是被交换的数据,而不是隐藏在背后的服务提供商的知识和经验。RPC 功能就是程序运行起来就像一个本地函数或者子程序调用那般简单,使用者完全不必理会界面信息的细节。一个基于信息的界面通过ESB在程序间传送消息;这些消息基于XML 数据,而非可展开的文件或某种专用的二进制语言。服务可能是同步的,即发送请求然后等待即时回应。同样的,当服务请求发出后,程序继续处理另一个过程,稍后再做出回应,这时服务是不同步的。

  这些简单的SOA 概念很难在现有的系统里实现。关键是为系统提供的服务确定适当的程度和类型。服务可以是精细型的,也就是执行诸如改变某一数据要素;也可以是粗放型的,即可处理重要复杂的商务过程的服务。可以想见,粗放型的服务是比较受欢迎的SOA 应用类型;当然,在很多情况下,精细型服务也是不可或缺的。

  制造团队应该帮助企业认清他们的系统需要实现的服务是粗放型还是精细型的,以方便其做出决定。通常会使用到SOA模式的商业流程主要集中在物质管理、物流控制,包括原材料、设备和人员的运转等。粗放型服务主要针对生产、测试、维护等主要流程,而精细型服务则主要处理与材料、设备和人员相关的具体信息。必须强调一点:SOA不是一个随处可用的解决办法;要实现SOA必须要很好地理解生产制造在企业供应链里所起的作用。

  在领域中,语义都*重要,而在SOA中更是如此。由于 SOA涉及多个团队和组织,因此就相关术语达成一致关重要。

  在领域中,语义都*重要,而在SOA中更是如此。由于 SOA涉及多个团队和组织,因此就相关术语达成一致关重要。本系列将带着您开始SOA之旅,为您定义各种基础术语和它们背后的重要概念。您将了解 SOA领域中需要理解并用于沟通的各个词汇。对于每个术语,将说明它在 SOA领域中有何重要性、在这种情况下的含义、相关的标准有哪些以及与其他术语的区别如何。

  在文中,您将探索各种术语和技术,它们有的与在高抽象级别(分析)下设计SOA有关,另一些则涉及如何推进到较低的抽象级别(设计),后一种级别的下面紧接着代码级。

我来说两句
人参与 丨 评论0条)
图标
注册 登录    
评论列表
每页 10 条,共 0 条
×

微信扫一扫关注我们

欢迎投稿

×

邮箱:15236061639@163.com

QQ:60298351

微信:a18137798589

(版权所有 科工网&北京天云聚合科技有限公司 © Copyright 2015 - 2022 . All Rights Reserved.) 京ICP备14030211号-5   |   营业执照