(计算机应用技术专业论文)web环境下界面驱动的系统集成研究.pdf_第1页
(计算机应用技术专业论文)web环境下界面驱动的系统集成研究.pdf_第2页
(计算机应用技术专业论文)web环境下界面驱动的系统集成研究.pdf_第3页
(计算机应用技术专业论文)web环境下界面驱动的系统集成研究.pdf_第4页
(计算机应用技术专业论文)web环境下界面驱动的系统集成研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)web环境下界面驱动的系统集成研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要面对快速多变的业务协作需求,人们开始关注其计算机应用系统的按需、即时构造的能力,以满足动态应用集成的要求。现有的面向服务的计算技术尚不具备这种能力,不足以满足动态应用集成的要求。这样,如何利用面向服务的计算技术实现按需、即时的系统集成就成为当前的一个研究重点。本文从支持业务用户“编程”的角度,初步研究并得出了一种基于业务端编程思路,来实现w e b 环境下面向服务的系统集成方法i d m 。该方法强调了通过对物理服务资源的业务级抽象、业务级服务组合手段的提供以及自动完成业务级服务组合到软件级服务组合的转换,来实现面向服务的系统的即时集成的基本途径,体现了以业务用户为中心面向服务的系统集成的新思路。关键词:w e b 服务、界面驱动、系统集成、业务端编程、反演计算、聚合a b s t r a c tf a c i n gc o n t i n u o u s l yc h a i l g i n gc o l l a b r a t i o nb u s i n e s sn e e d s ,p e o p l ep a ym o r ea n e n t i o nt oo n d e m a n d 觚dj u s t - i n - t i m e c o m p u t e ra p p l i c a t i o nc o n s t m c t i o nr e c e n t l y t os a t i s 母t 1 1 ed y n 锄i ci n t e 莎a t i o nd e m a l l d h o w e v t h ee x i s t i n gs e n ,i c e o r i e n t e dt e c h n o l o g yc 猢0 tc 卸n o ta c h i e v et h a t t h e r e f o r e ,h o wt ol l s em es e r v i c e - o r i e n t e dt e c l l n o l o g yt oi m p l e m e n tt h eo n - d e m a n da n dj u s t - i n t i m es y s t e mi n t e g r a t i o nh a sb e c o m et i l ec u n e n tr e s e a r c he m p h a s i s t h et h e s i sp r o p o s e sas e i c e o r i e n t e ds y s t e mi n t e g r a t i o nm e t h o dc a l l e di d mf o mb u s i n e s su s e r s p o i n to fv i e wb a s e do nb u s i n e s su s e rp r o 伊a m m i n gt h o u g h t t h em e t h o de m p h a s i z e st h eb a s i cw a yt oi m p l e m e n tt h es e r v i c e - o r i e n t e dj u s t i n - t i m es y s t e mi n t e g r a t i o nf o l l o w i n gt h ei d e ao fg e t t i n gb u s i n e s s - l e v e la b s t r a c t i o n so fs o 讯v a r es e n r i c e st h r o u 曲s e r v i c ev i n u a l i z a t i o n ,a n dt h e np r o v i d i n gb u s i n e s s l e v e ls e r v i c ec o m p o s i t i o nm e a n sb 雒e do nb u s i n e s s - l e v e la _ b s t r a c t i o n sa sw e l la si m p l e m e n t i n gt h e a i l s f o m l a t i o nf r o mb u s i n e s s l e v e ls e r v i c ec o m p o s i t e st os o 胁a r e - l e v e ls e r v i c ec o m p o s i t e s ,w h i c he m b o d i e st l l en e wi d e af o rt h eu s e r c e m e r e ds y s t e mi n t e g r a t i o n k e yw o r d s :w e bs e i c e ;i n t e r f a c e - d r i v e n ;s y s t e mi n t e g r a t i o n ;b u s i n e s su s e rp r o g r 姗m i n g ;r e f l e c t i o n ;c o n v e 唱e n c ev学位论文独创性声明:本人所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如不实,本人负全部责任。论文作者( 签名) :4 堡l 差二一切_ d 8 年易月1 名日学位论文用户许可证说明河海大学、中国科学技术信息研究所、国家图书馆、中国学术期刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电子文文件,可以采用影印、缩印或其他复制手段保存论文。本人电子文文件的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权河海大学研究生院办理。论文作者( 签名) 埠狃粒一网年石月“日河海大学硕士学位论文第一章绪论1 1 背景及意义第一章绪论随着经济全球化引发的越来越激烈的竞争,不同的商业组织为了实现资源共享以达到降低成本、提高效益的商业目标而随时需要结成联盟。这就要求支持商业运作的信息系统能够集成跨越组织边界的业务流程和应用。另一方面,由于企业间结成的联盟所处的商业环境处于不断变化之中:常常每几个月或每几个星期会增加新的商务应用,每几天就会对商务的流程进行更改,尤其是当需要为每个客户、每个合作伙伴或每个企业员工都定制其首选的商务应用的时候,甚至每个小时都需要根据用户的需求而进行更改程序。这就要求支持商业运作的信息系统具有很高的灵活性,能够适应快速多变的外部环境。所以,如何构造跨越组织边界、高适应性的信息系统是信息技术新的研究方向。网络技术的迅速发展,促进了i n t e r n e t 的飞速发展。w e b 已逐渐由单纯的数据载体发展成为一个多功能的应用软件的开发、部署及使用平台。对企业而言,w e b 已经不再仅仅作为一种方便快捷的产品信息发布的渠道,而已经成为企业为顾客提供服务、企业间相互协同的基础设施。特别是最近几年,服务的出现为w e b 的发展带来了新的机遇。服务作为对信息内容、处理能力进行封装的一种大粒度的构件,是快速构建i n t e r n e t 应用系统的基石,具有降低开发成本、提高系统灵活性的优点。面向服务的计算正逐渐成为构建i n t e r n e t应用的新的开发模式。以分布式的服务作为搭建企业信息系统的资源,实现企业间相互协同,同时满足企业对信息系统灵活性的要求,是面向服务的计算的一个具体应用问题。服务组合( s e r v i c ec o m p o s i t i o n ) 被看作是面向服务的计算模式下系统集成的主要方式。它充分利用和发挥了服务的组合特性,有助于促进大规模的应用共享,实现跨越组织边界的应用集成,支持全球化趋势下b 2 b 、电子商务、电子政务等协同应用。当前,服务组合的必要性和重要性已经被越来越多的研究人员和业界人士所认识到,服务组合方面的研究正获得越来越广泛的关注。w e b服务组合能把相对简单的w e b 服务,按业务流程逻辑组合起来,从而提供更强大,l河海大学硕士学位论文第一章绪论更完整的业务功制。目前,w e b 服务组合是工业界和学术界研究的热点问题2 吲。一方面,w e b 服务组合和工作流方式很相似,因此,工业界在当前敏捷工作流、自适应工作流和跨企业业务流程集成方面取得的成果的基础上,研究w e b服务的自动组合佑1 、晦3 ;另一方面,为了实现w e b 服务自动组合过程中的智能推理,学术界结合语义w e b 和w e b 服务,做了大量研究工作口孔随1 。面对快速多变的业务协作需求,人们开始关注其计算机应用系统的按需、即时集成的能力,以满足动态应用集成的要求。现有的面向服务的计算技术尚不具备这种能力,不足以满足动态应用集成的要求。这样,如何利用面向服务的计算技术实现按需、即时的系统集成就成为当前的一个研究重点。1 2 现状及问题1 2 1 研究现状服务虚拟化h 6 lh 7 1 是当前面向服务的计算领域的研究热点之一,正逐渐获得研究者的广泛关注。虚拟化的目的就是让服务资源对服务使用者的复杂度最低化,从而为服务使用者提供更简单的使用方式。在文献h 踟中给出的服务虚拟化定义基础上,服务虚拟化的定义是:作为一种服务使用者和服务提供者之间的有效沟通技术,服务虚拟化旨在通过一定的抽象、简化、及转换等手段为服务使用者提供更加简洁、一致的方式来透明地使用网络上动态、分布的服务资源,而不必了解服务资源的技术细节( 如w e b 服务的绑定协议、访问方式等) 。根据虚拟化所针对的底层服务间关系的不同,这些服务虚拟化技术可以分为三类:一类针对一组具有协同关系的服务资源进行虚拟化,为这一组服务资源提供单一的使用接口,并对使用者屏蔽服务资源间具体的协同关系。b p e l 4 w sh 钔是该类虚拟化技术的代表,基于b p e l 4 w s 定义的服务可以看作是对一组具有协作关系的服务的虚拟化。一类针对一组功能相同的服务资源进行虚拟化。这类方法的代表工作有s e r v i c ed o m a i n 7 1 1 7 2 i 、s e r v i c ec o n t a i n e r 7 4 】7 5 1 及s e r v i c ec 1 u s t e r 7 5 1 等,2河海大学硕士学位论文第一章绪论它们为一组具有相同功能的服务提供了一致的服务访问方式,并可以屏蔽这一组服务资源的动态变化。上述两类服务虚拟化技术的一个共同特点是都对虚拟化所针对的服务资源施加了一定的约束条件,如要求它们具有协同关系、功能相同等。最后一类针对一般的服务资源进行虚拟化,并不对所虚拟化的服务资源施加特定的约束。这类方法的代表是i b m 提出的s e r v i c eb u s 7 6 1 。s e r v i c eb u s旨在为所有的服务资源提供统一的访问、部署及调度的接口,实现“总线式的服务即插即用。由于s e r v i c eb u s 针对各种不加约束的服务资源,因此实现起来难度较大。当前s e r v i c eb u s 的应用场景还主要限于单一的企业范围内。另外,国防科技大学提出的s e r v i c e b o x 也可以看作是这一类的一项工作。s e r v i c e b o x 实现了一种将用户个人信息与服务信息综合管理的方法。通过对这两方面信息的综合管理,可以为用户提供可个性化定制的服务资源访问接口,屏蔽服务的查找、绑定等细节内容。上述服务虚拟化的工作在降低服务技术对服务使用者的复杂性方面表现出了较好的效果,特别是上述第二类服务虚拟化技术,可以为服务使用者提供简单、相对稳定的使用“界面”,从而对如何提供业务级服务资源的研究提供了很好的思路。“组合是工程化的软件中一个强而有力的特性 p 1 。由于服务组合表现出的快速、灵活等特点,正使得它逐渐成为当前构造面向服务的应用的最主要方式n0 。现有的服务组合技术可以分为静态服务组合和动态服务组合两类n 。其中,静态服务组合是指设计时刻确定组合服务的过程,该类型服务组合是在面向服务的应用设计时就把已经存在的服务组合起来,而不是根据用户的需求产生服务;动态服务组合是指运行时刻确定组合服务的过程,该类型服务组合是指在设计面向服务的应用时并不具体指出所组合的服务,而是在真正满足用户需求时才确定所组合的服务。这种类型的服务组合适用于需要根据用户的需求临时组合服务的情况。从该角度来看,本文所讨论的面向服务的界面驱动的系统集成也可以归入动态服务组合的分类。如何低代价、高效地构造应用系统一直是信息技术研究中所面临的重大挑河海大学硕士学位论文第一章绪论战之一。当前应对这种挑战的一种新趋式是让i t 专业人员专注于i n t e r n e t 环境下基础设施和使能环境的搭建,把满足及适应快速多变的业务需求的工作以简单的资源配置的方式留给业务用户去完成口2 1 。把这种应用构造的方式称为业务端编程。所谓的业务端编程就是指不具备i t 专业知识的业务用户独立地从业务角度直接按照最终用业务需求完成业务应用构造的过程。当前用来实现最终用户编程的技术分为以下三类嘲1 :第一类是为户提供简单、易用的编程语言,这方面的代表工作有如早期的第四代编程语言、可视化编程语言、以及最近在m y g r i d 项目中提出的面向生物信息学家的工作流语言等。第二类是实现最终用户基于类似自然语言的“编程”到可重用组件的组合设计的转换。在基于组件的开发研究领域也出现了这方面的工作。第三类是为计算机赋予足够的智能以使得它们可以根据最终用户的行为及爱好来完成编程。与本文比较相关的是第二类最终用户编程技术,本文也正是采用了与该类技术相似的途径来实现业务端编程下的面向服务的系统集成的。当前阻碍业务用户主动参与w e b 环境下面向服务的系统集成的一个关键原因就是传统应用开发方法下存在的业务领域与软件领域之间的“鸿沟”问题,系统集成的目标是为业务提供支持,业务需求定义了系统的问题域,是集成系统的基础。但由于“鸿沟 的存在,使得系统的集成存在诸多问题,如效率低、难以即时反映业务需求、以及适应性差等。业务领域与i t 领域间的“鸿沟”问题一直是困扰着i t 专业人员的一个难题n 4 ln 5 hn 引。为了解决业务领域与i t 领域间的“鸿沟 问题,d a v i dt a y l o r 于1 9 9 5 年提出了聚合工程的概念n 引。聚合的目标是期望使得人们认识和理解现实世界的过程与在构造软件系统的过程同步起来,从而可以直接把业务设计构造为软件系统,提供一种可支持不断演变的业务需求而具有灵活性的设计软件系统的新思路。如此,传统手工的、缓慢的、需要软件人员参与的开发过程可以在一定程度上被自动化,进而可以实现将以往i t 技术驱动的应用系统集成向业务界4河海大学硕士学位论文第一章绪论面驱动的应用系统集成的转变。以此为目标,从实现方法的角度来看,聚合方面的相关工作可以大体分为两类:第一类称为聚合构件方法。该类方法的核心是设计一些同时包含业务视图和i t 视图的基本元素,从而可以一方面让业务人员可以直接利用它们进行业务级描述,另一方面可以同时得出对应的软件层次的内容。这种基本元素就称为聚合构件。t a y l o r 就是采用了这类方法来开展聚合工程的,他当时主要是利用面向对象的概念来同时对业务和软件进行建模n 副。在 1 6 中,作者利用u m l 的扩展机制针对业务模型中业务过程、业务资源和组织结构三个要素建立聚合构件。这样,基于这些聚合构件建立的业务模型同时可以作为信息系统的实现模型。此外,业务对象n 7 hn 8 kn 刚的研究可以看作是聚合构件方法下的较为典型的一类工作。作为业务对象的倡导者,0 1 i v e rs i m s 博士将业务对象的概念归纳为三点n 引:( 1 ) 业务对象一方面体现了业务概念模型;另一方面又是系统开发者针对该模型的二进制代码实现。这个观点体现了业务对象是跨业务领域和软件领域的概念。( 2 ) 业务对象同现实世界中对象一样,可以为用户感知和使用。这个观点体现了软件产品应该同普通商品一样可以被最终用户所使用。( 3 ) 通过业务对象是最终用户而不仅是系统开发者就能够实现集成。这个观点体现了新的业务计算模式的精髓。以具有上述特点的业务对象为基础,就可以实现业务人员配置应用系统的目标。另一类称为模型转换方法。该类方法强调利用不同层次的模型来分别表示业务领域与i t 领域的内容,并通过模型间预先建立的转换机制来达到二者间的同步。o m g 提出的m d a 啪1 是这类方法的一个代表。m d a 期望通过由平台独立的模型( p i m ) 到特定平台的模型( p s m ) 的转换来实现模型驱动的软件开发。平台独立的模型就是与底层具体软件实现技术无关的、用来表示业务需求的模型,而特定平台的模型则是指某一技术平台( 如j 2 e e ) 下的系统实现模型。m d a在实现上述转换时采取了基于映射关系的方法,转换依赖于一组映射关系来完成。在当前的面向服务的应用的构造研究中也出现了采用这种方法的工作,如 1 4 、 2 1 、 2 2 。在 2 2 中,作者实现了由u m l 模型到基于b p e l 4 w s 的面向服务的应用的转换,其中的关键在于专门针对b p e l 4 w s 设计的一组u m lp r o f i l e 概念。这样,二者就可以在概念上保持一种同态关系,从而便于建立河海大学硕士学位论文第一章绪论用于转换的、直接的映射关系。概念同态最早是由h u b e r t 在聚合体系结构1中明确提出的,它是指在不同的领域以类似的方式使用同一个概念,以达到简化及一致的目的。按照这种认识,德国的i n t e r a c t i v eo b j e c t s 公司于2 0 0 0年推出了基于统一的建模语言( u m l ) 的聚合模型和配套的工具环境a r c s t y l e r乜4 l ,它可以实现由一些扩展的u m l 元素表示的业务模型到基于j 2 e e 的实现模型的自动转换。但在实际中,要达到这种概念同态往往是很难的,因为二个层次的内容间难免存在诸多不一致的地方。针对这种问题,在 1 4 ,2 1 中,作者提出通过一种基于模式并逐步求精的方法来解决转换中难以直接建立一致的映射关系的问题。1 2 2 主要问题基于以上认识,为了实现上述的面向服务的界面驱动的系统集成,需要为业务用户参与到面向服务的系统集成中乃至主导面向服务的系统集成提供相应的支持。针对此目标,当前存在着如下两方面的主要困难:如何让业务用户可以看到并使用服务资源? 如何让业务用户可以自行组装出面向服务的应用?上述两个困难分别对应面向服务的系统集成中集成元素( 服务) 和集成方式( 服务的组合) 两方面基本内容。现有的面向服务的计算技术尚不足以克服上述困难,主要原因在于:首先缺乏面向业务用户的服务资源的呈现方式。这使得业务用户难以理解及使用服务资源的虚拟组织中的服务。其次缺乏业务用户可用的服务组合手段。现有的服务组合技术多局限于较低的层次,是面向i t专业人员提出的,难以被业务用户所掌握。再次业务需求到面向服务的应用的过渡困难。由于业务领域与i t 领域之间存在的“鸿沟,若不求助于i t 专业人员,业务用户根本不能将其需求映射到对应的面向服务的应用。基于以上原因,在面向服务的界面驱动的系统集成的研究中需要解决如共享的语义基础设施、服务资源的可视化、服务资源的个性化呈现、业务级服务组合的正确性验证等诸多问题。但就本文而言,将重点关注如下三个关键问题:首先如何从业务角度组织及抽象广泛分布的服务资源以提供业务级服务资源,形成业务用户构造面向服务的应用的基本元素,主要包括服务资源的业务6河海大学硕士学位论文第一章绪论级抽象、业务级抽象与物理服务资源的关联方式以及i t 实施中二者的组织管理等问题。其次如何提供面向业务用户的服务组合手段来描述其业务需求,特别是在不直接依赖w e b 服务等具体服务技术的前提下,如何让业务用户可以从业务层面通过对其需求的描述来完成所谓的业务级服务组合。最后如何将表示业务需求的业务级服务组合转换到基于现有服务组合( 如b p e l 4 w s ) 的软件级服务组合,其中主要包括用于支持转换功能实现的映射关系的建立和如何使用映射关系实现转换功能两个子问题。1 3 本文工作从支持业务用户“编程”的角度研究并得出了一种基于业务端编程思路来实现面向服务的系统集成的i d m 方法。i d m 方法的目标就是让业务用户主动参与到面向服务的系统集成过程中,通过相应的可视化及个性化呈现手段,把业务服务以界面化的形式呈现给用户,实现所谓的业务端编程,从而达到按需、即时地构造面向服务的应用的目的。首先,针对各种物理应用资源基于现有的技术完成服务化封装及描述,得到具体的物理服务资源;进而,在此基础上借助相应的服务虚拟化技术进一步为业务用户提供业务级服务资源,从而为业务用户提供可理解、使用乃至可以直接对应其业务需求的服务资源的业务级抽象;接着,在此基础上通过相应的可视化及个性化呈现手段,以界面化的形式呈现给用户,支持业务用户可以看到对其可用的业务级服务资源;随后,为业务用户提供组合业务级服务资源的手段以允许业务用户通过描述对应其业务需求的业务过程来完成业务级服务组合,并为业务用户提供特定的业务端编程环境来进行业务级服务组合;最后,通过实现表示业务需求的业务级服务组合到基于现有服务组合技术( 如b p e l 4 w s ) 的软件级服务组合的转换来得到最终的应用实现,从而完成面向服务的系统集成。本文研究并得出了界面驱动和聚合服务思想。聚合服务通过包含由业务专家定义的业务服务支持业务用户在“编程 时方便地建立与需求的映射,并利7河海大学硕士学位论文第一章绪论用聚合关系等内在组织机制支持从实施角度将业务服务落实到由i t 领域的服务提供者注册的、动态变化的物理服务资源上,可以克服单纯从软件角度考虑的服务虚拟化机制下缺少业务级抽象、使用不稳定的问题,具有业务用户可简单、稳定地使用的优点。另外还建立了一种基于模式与反演的业务级服务组合到软件级服务组合的转换机制。该机制的特点在于通过专门定义的业务特性保持模式来帮助建立一致的转换映射关系以及运用反演计算原理提供一种适应性的使用映射关系的方式来完成转换功能,从而解决了业务级服务组合到软件级服务组合的转换中的业务特性保持问题和适应性问题。同时,基于该机制可以实现具有适应性、轻量级等特点的转换工具。1 4 论文结构本文的论文结构如下:第一章为绪论,为本文的纲要。介绍了w e b 环境下界面驱动系统集成的研究背景、意义、研究现状和主要问题,并讨论了该课题的相关研究工作以及本文所做的工作。第二章介绍集成技术研究现状及面向服务的计算。并对业务用户主动参与系统集成进行了研究。第三章研究并得出了w e b 环境下面向服务的系统集成方法一i d m 方法,其中包括基于业务端编程思路的服务虚拟化技术、聚合服务的研究、业务级服务组合技术以及业务级服务组合到软件级服务组合的转换机制。第四章讨论了i d m 方法在酒店信息服务系统中的应用。第六章是全文总结和进一步研究工作展望。8河海大学硕士学位论文第二章界面驱动方法下的系统集成第二章界面驱动方法下的系统集成本章介绍系统集成和界面驱动的基本内容,以及对业务用户主用参与到系统集成的一些研究。首先,对现有的集成技术作简要的探讨,其中包括c o r b a 、c o m d c o m 、e j b 及w e bs e r v i c e 等;然后介绍了分布式应用技术的新发展面向服务的计算。接着对业务用户主动参与面向服务的系统集成进行研究。从传统的软件开发模式谈起,并说明当今动态、开放的网络环境下,如何低代价、高效地完成系统集成一直是信息技术研究中所面临的重大挑战之一。当前应对这种挑战的一种新趋式是让i t 专业人员专注于的i n t e r n e t 环境下基础设施和使能环境的搭建,把满足及适应快速多变的业务需求的工作以简单的资源配置的方式留给业务用户去完成。以用户为中心由最终用户构造应用的开发模式已是大势所趋。2 1 集成技术研究现状目前已有一些比较成熟的分布式计算技术,如c o r b a 、c o m d c o m 、e j b 、w e bs e r v i c e s 等,在解决应用系统集成领域内,取得了广泛的应用,也取得了突出的成绩。2 1 1c o r 队c o r b a ( c o 姗o no b j e c tr e q u e s tb r o k e ra r c h it e c t u r e ,公共对象请求代理体系结构) 是由对象管理协会( o m g ) 制订的一种标准的面向对象应用程序体系规范。它实现了分布异构环境中对象之间的透明请求调用,应用程序无需考虑底层硬件平台、操作系统、通信协议等细节,保证了在分布异构环境下对象之间的互操作性瞳5 l 啪1 。c o r b a 采用标准的对象模型,通过发布的接口使远程对象调用变得简单可用。c o r b a 独立于任何语言和平台,并且c o r b a 的0 r b 核心和服务为对象互操作和系统功能提供了完整而规范的支持。c o r b a 可以认为是分布式对象集成的基本模型,集中反映了所有的技术特征。特别是3 o 版本以后,c o r b a 吸收了j 2 e e 的优点,提供了构件模型c c m ,使其更趋完善。但是,由于c o r b a 比较复杂,实际应用并不多,c o r b a 仅是概念性的参考模型。9河海大学硕士学位论文第二章界面驱动方法下的系统集成2 1 2c o m d c o mc o m ( c o m p o n e n to b j e c tm o d e l ,组件对象模型) 是由美国m i c r o s o f t 公司提出的构件标准。它定义了一些为保证能互操作的构件必须遵循的标准。c o m 的发布形式是:以w i n 3 2 动态链接库( d l l ) 或者可执行文件( e x e ) 的形式发布的可执行代码组成。c o m 构件是动态连接的,而且完全与语言无关的,还可以在不妨碍老用户的情况下被升级成新的版本。d c o m 是c o m 的扩展,d c o m 可以作为分布式应用系统的基本模型,它屏蔽掉了c o m 对象的位置差异,它所带来的位置透明性使用户不必知道c o m 对象的实际位置情况下,就可以使用该c o m 对象乜引。从分布式应用系统的角度来看,d c o m 具有可伸缩性、可配置性、安全性、协议无关性、平台独立性。对于客户和构件分别运行于不同机器上的情形,d c o m 把本地跨进程通信用一个网络协议传输过程来替代,客户代码和构件对象都感觉不到中间发生的过程。c o m d c o m 体系是m i c r o s o f t n e t 框架的重要基础。它有许多优秀的开发工具支持,有许多现成的构件可以使用,能够帮助开发者在微软的平台下快速高效地完成工作。这使得它成为目前应用最广的组件技术。其主要不足是仅能运行于m i c r o s o f tw i n d o w s 平台,如何实现与其它技术的互操作性始终是它的一大难题。2 1 3e j be j b 是s u n 推出的基于j a v a 的服务器端构件规范j 2 e e 的一部分,自从j 2 e e 推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。s u ne j b 技术是在j a v a b e a n s 本地构件基础上,发展的面向服务器端分布应用构件技术。它基于j a v a 语言,提供了基于j a v a 二进制字节代码的重用方式。e j b 给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。s u n 公司e j b 的定义是:e j b 是用于开发和部署多层结构的、分布式的、面向对象的j a v a 应用系统的跨平台的构件体系结构。在e j b 规范中,服务器中的很多功能由e j b 容器提供,开发人员可以集中精力开发应用系统的核心功能。采用e j bl o河海大学硕士学位论文第二章界面驱动方法下的系统集成可以使开发商业应用系统变得容易,应用系统可以在一个支持e j b 的环境中开发,开发完之后部署在其他的环境中,随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。e j b 技术的推出,使得用j a v a 基于构件方法开发服务器端分布式应用成为可能。从企业应用多层结构的角度,e j b 是业务逻辑层的开发技术,与j a v a b e a n s不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度,e j b 像c o r b a 一样,提供了分布式技术的基础。提供了对象之间的通讯手段。e j b 的优点是,服务器市场的主流还是大型机和u n i x 平台,这意味着以j a v a开发构件,能够做到”w r i t eo n c e ,r u na n y w h e r e ”,开发的应用可以配置到包括w i n d o w s 平台在内的任何服务器端环境中去。但是其对多语言集成的支持却很弱,因为r m i ( 远程方法调用) 的两端都必须是j a v a 程序,如要用它集成非j a v a系统,就必须在非j a v a 系统所在地机器上用j a v a 对它封装,由这个封装程序把它的请求传给其它机器或将其他机器的请求传给这个封装程序。2 1 4w e bs e r v i c e s 技术w e b 服务技术是一种新型的w e b 应用程序,w e bs e r v i c e s 专注于用简单的、基于因特网的标准来解决异构的分布式计算啪l 啪1 。它使得原先处于不同平台,使用不同对象技术的构架都能够去除平台和实现的差异,统一到w e b 服务技术层面之上,依靠预先达成一致的w e b 服务规范,完成无缝的系统对话。它们是自适应、自我描述、模块化的应用程序,这些应用程序可以跨越w e b 进行发表、定位和调用啪1 。w e b 服务所执行的功能可以是从简单的请求到复杂的商业过程中的任何事。一旦部署了w e b 服务,其它的应用程序( 及其它的w e b 服务) 可以发现和调用所部署的服务。在集成中,开发人员将需要复用的方法和业务功能构建为w e b 服务,然后使用相应的工具来将这些w e b 服务加以发布,使他们暴露出来,并且这些服务可以得到统一的管理维护。不管这些服务是用什么工具、什么语言写出来的,只要河海大学硕士学位论文第二章界面驱动方法下的系统集成使用s o a p 协议通过h t t p 就能调用它。这样从应用的外部来看,应用是由一系列标准的服务接口组成。其他任何语言、平台上的客户应用都可以通过服务中介( u d d i ) 来查找需要的服务,并得到相关的w s d l 文档。使用w s d l 文档用来生成s o a p请求消息,这个消息会被作为一个h t t p 请求的负荷,发送到w e b 服务器,然后w e b服务器再将这些请求转发给w e b 服务请求处理,w e b 服务再把响应消息发送给客户端。因此,客户应用是以标准的方式透明地调用、以及重新组装这些提供的服务来达到集成目的。i b m ,s u n ,m i c r o s o f t 等主要厂商相继提出了w e bs e r v i c e s 的概念,并陆续推出支持其实现的产品。w e bs e r v i c e s 技术完全基于标准的技术,它利用一系列的标准如) ( m l ,s o a p ,u d d i ,w s d l 和w s f l 等构造了一个松散藕合的分布式计算环境口。w e bs e r v i c e 的集成原理如图2 1 所示。r 缈服务f 一菔务注脯卜攀布瞩j了r调用服务图2 1w 曲s e r v i c e 的集成原理2 2 分布式应用集成技术的新发展一一面向服务的计算2 2 1w e b 服务w e b 服务作为当前最主要的一种服务实现技术,为上述服务概念的落实提供了使能手段。w e b 服务最初是由a r i b a 、i b m 和m i c r o s o f t 等共同提出的,旨在为i n t e r n e t 上跨越不同地域、不同行业的应用提供更强大的互操作能力。w 3 c 对w e b1 2河海大学硕士学位论文第二章界面驱动方法下的系统集成服务给出了如下的定义:w e b 服务是由一个u r i 标识的软件应用,它的接口和绑定方式可以基于x m l 来定义、描述及发现;基于当前的i n t e r n e t 协议,w e b 服务支持以x m l 格式的消息交换的方式与其它软件进行直接交互口引。w e b 服务主要依托一系列开放的协议和标准“们。如图2 2 所示,在底层网络传输方面是基于广泛使用的因特网标准,如h t t p 、s m t p 等;中间部分包括简单对象访问协议s o a p ( s i m p l e0 b j e c ta c c e s sp r o t o c 0 1 ) h 、w e bs e r v i c e 描述语言w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) h 2 1 和服务发现集成协议u d d i( u n i v e r s a l d e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) ;而上层部分是诸女口b p e l 4 w s ( b u s i n e s s p r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ) 4 4 1 的服务组合描述语言以及关于路由、可靠性以及事务等方面的协议。右边部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成,这部分包括安全、管理和服务质量方面的协议或机制,它们所面对的问题贯穿协议栈的各个层次。服务组合( b p e l 4 w s 、)服务的发布与查找( u d d i )管服安理务全服务描述( w s d l )性能质力撒夏基于x m l 的消患( s o a p )网络传输( h t t p 、s m t p 、)图2 2 w e b 服务协议栈正是由于上述被广泛接受的开放标准,使得w e b 服务成为当前最主要的服务实现技术,同时也使得基于服务来解决广域网络范围内应用的异构问题成为可能。在本文中w e b 服务将被用作服务概念的具体实现技术。河海大学硕士学位论文第二章界面驱动方法下的系统集成2 2 2 面向服务架构( s e r v i c e o r i e n t e d a r c h i t e c t u r e ,简称为s o a )面向服务的计算技术对分布式应用集成所带来的最明显的好处可以充分体现在面向服务架构中4 5 3 。在2 0 0 2 年,g a r t n e r 组织就指出面向服务架构将是“现代应用开发领域最重要的课题 ,并预计到2 0 0 8 年,面向服务架构将成为占有绝对优势的软件工程实践方法。图2 3 面向服务的构架面向服务架构的核心概念集中体现在如图2 3 所示的服务提供者( s e r v i c ep r o v i d e r ) 、服务使用者( s e r v i c er e q u e s t o r ) 、服务代理( s e r v i c eb r o k e r )三个角色和发布( p u b l i s h ) 、查找( f i n d ) 、绑定( b i n d ) 三个基本操作上。简单的讲,基于这三个基本角色和操作就确定了面向服务架构下的一种松耦合方式的编程模型:服务提供者负责提供服务实现,并将与服务实现相对应的服务描述发布给服务代理;服务代理作为服务提供者和服务使用者间的中介,负责维护一个服务描述注册中心,以管理服务提供者发布的服务描述以及根据服务使用者的服务请求找到合适的服务;服务使用者通过服务代理查找需要的服务,并得到相应的服务描述,根据服务描述可以与服务提供者建立绑定关系,完成服务的调用。其中,服务实现是指真正完成服务功能的程序体,它由服务提供者负责编写;服务描述是对服务实现的接口、访问地址及协议等方面内容的描述;服务请求是由服务使用者提出的、对所期望使用的服务的需求描述。1 4河海大学硕士学位论文第二章界面驱动方法下的系统集成在面向服务架构下,通过发布、查找、绑定三个基本操作允许在服务使用者和服务提供者间保持一种松散的绑定关系,使得服务提供者对服务使用者具有位置、实现等多方面的透明性,便于在二者间建立动态的绑定关系,从而提供了一种松耦合的编程模型,具备了支持动态应用集成的潜力。2 2 3 基于服务组合的系统集成“组合是工程化的软件中一个强而有力的特性”凹1 。在面向服务架构支持下,可以通过服务组合的方式来构造相应的应用,从而实现以服务形式对外提供功能的各种应用的集成。服务组合就是指通过组合分立的、相对简单的、已经存在的服务来构造复杂的具有新功能的应用的方式。由于服务组合表现出的快速、灵活等特点,正使得它逐渐成为当前构造面向服务的应用的最主要方式n0 | 。在本文中,就把这种以服务组合方式得到的集成化的应用称为面向服务的应用。现有的服务组合技术可以分为静态服务组合和动态服务组合两类口。其中,静态服务组合是指设计时刻确定组合服务的过程,该类型服务组合是在面向服务的应用设计时就把已经存在的服务组合起来,而不是根据用户的需求产生服务;动态服务组合是指运行时刻确定组合服务的过程,该类型服务组合是指在设计面向服务的应用时并不具体指出所组合的服务,而是在真正满足用户需求时才确定所组合的服务。这种类型的服务组合适用于需要根据用户的需求临时组合服务的情况。从该角度来看,本文所讨论的面向服务的界面驱动的系统集成也可以归入动态服务组合的分类。综上所述,相比于已往的分布式应用集成技术,由于面向服务的计算技术所具有的遵循开放标准、支持松耦合的应用集成等方面的优点,使得面向服务的计算逐渐成为广域网络范围内进行应用集成开发的首选,有助于解决前面提出的分布式应用集成的诸多问题。2 3 对业务用户主动参与面向服务的系统集成的研究2 3 1 传统软件开发模式传统软件开发技术实质上隐含若干基本假设。在以往的封闭计算环境( 包括河海大学硕士学位论文第二章界面驱动方法下的系统集成集中式环境、局域网环境和企业内部网环境) 中,这些假设总是成立,因而人们并未加以特别注意:( 1 ) 系统原则上封闭。传统的开发技术假设系统整个置于开发者的控制之下,系统的行为都是开发者预先定义的。也就是说,整个系统从原则上来说是封闭的。( 2 ) 开发者先定义结构,而后在此结构之下开发各个组成部分。结构化方法中,开发者通过自项向下逐步求精,得到一个集中结构( 该结构由各个过程模块之间的过程调用关系来定义) ,并在此结构下实现各个过程模块:面向对象的方法中,尽管系统行为决策分散到各个对象中,但系统结构的设计( 由继承关系和允引关系来定义) 仍然是先于各个类的具体实现。即便是在所谓“基于构件”的开发过程中,通常也是先定义系统的结构,而后再寻找构件,一般需对这些现成的构件进行修改、定制和包装以适应既定的结构。( 3 ) 结构保持稳定,至少力求如此。实际上面向对象设计的一个核心要点就是要设计出对需求变动不敏感的结构。( 4 ) 系统先装配,后部署。对于传统的分布系统而言,通常先进行系统各部分的软件集成装配,而后再将各部分部署到分布的结点上。( 5 ) 系统开发以计算为中心。如果将系统分为负责完成具体功能的各个“计算”实体和负责在这些计算实体之间建立通信联系,约束其交互,以使之和谐工作,而达成既定应用目标的协同逻辑口2 1 3 3 1 两大部分的话,传统的软件开发技术仍是以计算为中心,这体现在:计算实体之间的交互机制是内建在程序设计语言和中间件系统之中的。如结构结构化方法中的过程调用、面向对象方法中的对象方法调用机制均是程序设计语言提供的设施,而r p c 和各种0 r b 等中间件系统使它们可用于分布的环境下,即所谓远程过程调用和远程方法调用。特定于应用的协同逻辑只能硬性编码在计算实体之中,与计算逻辑紧密耦合。1 6河海大学硕士学位论文第二章界面驱动方法下的系统集成2 3 2 界面驱动的系统集成界面驱动的系统集成的定义是:资源以界面化的方式呈现给业务用户,在运行时状态下,不同的业务用户根据其自身的个性需求,即时的完成系统的集成。相对于一般的系统集成,本文所讨论的界面驱动的系统集成强调了两个特征:按需即时和业务用户自行集成。按需是指可以以较低的代价构造应用来满足个性化及多变的业务需求;即时是指可以以较快的速度完成应用的构造以及即时响应用户需求,即时并非单纯指相关人员编写应用的时间较快,而只是一个相对的概念,是强调对于业务用户来说在其需求产生后相对较短的时间内可以完成应用的构造。传统的以i t 专业人员为中心的系统集成方法并不足以满足上述类似需求。因此,为了实现符合上述特征的应用的即时构造就迫切需要新的思路、新的方法。2 3 3 业务用户主动参与的系统集成如何低代价、高效地完成系统集成一直是信息技术研究中所面临的重大挑战之一。当前应对这种挑战的一种新趋式是让i t 专业人员专注于的i n t e r n e t 环境下基础设施和使能环境的搭建,把满足及适应快速多变的业务需求的工作以简单的资源配置的方式留给业务用户去完成。这种应用构造的方式称为业务端编程。所谓的业务端编程就是指不具备i t 专业知识的业务用户独立地从业务角度直接按照业务需求完成系统的集成。业务端编程思路下的系统集成就是指通过让业务用户能够从业务危度看到并透明地使用服务资源以及自行地组合他们所看到的服务资源来构造相应的面向服务的应用。上面业务端编程思路下所指的业务用户实质上就是这样的一类用户,他们不是软件专业人员( 对面向服务的计算技术了解甚少,甚至不了解) ,但他们需要利用相应的计算机应用软件( 在本文中主要考虑各种物理服务资源,如w e b服务) 来完成他们的任务或满足他们的需求,并因此需要基于这些应用软件表示他们的业务逻辑。1 7河海大学硕士学位论文第二章界面驱动方法下的系统集成让业务用户主动参于系统集成并不是一个新概念,这在最终用户编程( e n d u s e rp r o g r a 咖i n g ) 的研究中早已有所体现。最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论