转: 浅析:SOA核心理念的应用发展

来源:互联网 发布:c语言面试题目及答案 编辑:程序博客网 时间:2024/05/20 15:38
SOA与构件技术、软件工程、软件平台、信息安全、可信赖计算、软件产业等六个领域的关系既是SOA核心理念,也是其发展与应用的基础。

  应用需求的快速发展带动了计算机网络技术的快速发展,其直接结果是产生了当前炙手可热的网络服务(Web Service)技术,如何合理地把Web服务应用到各类企业的IT系统和商业流程之中、并给企业带来直接的经济效益,一直是备受国内外企业管理者高度关注的课题。面向服务架构(SOA,Service-oriented architecture)就是在此背景下出现的,SOA被誉为下一代Web服务的基础框架,目前已经成为计算机信息领域的一个新的发展方向。

  1996年,Gartner最早提出SOA的思想,2002年12月,Gartner提出SOA是“现代应用开发领域最重要的课题”,预计到2008年,SOA将成为占有绝对优势的软件工程实践方法。Gartner为SOA描述的远景目标是:在于让IT变得更有弹性,以更快地响应业务单位的需求,实现实时企业(Real-Time Enterprise)。一些IT组织已经成功建立并实施SOA应用软件了,IBM等厂商也看到了它的价值,继而纷纷跟进。

  SOA与构件技术
  
  研究SOA,不能不关注软件构件技术,“基于构件技术提供网络服务”是SOA的重要思想起源,做SOA研发的公司无不对构件技术有一定研究。

  在SOA架构中,流动的应该是构件,而不是已经集成在一起的整个系统软件。一个用户选择了一款软件,一般都有定制的要求,尤其是系统管理软件,如ERP、CRM等。构件化技术为不同用户的定制要求提供了可能,把常用功能做成可供选择的构件,用户就有了更为灵活的选择。没有构件化时,软件系统的各个部分是紧密结合在一起的,因而会“牵一发而动全身”,采用了构件化技术后,软件的各个功能模块就可以独立地实现、升级,而不会影响系统整体。

  构件技术与构件化的概念是有区别的,构件化的关注点不在于构件本身的技术实现,而在于如何把应用系统分解成稳定、灵活、可重用的构件,在于如何利用已有的构件库组装出随需应变的应用软件,从一个面向构件的环境中去分析应用,如何做出灵活、重用的构件来思考。构件化的目的在于带动软件工业化。

  但是,构件技术则是构件化的基础,它为构件的工厂化生产提供技术保障。传统的软件方法学是从面向机器、面向数据、面向过程、面向功能、面向数据流等反映问题的本质;而构件技术关注的是在软件已经可用的情况下,在高层次上的复用,如分布式异构互操作。基于构件的软件设计方法学把应用和实现分离,提供标准接口和框架,使软件开发变成构件的组合。基于构的软件方法学是以接口为中心、面向行为、基于体系结构设计的,它要求:对构件件要有明确的定义;用构件描述语言和规范,如UML、微软COM构件技术中的IDL、科泰世纪CAR构件技术的CDL。

  在基于对象模型描述的计算机网络系统中,对象是最基本的概念,分布协同的基本单元就是这些对象构件。对象之间只能通过预先定义好的接口访问,这些接口构成连接客户和服务器的协议。任何对象都可向其他对象请求或提供服务。SOA是一种基于对象的构件计算模型,它将不同的功能单元通过预先定义好的接口和契约联系起来。SOA的构件计算模型决定了软件系统构架。在一个SOA系统中,提供具体服务的是一个实现相应功能的构件。(转载文章请保留出处:Java家(www.javajia.com)) 
原创粉丝点击