首页 > 范文大全 > 正文

SOA在信息化和企业应用中的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇SOA在信息化和企业应用中的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文阐述了soa的内涵,研究了SOA在信息化企业应用中的作用和特性,这些特性使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务,从而保护了现有的IT基础建设投资。

关键词:SOA;企业应用;服务

中图分类号:TP39文献标识码:A文章编号:1009-3044(2011)30-7475-02

Research about SOA in Information and Enterprise Application

YAN Xin-zhang

(Jiangxi Provincial Tobacco Company Yingtan City Company, Yingtan 335000, China)

Abstract: This paper expounds the connotation of the SOA, studies the function and characteristics of SOA in information and enterprise application,whose properties make enterprise solve the new business needs, in accordance with the way to add new modular service or update the existing service, provides the choice which can provide services through different channels,and can put the enterprise existing application as a service, thus protect the existing IT infrastructure investment.

Key words: SOA; enterprise application; service

21世纪是一个变幻莫测的世纪,是一个催人奋进的时代,是一个技术日新月异的时代,科学技术的飞速发展,新知识、新技术、新架构和新思想层出不穷。希望、困惑、机遇、挑战随时随地都有可能出现在每一个社会成员的生活之中。

从企业的IT战略角度而言,经过多年的发展,各个企业都已经在不同业务支撑领域架构了一系列的IT系统,甚至是一个完善的企业架构,或者是已经完成了部门级的垂直整合。可是,在日新月异的商业环境下,产品的生命周期变得越来越短,客户的需求也在随时变化,新的业务模式持续地酝酿生成。

新的业务模式需要新的业务流程来支撑,要求更有效率的合作,这不仅仅发生在同一个垂直的部门内部,对跨部门的业务合作和整合的需求也被提到议事日程上。有效的部门间合作,或者企业间的合作,能够满足客户需求并响应外界变化的灵活业务流程,是现代企业竞争力的根本。这不仅仅是一个企业管理和文化能解决的问题,也对企业的IT系统提出了进一步的需求。

随着全球经济一体化的深入发展,敏捷的、不受限制的业务集成的需求已经成为关键的业务需求。企业希望能够是吸纳集成企业内外的信息,同时又能够随时更新这样的集成。SOA就实现了企业的这个想法。

1 SOA简介

SOA的英文全称是“Service Oriented Architecture”,也即“面向服务的架构”。这里的服务,可以说是一种既超越具体技术,又包容具体的实现技术的业务功能。SOA是一个完整的软件系统建构体系,包括运行环境、编程模型、架构风格和相关的方法论等。其核心是服务,并涵盖服务的整个生命周期,建模―开发―装配―运行―管理。SOA的核心理念是业务驱动,采用松耦合的、灵活的体系架构来满足随需而变的业务需求。SOA的服务理念思想,本质上是一种业务和技术的完全分离,业务又能和技术自由组合的思想,它达到了目前软件设计思想的最高境界,SOA的出现,预示着一个以服务为导向的新的IT时代的到来。

2 SOA为企业带来革新

随着行业发展越来越专精,越来越多的专业服务被提供出来。比如说,自古以来饭店总是要雇用一些洗碗工清洁堆积如山的碗筷。可是现在出现了一种专业服务,回收用过的碗筷,清洗、消毒,然后包装好派送各个饭店。于是,饭店便无需雇用专门的洗碗工,也无需使用一次性筷子,还可以向消费者收取碗筷清洁消毒的费用――相当于原来的一次性筷子的费用,所以消费者也不会抱怨。这是一个标准的三赢场景:首先,饭店省去了雇用洗碗工的成本;其次,消费者避免使用浪费资源并可能有卫生问题的一次性筷子;最后,洗碗服务的提供者也获得了相应的利润。其中的理念是,饭店要正常经营,清洁碗具是每个餐馆不得不做的事情。但大家都知道,洗碗并不是餐馆最擅长的事,餐馆最擅长的事是烹制美食,而专业的洗碗店最擅长洗碗。所以,自然而然出现的场景是:饭店只做自己最擅长的事――烹制美食,把自己不太擅长的事――洗碗外包给最擅长做这些事的公司――洗碗公司,这样强强联手,给消费者提供更好的服务。

