SOA架构的三层体系结构分布式系统

标签:SOA

访客:28454  发表于:2013-01-08 16:01:19

     虽然现在SOA比较成熟,但还要了然该理论形成的一些技术理论。本文将着重介绍三层体系结构分布式系统。

     三层体系结构分布式系统

     三层体系结构是由二层结构的胖终端中的应用构件独立出来组成了应用层。为解决分布式系统中的各种潜在复杂性,提出了中间件技术及其理论,称为第五个技术与基础理论体系。

    八年前我的最后一位博士生王文军的学位论文是《分布式系统的联邦结构》,即面向服务的架构,但未被应用和发展。而两年前IBM公司提出SOA后却很快被广泛接受,其原因可从客观需求上和技术成熟度上三方面来叙述:

     其一,客观上需要,随着网络普及化,用户越来越迫切需要将现有多个应用系统集成,以能实现更强的信息处理功能。如电子商务的供应链、智能交通、电子政务、数字地球等已是本世纪发展的热点。Gartner预计,到2008年基于件产品将占领70%的市场份额。

      其二,面向对象和构件架构的基础理论和技术已趋向成熟,发展到统一建模语言,提供建模工具。中间件集群理论己趋向成熟,并提出了中间件Inter Bus技术。

    其三,浏览器技术普及,己成为行业标准,奠定了SOA的基础理论和技术规范,由此已是水到渠成,使SOA拙壮成长。

    SOA在实现中的组成部分

     SOA的体系结构仍旧是三层或N层结构,但对异构平台各层之间的联系,不是用CORBA、J2EE或。NET的方式,而且用WBDL和SOAP来实现,它们的概念简单统一。

    目前都是采用嵌入ESB企业服务总线的平台来实现,ESB是一个中间件群,确保系统实现了服务接口、各种中间件以及松耦合的三个方面功能,因此称它为第六个技术与基础理论体系。

     另外,普遍采用BPEL(业务过程执行语言)来描述用户需求,由BPM(业务过程管理平台)来解释执行,构成了第七个技术与基础理论。

     SOA的主要优点

     1. 利用现有的资产。方法是将这些现有的资产包装成提供企业功能的服务。组织可以继续从现有的资源中获取价值,而不必重新从头开始构建。

    2. 更易于集成和管理复杂性。将基础设施和实现发生的改变所带来的影响降到最低限度。因为复杂性是隔离的,当更多的企业一起协作提供价值链时,这会变得更加重要。

    3. 更快地整合现实。通过利用现有的构件和服务,可以减少完成软件开发生命周期所需的时间。这使得可以快速地开发新的业务服务,并允许组织迅速地对改变做出响应和缩短开发时间。

      4. 减少成本和增加重用。通过以松散耦合的方式公开业务服务,企业可以根据业务要求更轻松地使用和组合服务。

      5. SOA业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理它来满足不同时期的需要。

       建立软件开发方法和规范

     构件构架理论体系的应用是适用于构件技术创立的,当发展到面向服务的体系结构时,必需加以修改和扩充,现在称为模型驱动MDD的需求工程建模理论,可以称它为第八个技术与基础理论体系。

     另一个构件的领域工程将要扩充成SOA的参考结构,这是第九个技术与基础理论体系。SOA的门户将要反映SOA所有功能的表现层界面,为此如何将最新的WEB2.0与SOA给合,这是第十个技术与基础理论体系。上述三方面是SOA在实际应用时必需要建立的理论和技术。
    更多精彩内容,请见原文:http://www.ciodongcha.com/plus/view.php?aid=1194

评论(5)

您可以在评论框内@您的好友一起参与讨论!

    1. 张卡尔 2004年,召开了第一届IEEE的服务计算会议,许多SOA文章哦。

      回复[0] 2013/01/09 07:59

    1. 张卡尔 我大约看了一下,2003年12月年 Channabasavaiah, Holley and Tuggle 就发表了名为 迁移到一个面向服务的架构 
      Migrating to a service-oriented architecture 在IBM 期刊上面

      回复[0] 2013/01/09 07:57

    1. 张卡尔 有点无聊的文章。一口气总结出了10个理论基础?打算让学生们背诵考试放寒假?那么,比如,复合应用,是否第11呢?RESTful,第12?

      八年前的博士论文?那么,从来面向对象都是说对象在提供服务,那不也是SOA?

      回复[0] 2013/01/09 07:49

    1. 姜稳 学习了!

      回复[0] 2013/01/08 16:13

    1. 徐蕊 学习

      回复[0] 2013/01/08 16:07

<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");