反观IT业界,同样的场景也会发生。企业可以使用第三方提供的更好服务来支持自身业务流程实现的需要,而不用事必躬亲,这样可以大大节省IT开发和维护成本。例如:企业内部资源包括部门资源和共享服务资源两部分。在客户使用这一业务流程时,企业业务流程不仅仅是使用自己的既有服务,还整合了供应商的服务,进而供应商又整合了一些外包商的服务。在这样一个场景中,供应商和外包商提供了流程中的一些专业服务使得业务流程更加敏捷有效,犹如上面例子中的洗碗店一样。服务的核心理念是业务,服务定义了一个与业务功能或者业务数据相关的接口,以及约束这个接口的契约,是粗粒度的。服务是中立的,不依赖于特定的技术和平台。多个服务可以被组装成一个业务流程,完成一个特定的业务功能。由此可见,服务是可重用的,一个定义良好的服务可以被用于组装多个业务流程。SOA的概念架构模型如图1所示。

3 程序设计思想

面向过程语言是最早出现的大众化的编程语言,C语言是典型的代表,是一种紧密耦合的软件语言技术,用C语言编写的应用程序完成一大堆函数的编写,整个应用程序依赖于一些预先定义的全局变量。函数的可重用性很差。

面向对象编程将面向过程的相关函数封装起来,消除全局变量,形成能够独立调用的对象。相对于面向过程的含有全局变量的编程,其耦合性已经降低。对象可以重用,可以继承和扩展。而对象之间还有相互调用的现象,还存在一定的耦合性。这些对象只能本地调用,不能远程调用。

面向组件的编程将面向对象的程序进行封装,定义一些接口让外部调用。但是客户端和远程服务器端的传输协议是特定的,需要和特定的程序实现语言绑定。

从本质上来讲,面向对象是对面向过程的一次解耦和封装,就是把面向过程的程序进行分解,把逻辑紧密相关的程序结合在一起,成独立的对象单元,对象单元里面含有API。面向组件的编程是将面向对象的程序进行进一步的封装,成独立的组件,里面含有一些粒度大于API的接口。面向组件和面向对象的最大区别在于组件是通过传输协议来进行远程调用的,组件是和传输协议绑定、应用服务器的端口绑定在一起的。面向服务的编程是对面向组件的编程的进一步解耦和封装。所谓解耦,就是将业务组件和传输协议、端口解耦。也就是说业务组件可以自由地绑定各种传输协议。作为面向服务的编程,由于服务组件可以和各种传输协议自由绑定。这样作为服务的消费者,就不需要特别关心服务提供者的具体的技术细节,只需要知道有这么一个完全和技术无关的业务接口。SOA的服务调用方式如图2所示。从图中可以看出,传输协议和位置都是透明的,不论实际服务者的传输协议和位置如何修改,客户端都不需要相应的程序。

4 小结

SOA是为软件集成而服务的,它实现了技术和架构的完全分离,消除了软件服务集成的所有障碍。可以重用定义好的服务,无论是包装已有系统功能,还是新开发的业务功能,甚至是采用合作伙伴所提供的服务。

参考文献:

[1] 韩丁,沈建京,万芳,张慧. 基于SOA的服务构件封装技术研究[J].计算机工程与设计,2009(7).

[2] 皇甫先鹏,陈洪辉,罗雪山.一种SOA架构下的动态服务组合模型[J].中国电子科学研究院学报,2009(5).

[3] 李达惠.SOA事务处理模型研究[J].广西轻工业,2009(11).

[4] 赵雅跃.新一代软件体系架构SOA的应用[J].软件导刊,2009(11).

[5] 孙倩娜,刘宁.基于SOA理念的网络课程整合架构设计[J]. 软件导刊(教育技术),2009(10).

[6] 李双庆,黄传冠,罗希意,周明强. 一种SOA服务区域的自组织方法[J].计算机应用研究,2009(12).

[7] 崔海荣,兰淑丽,于若冰. 基于SOA的分布式RFID中间件研究[J].青岛大学学报(工程技术版),2009(3).

[8] 楼建列.基于SOA的网络视频虚拟教室架构的研究与实现[J].计算机与现代化,2009(12).

[9] 杨森, 曹宝香. 基于SOA的分布式构件库系统的设计与实现[J].北京联合大学学报(自然科学版),2009(4).