




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于模型驱动架构的w e b 服务开发与集成研究 摘要 目前,w e b 服务的出现已成为企业商务应用的一件大事。由于w 曲服务在解决异构软 件的交互和企业系统集成问题上表现了极大潜力,因此备受学术界和工业界关注。w e b 服 务是人、系统和应用程序之间的自动化连接,它将业务功能的元素表示为软件服务,并创 造新的业务价值。用户可以通过i n t e m e t 上的其它互联应用程序或商务w e b , i 艮务器使用w e b 服务。当前业界的发展趋势就是加速创建并提供这些服务。但是,目前的w e b 服务技术仍 然面临着一些困难:就丌发方法而言,虽然目前存在支持w e b 服务丌发的中间件平台,但 w e bj 艮务丌发缺乏坚实的方法学基础:就基础设施而言,由于w e b 服务的技术及平台在不 断变化,丌发者对新技术新工具的直接使用将导致原有w e b 服务的迅速废弃,以及极大的 更新与集成旧系统的工作量。 模型驱动体系结构( m d a ) 是对象管理组织( o m g ) 在u m l ,m o f ,x m i ,c w m 等成功技 术标准的基础上提出的一种新的软件开发框架,。它提倡使用形式化的系统模型作为解决企 业应用系统集成问题的核心,通过使用软件工程方法和工具去理解、设计、操作、发展企 业系统的所有方面,m d a 在横向上支持整个系统生命周期中的集成,纵向上支持不同中间 件系统的集成和互操作问题,使系统具有良好的交互性,可扩展性。 m d a 与w e b 服务目标都是解决异构系统的互操作和集成问题,m d a 是从软件开发 方法学的角度提出的解决方案,w e b 服务是从软件体系结构的角度提出的解决方案,因 此,本论文应用模型驱动的理论结合w e b 服务丌发的特点,从w e b 服务体系结构和m d a 的基本理论n - 者的交叉进行了深入的探索和研究,即用m d a 的理念指导w e b 服务的 丌发与集成,使w e b 服务克服自身缺陷,成为解决异构系统互操作和集成问题上更为完 美的解决方案。论文首先对w e b 服务和m d a 两种理念的核心概念、支撑技术进行了深 入剖析,并通过分析目前基于分布式对象技术的软件在开发与集成方面面临的困境,总结 了w e b 服务和m d a 两种技术对上述问题的不同解决方法;在此基础上,着重研究了二 者结合的可行性及结合的优点,给出基于m d a 的w e b 服务丌发流程,针对现有丌发架 构的不足,提出了一种基于m d a 的w e b 服务丌发架构和一种集成架构;最后在已有的 工具平台上进行实践,给出一套如何应用支持m d a 理论的工具实现w e b 服务开发和集 成的方法。 关键词:模型驱动架构,w e b 服务,模型转换,o p t i m a l j 基十模型驱动架构的w e b 服务开发j 集成研究 a b s t r a c t n o w a d a y s ,t h ea p p e a r a n c eo fw e bs e r v i c e sh a sb e c o m ei m p o r t a n tf o re n t e r p r i s eb u s i n e s s a p p l i c a t i o n w e bs e r v i c e sh a sg a i n e df o c u sf r o mb o t ha c a d e m ea n di n d u s t r yf o ri t se n a b l i n go f h e t e r o g e n e o u ss o f t w a r ei n t e r a c t i o na n ds y s t e mi n t e g r a t i o n w e bs e r v i c e si st h ea u t o m a t e d c o n n e c t i o na m o n gp e r s o n ,s y s t e m sa n da p p l i c a t i o n s i te x p r e s s e st h ee l e m e n t so fb u s i n e s s f u n c t i o na ss o f t w a r es e r v i c e s ,a n dc r e a t e sn e wb u s i n e s sv a l u e t h eh o s t sc a nu s ew e bs e r v i c e s t h r o u g ho t h e rm u t u a l r e l a t e da p p l i c a t i o np r o c e d u r eo rt h ec o m m e r c i a lb u s i n e s sw e bs e r v e r so n i n t e r n e t a tp r e s e n t ,t h ed e v e l o p m e n tt e n d e n c yi n t h i sf i e l di st os p e e dt h ec r e a t i o na n d d i s c o v e r yo ft h e s es e r v i c e s h o w e v e r ,t h ec u r r e n tw e bs e r v i c e st e c h n o l o g yi ss t i l lf a c i n gs o m e d i f f i c u l t i e sa sf o l l o w i n g :i nt h ea s p e c to fd e v e l o p m e n tm e t h o d ,a l t h o u g he x i s t i n gm i d d l e w a r e p l a t f o r m s ,w e bs e r v i c e sd e v e l o p m e n ti ss h o r to fs t r o n gb a s eo fm e t h o d o l o g y i nt h ea s p e c to f b a s i ce s t a b l i s h m e n t ,a st h ec o n s t a n tc h a n g i n go f t e c h n o l o g i e sa n dp l a t f o r m so fw e bs e r v i c e s ,t h e d e v e l o p e r s d i r e c tu s eo fn e wt e c h n o l o g i e sa n dt o o l sw i l ll e a dt ot h er a p i dd i s u s eo fo r i g i n a l w e bs e r v i c e s ,a n dg r e a tw o r k l o a do f u p d a t i n ga n di n t e g r a t i n gt h eo l ds y s t e m s m o d e l - d r i v e na r c h i t e c t u r e ( m d a ) i san e wf r a m e w o r kg i v e nb yo m gb a s e do n u m l ,m o f ,x m i ,c w m ,a n de t c ,c o n c e n t r a t i n go nu s i n gf o r m a lm o d e lt ou n d e r s t a n d ,d e s i g n ! o p e r a t e ,a n de v o l v ea l la s p e c t so fe n t e r p r i s es y s t e m s ,u s i n ge n g i n e e r i n gm e t h o d sa n dt o o l s m d a s u s t a i n st h ef u l l l i f e c y c l ei n t e g r a t i o no fa p p l i c a t i o ni nh o r i z o n t a ll i n e ,a n di n t e g r a t i o na n d i n t e r a c t i o ni s s u e so fd i f f e r e n tm i d d l e w a r es y s t e m si nt h ev e r t i c a l ,p r o v i d i n gt h es y s t e m sw i t h g o o di n t e r o p e r a b i l i t ya n de x p a n s i b i l i t y t h ec o m m o ng o a lo fm d aa n dw e bs e r v i c e si st or e s o l v et h ei n t e r a c t i o na n di n t e g r a t i o n p r o b l e m si nh e t e r o g e n e o u ss y s t e m s m d ap r o p o s e st h es o l u t i o nf r o m t h ep e r s p e c t i v eo t s o f t w a r ed e v e l o p m e n tm e t h o d o l o g y ,w h i l ew e bs e r v i c e sf r o mt h e p e r s p e c t i v eo fs o f t w a r e a r c h i t e c t u r e t h u st h i sp a p e rg i v e sa ni n d e p t he x p l o r a t i o na n dr e s e a r c hf r o mt h ew e bs e r v i c e s a r c h i t e c t u r ea n db a s i ct h e o r yo fm d at ot h ec o m b i n a t i o no ft h et w o ,a p p l y i n gm o d e l - d r i v e n t h e o r yc o m b i n i n gw i t hc h a r a c t e r i s t i c so fw e bs e r v i c e sd e v e l o p m e n t ,t h a ti s t od e v e l o pa n d i n t e g r a t ew e bs e r v i c e sg u i d e db ym d a ,w h i c hw i l lm a k ew e bs e r v i c e so v e r c o m et h e i ro w n s h o r t c o m i n g s ,a n db e c o m eap e r f e c ts o l u t i o ni ns o l v i n gi n t e r a c t i o na n di n t e g r a t i o ni s s u e so f h e t e r o g e n e o u ss y s t e m f i r s t ,t h i sp a p e rg i v e sa ni n - d e p t ha n a l y s i so nc o r ec o n c e p t s ,t e c h n i q u e s s u p p o r t i n gw e bs e r v i c e sa n dm d a b ya n a l y z i n gt h et r o u b l e si nt h ep r o c e s so fd e v e l o p m e n ta n d i n t e g r a t i o no fs o f t w a r eb a s e do nd i s t r i b u t e do b j e c tt e c h n o l o g y ,i ts u m m a r i z e st h et w od i f f e r e n t s o l u t i o n so fm d aa n dw e bs e r v i c e s o nt h eb a s i so ft h ea b o v e ,i tr e s e a r c h e st h ef e a s i b i l i t ya n d s u p e r i o r i t yo ft h ec o m b i n a t i o no ft h et w o t h e nt h ew e bs e r v i c e sd e v e l o p m e n tf l o wb a s e do n m d ai si n d u c e da n dad e v e l o p m e n ta r c h i t e c t u r ea n da ni n t e g r a t i o na r c h i t e c t u r ec o m i n gf r o mt h e 基于模型驱动架构的w e b 服务开发j 集成研究 c o m b i n a t i o no ft h et w oi sg i v e na i m i n ga tt h ed i s a d v a n t a g e so fe x i s t i n ga r c h i t e c t u r e s f i n a l l y ,a w a yo fw e bs e r v i c e sd e v e l o p m e n ta n dr e a l i z a t i o nb a s e do nt o o ls u p p o r t i n gm d at h e o r yi s p r e s e n t e db yp r a c t i c i n go i lt h i sp l a t f o r m k e yw o r d s :m o d e ld r i v e na r c h i t e c t u r e ,w e bs e r v i c e s ,m o d e lt r a n s f o r m a t i o n , o p t i m a l j 曲阜师范大学博士硕士学位论文原创性说明 ( 在口划“4 ) 本人郑重声明:此处所提交的博士口硕士留论文基于模型 驱动架构的w e b 服务开发与集成研究,是本人在导师指导下,在曲 阜师范大学攻读博士口硕士曰学位期间独立进行研究工作所取得 的成果。论文中除注明部分外不包含他人已经发表或撰写的研究成 果。对本文的研究工作做出重要贡献的个人和集体,均已在文中已明 确的方式注明。本声明的法律结果将完全由本人承担。 作者签名:李苡真 日期:加彦( 厶夕 曲阜师范大学博士硕士学位论文使用授权书 ( 在口划“4 ) 基于模型驱动架构的w e b 服务开发与集成研究系本人在曲阜师 范大学攻读博士口硕士翻车位期间,在导师指导下完成的博士口 硕士函每位论文。本论文的研究成果归曲阜师范大学所有,本论文的 研究内容不得以其他单位的名义发表。本人完全了解曲阜师范大学关 于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文 的复印件和电子版本,允许论文被查阅和借阅。本人授权曲阜师范大 学,可以采用影印或其他复制手段保存论文,可以公开发表论文的全 部或部分内容。 作者签名:痞古受日期:刎夕、乙护 导师签名:弋书f 艺、 日期:溯夕。以矿 基于模型驱动架构的w e b 服务开发j 集成研究 1 1 引言 第一章绪论 随着互联网的普及和延伸,应用程序的开发模式已经从过去的本地系统集成发展到更 为复杂的异构系统。分布式对象技术是随着网络和面向对象技术的发展而兴起的,它通过 使用中间件机制屏蔽网络硬件、网络协议和操作系统等各种平台的异构性,从而大大减轻 了异构系统的开发与集成负担,但是众多的中间件产品不断发展,难以形成统一的中间件 标准,从而使得新旧系统之间的集成或演化面临不同的实现技术。如何保证现有投资并驱 动整个系统的技术升级成为不可避免但又难以解决的挑战。为此,2 0 0 2 年o m g ( o b j e c t m a n a g e m e n tg r o u p ,对象管理组织) 提出了模型驱动架构( m o d e ld r i v e n a r c h i t e c t u r e , m d a ) ,它是一种全新的软件丌发模式。在模型驱动架构中模型在开发过程中扮演了非常 重要的角色。在m d a 中软件开发过程是由软件系统的建模行为驱动的。o m g 的构想是 将目自玎的丌发行为提升到更高的抽象层级一分析模型级,把针对特定计算平台的编码工作 交由模型转换自动完成,这样的情况下,业务功能的分析设计与实现技术之间紧耦合的关 系被分离,从而使技术变化对系统的影响达到最小化,模型的价值在包容已有技术的条件 下被最大化。在m d a 中,模型不再是一种辅助工具,而是丌发过程的产品,系统的实现 和更改都应由业务模型驱动。从宏观上看,m d a 使得应用模型与领域模型在整个软件生 命周期中得到了复用。m d a 在横向上支持整个系统生命周期中的集成,从业务建模到系 统设计、组件的构造、组装、集成、部署、管理和改进,纵向上支持不同中闻件系统的集 成和互操作问题,使系统具有良好的交互性和可扩展性。 w e b 服务是随着分布式对象技术的发展和电子商务应用的扩大而出现的新的分稚式 计算技术。它结合了高效紧密的单层计算技术与面向消息的、松散祸合的w e b 技术,集 成并提升了网络中众多应用程序的价值。w e b 服务是自适应、自描述、模块化的新型w e b 应用程序,可以跨越w e b 进行发表、定位和调用,是封装成单个实体并发柿到网络上以 供其它程序使用的功能集合。w e b 服务不像传统的基于r p c 的组件技术( 如d c o m 、 c o r b a 、e j b 等) ,要求交互的双方采用同类型架构的对象模型协议,这些特定的对象模 型协议都是与厂商相关的,因此无法解决异构网络环境下系统的交互和集成问题,而w e b 服务基于开放的、标准的网络协议( s o a p 等) ,通过标准化的x m l 消息传递继而实现异 构平台互操作。w 曲服务是用标准的、规范的基于x m l 的w s d l 语言。描述的,这一描 述囊括了与服务交互所需要的全部细节,包括消息格式、传输协议和位置。该接口隐藏了 服务实现的细节,允许通过独立于服务实现、独立于硬件或软件平台、独立于编写服务所 用的编程语言的方式使用该服务。这使得基于w e b 服务的应用程序具备松散耦合、面向 基于模型驱动架构的w e b 服务开发与集成研究 组件和跨平台实现的特点,从而为异构系统交互提供跨语言、跨平台的解决方案。 由此可见,m d a 与w e b 服务虽然考虑问题的角度不同,但是它们的目标都是解决异 构系统( 不同中间件系统) 的互操作和集成问题,m d a 是o m g 从软件开发方法学的角 度提出的解决方案,w e b 服务是从软件体系结构的角度提出的解决方案,因此,本文认 为,将m d a 和w e b 服务相结合。用m d a 的理念指导w e b 服务的开发与集成,使w e b 服务克服自身缺陷,在解决异构系统的互操作和集成问题上成为更为完美的解决方案。 因此,本论文的研究重点将放在对m d a 理论的整体理解和把握上,意在使用模型驱 动的理论结合w e b 服务开发的特点,为w e b 服务寻求一种完备的开发与集成架构,并在 已有的工具平台上进行实践,给出一套如何应用支持m d a 理论的工具实现w e b 服务开 发和集成的方法。 1 2 发展与研究现状 1 2 1 传统w e b 服务应用开发技术的局限 w e b 服务应用,从外部使用者的角度看,是一种部署在w e b 上的对象或组件,如 c o r b a ,j a 、,a ,c o m 等。由于w 曲服务应用程序与普通应用程序存在着本质区别,传 统的软件工程方法在w e b 服务的丌发中显得力不从心。面对这些问题,一些系统化丌发 w e b 服务应用程序的方法相继出现,像o o h d m ,r m m 和u w e 等,它们将传统的软件 工程技术和w e b 服务特性较好地结合起来,取得了一定的成功。然而这些丌发方法也有 一些不可忽视的缺陷,主要表现在: ( 1 ) 各层模型之间缺少清楚和自动的映射; ( 2 ) 各层的模型没有一致的建模形式,无法统一管理; ( 3 ) 现在的客户端界面( g u i ) 已经很大程度上实现了所见即所得的丌发模式,后端数据 库设计也通过各种数据建模工具较好地实现了抽象。但在业务逻辑层,我们还没有实现类 似的功能。 1 2 2 第一代与第二代w e b 服务集成 由于新的服务应用的丌发需要耗费大量的人力、物力,因此人们往往采用e a i 技术, 将原已存在的业务流程、应用软件、网络硬件、各种标准联合起来,以延长这些系统的生 命周期。传统系统集成技术( 往往使用如c o r b a 和d c o m 等消息中间件进行分布式、跨平 台的应用交互) 主要包括界面层集成、数据层集成、消息方法层集成,要求为每一对相互 集成的应用分别编写集成适配器,即通过“接口”消除信息孤岛,而实践证明,这是脆弱 和低效率的系统,随着系统的增加,接口呈几何数增长,且接口复杂,不利于管理,这曾 经是企业内部从事应用集成的技术人员的噩梦。w 曲服务使用如x m l 、s o a p 、w s d l $ 1 :i u d d i 技术把包装好的应用程序的函数或方法作为w 曲服务的界面来显示,以一种松散的服 务捆绑集合的形式,快速、低代价地开发、发布、发现和动态绑定应用,为上述问题提供 2 基于模型驱动架构的w e b 服务开发与集成研究 了一种解决方案。 目自i ,为了商业运转,各种企业都面临将w e b l 艮务应用程序集成到多重应用系统使之 共同工作的状况。第一代的w 曲服务集成,本质上是将已有的对象和组件( c o r b a 、j a v a 、 c o m 等) 实现为w 曲服务,开发者需首先详细了解w s d l 和x m l 模式定义的结构,因为必 须自主丌发或操作必需的w s d l 、s o a p 和其它x m l 文件,以及将w 曲服务绑定到中间层和 后端的代码。然而,需要暴露的商务功能通常都包含了比单独存在的对象或组件多得多的 业务逻辑,因此,w 曲服务的粒度往往比许多已有对象和组件的粒度更粗。w 曲服务应该 是由多个更简单原始的功能所组成,所以我们必须实际地设计w 曲服务。新一代的w 曲服 务丌发应该由业务需求驱动设计w 曲服务,通过细粒度调用来减少网络流量:而不能仅限 于将已有的对象或组件集成以包装为w 曲服务,因为单个的对象或组件功能单一,不能提 供所需层次的功能。 当今,u d d i o r g 、w 3 c o r g 的各个工作组都在紧锣密鼓地进行规范的开发,各大技术 厂商都在按照规范不停地在自己的主流平台上增加相应的w 曲服务支持。w 曲服务的技术 在不断变化,x m l 规范已从d t d 演变成了x m ls c h e m a ,并继续发展。s o a p 、u d d i 以及 w s d l 等也在不断演进。实现w | e b 服务的技术依赖于8 0 端口,当大量的w 曲服务通过该端口 通信时,网络负载以及防火墙的安全问题都可能促成新规范新协议的出现。总之,由于技 术及平台不断变化,开发者对新技术新工具的直接使用将导致原有w 曲服务的迅速废弃, 以及极大的更新与集成旧系统的工作量。 1 2 3 国内外研究现状 综上所述,w 曲服务在丌发与集成中遇到的各种问题归根到底是系统的开发或集成过 程仍局限于以概要设计( 1 0 w 1 e v e l ) 矛l 编码为驱动,一旦技术发生变迁,原有的成果迅速废弃。 因此,将m d a 理念应用到w 曲服务的开发与集成中,即相对于原有设计站在更高的抽象层 柬设计w 曲服务,用形式化方法( p i m ,p s m 模型) 表达和自动生成业务逻辑,可不考虑 技术实现细节,并且可以把主要精力放在处理核心业务逻辑上。针对w 曲服务天生多平台 的特性,m d a 方法使得规范w 曲服务功能的同一个p i m 模型可以通过点变换或辅助变换标 准变换到特定平台,从而在多平台上实现,减少和避免了面临技术变迁时系统的混乱。同 时,它可以使不同的w 曲服务应用程序通过清晰的模型联系而集成在一起,从而促进了集 成性和互操作性。 m d a 目前在银行业、保险业、公共企业( 特别在金融管理领域) 、嵌入式系统、后勤 保障系统等领域得到了应用。m d a 还处在一个发展的过程中,还在不断的演进。国外对 m d a 的关注已有5 - 6 年的历史,目前在m d a 开发工具市场上的情形是:从p i m 到p s m 转换方法的标准化工作尚未完成,重点放在集成应用工具的丌发上面。i b m 、b o r l a n d 等 大型厂商在他们的开发工具中提供部分的m d a 功能,但并没有完全遵循o m g 定义的 m d a 规范。b o r l a n d 公司大中华区首席技术官( c t o ) 李维在”i n f o r m a t i o nt e c h n o l o g y & 基于模型驱动架构的w e b 服务开发j j 集成研究 e n t e r p r i s ei n t e g r a t i o n ”中指出:m d a 急需解决的问题就是规范标准化问题,由于规范没有 标准化,厂商的m d a 实现都是私有实现,m d a 工具厂商无法快速推出成熟的产品,关 键在模型的动态转换。虽然如此,i b m 除了在r a t i o n a l 中增加m d a 功能之外,在丌源项 目e c l i p s e 中,也提出了e m f ( e c l i p s em o d e l i n gf r a m e w o r k ) 这一创新的m d a 代码生成 系统项目,由此可见i b m 对m d a 这一发展中技术的重视程度。b o r l a n d 公司宣称他们也 在关注m d a 技术,并且准备在t o g e t h e r 中配置基于m d a 的模型自动生成功能。相对于 业界大厂商的冷静和矜持,一些中小厂商反而特别活跃,像i n t e r a c t i v eo b j e c t s 公司著名 的a r c s t y l e r 、c o m p u w a r e 公司著名的o p t i m a l j ,还有开放源码的a n d r o m d a 等遵循o m g 标准规范的m d a 工具己在一些项目中得到了广泛的运用,并取得了显著的成效。与工业 界相比,学术界更加关注m d a 相应技术的实现,其研究的重点放在新框架的提出上面。 1 3 研究意义和未来发展方向 当今,凡是拥有i t 部门的企业一般有三个层次的应用系统和基础架构:独立的集成 的遗留系统,基于对象或组件的应用系统,和由上述两类系统的功能和额外的性能组成的 w e b 服务。而以上软件可能是基于一种或几种中间件技术( c o r b a , c o m d c o m a c t i v e x ,j a v a r m i ,e j b ,x m l s o a p 技术) 的应用软件,企业使用如此 复杂的异构系统,自身面临两方面的困难,首先,构建分布式应用系统非常困难。任何二 种中削件平台包括w e b 服务都足够复杂,以至于熟练其技术的程序员非常稀少,因此应 用软件一旦做好,便成为非常珍贵的资源,开发和维护这些分布式应用软件非常耗资耗时。 其次,为了商业运转,将w e b 服务应用程序集成到多重应用系统使之共同工作更是一件 非常困难的事情,可能花费会更高。在这篇文章中,我们将展示o m g 的m d a 如何从上 述两方面减少或避免由众多中间件平台给异构系统集成带来的困难。由创建u m l 模型丌 始,基于m d a 的工具使得基于任何中间件技术的应用系统( 包括w e b 服务) 的开发自动化 和简单化。因此,开发者可以将模型引入到m d a 工具中,当系统模型被设计好,工具都 会执行和集成为新应用系统,不管新系统或集成后的系统是基于哪种中阳j 件,都能实现跨 平台互操作。而w e b 服务应用通过防火墙使得服务提供方和请求方完成交易,具有天生 的多平台性和广泛的集成性,通过m d a 成熟的架构与设计来丌发与集成服务。企业将会 因比任何其它方法更快更省的拥有成熟的w e b 服务而走向世界。 1 4 论文章节安排和主要工作 第一章绪论。对论文的研究背景和意义以及国内外研究现状进行阐述。 第二章w e b 服务技术及其丌发模式。对w e b 服务的体系结构进行了研究,其中包括 w e b 服务的概念、特征、w e b 服务的架构和三种开发模式,并总结了w e b 服务领域的相 4 基于模型驱动架构的w e b 服务开发与集成研究 关研究课题。 第三章模型驱动架构分析。在对m d a 理论的发展有了一个整体的认识后,总结了 m d a 中的一些核心概念和支撑技术,其中主要的是p i m 模型和p s m 模型。m d a 作为一 个理论体系结构,它需要有相关标准来支撑它,如m o f ,u m l ,c w m 和x m i ,本章也 作了相应的分析。 第四章m d a 与w e b 服务结合的可行性及架构研究。着重研究了二者结合的可行性 及结合的优点,给出基于m d a 的w e b 服务丌发流程,针对现有开发架构的不足,提出 了一种较完备的基于m d a 的w 曲服务丌发架构和一种集成架构。 第五章使用o p t i m a l j 设计基于m d a 的w e b 服务。主要是在o p t i m a l j 工具上实际丌 发和集成w e b 服务,给出一套如何应用支持m d a 理论的工具实现w e b 服务开发和集成 的方法,其中对开发w e b 服务过程中各种模型以及它们之间关系进行了分析和研究,并 给出了丌发的主要步骤和生成系统的部分截图。 第六章对论文工作进行了总结,指出了有待进一步研究的问题。 5 堆十模型驱动架构的w e b 服务开发j 集成研究 第二章w e b 服务技术及其开发模式 2 1w e b 服务基本概念 2 1 1w e b 服务的几个层面的定义 目自仃,业界对w e b 服务的定义还没有具体的标准,以下是从几个不同层面给出的定 义: 从低层概念上i 井【,w e b 服务是描述一些操作的软件接1 2 1 ,它描述了一组可以在网 络上通过标准化的x m l 消息传递访问的操作。它使用基于x m l 语言的协议来描述要执 行的操作或者要与另一个w e b 服务交换的数据。在面向服务的体系结构( 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 ) 中,一组以这种方式交互的w e b 服务定义了特定的w e b 服务应用 程序。 从更高的概念层面上讲,我们可以将w e b 服务视为一些工作单元,每个单元处理特 定的功能任务。再往上一步,可以将这些任务组合成面向业务的任务,以处理特定的业务 操作任务,从而使非技术人员可以考虑一些应用程序,这些应用程序能够在w e b 服务应 用程序工作流中一起处理业务问题。 从技术层面上讲【z 】,w e b 服务使用x m l ,可以用真j 下与平台无关的方式来描述任何 ( 所有) 数据,以跨系统交换数据,是松耦合的应用程序。而且,w e b 服务可以在较抽 象的层面上工作,较抽象层面可以按照需要动态地重新评估、修改或处理数掘类型。所以, 在技术层面上,w e b 服务可以更方便地处理数据,并且允许软件更自由地进行通信。 2 1 2w e b 服务的特征 从外部的使用者的角度而言,w e b 服务是一种部署在w e b 上的对象或组件,它具备 以下被公认的特征1 j j : 完好的封装性,w e b 服务既然是一种部署在w e b 上的对象,自然具备对象的良好封 装性,对于使用者而吉,他能且仅能看到该对象提供的功能列表。 松散耦合,这一特征也是源子对象组件技术,当一个w e b 服务的实现发生变更的时 候,调用者是不会感到这一点的,对于调用者来说,只要w e b 服务的调用界面不变,w e b 服务的任何变更对他们来说都是透明的,甚至是当w e b 服务的实现平台从j 2 e e 迁移到 了n e t 或者是相反的迁移流程,用户都可以对此一无所知。对于松散耦合而言,尤其是 6 基十模型驱动架构的w e b 服务开发j 集成研究 在i n t e m e t 环境下的w e b 服务而言,需要有一种适合i n t e r n e t 环境的消息交换协议,而 x m l s o a p 正是目前最为适合的消息交换协议。 使用协约的规范性,这一特征从对象技术而来,但相比一般对象其界面规范更加规范 化和易于机器理解。首先,作为w e b 服务,对象界面所提供的功能应当使用标准的描述 语言柬描述( 比如w s d l ) :其次,由标准描述语言描述的服务界面应当是能够被发现的, 因此这一描述文档需要被存储在私有的或公共的注册库旱面。同时,使用标准描述语言描 述的使用协约将不仅仅是服务界面,它将被延伸到w e b 服务的聚合、跨w e b 服务的事务、 工作流等,而这些又都需要服务质量( q o s ) 的保障。其次,我们知道安全机制对于松散耦 合的对象环境的重要性,因此我们需要对诸如授权认证、数据完整性( 比如签名机制) 、消 息源认证以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所有层 次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。 使用标准协议规范,作为w e b 服务,其所有公共的协约需要使用开放的标准协议进 行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一般 而言,绝大多数规范将最终由w 3 c 或o a s i s 作为最终版本的发布方和维护方。 高度可集成能力,由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件界面 描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是 e j b 都可以通过这一种标准的协议进行互操作,实现了当前环境下最高的可集成性。 2 2w e b 服务架构 w 曲服务的基本架构由- 4 * 组件角色和它们之间的交互( 操作) 构成。文献【4 叫从面 向应用的角度描述了w e b 服务的基本架构。完整的w e b 服务包括三种逻辑组件:服务提 供者( s e r v i c ep r o v i d e r ) 、服务代理( s e r v i c eb r o k e r ) 和服务请求者( s e r v i c er e q u e s t e r ) , 如图2 1 中,各组件分别对应不同的角色。服务提供者提供服务,并进行注册以使服务可 用;服务代理起中介作用,它是服务的注册场所,充当服务提供者和服务请求者的之恻的 媒介;服务请求者可在应用程序中通过向服务代理请求服务,调用所需服务。 基于w e b 服务三种组件角色的交互( 操作) 主要有: ( 1 ) 发布( p u b l i s h ) 。服务提供者向代理发布所提供的服务。该操作对服务进行一定的 描述并发布到代理服务器上进行注册。在发布操作中,服务提供者可以决定发布( 注册) 或者不发布( 移去) 服务。 ( 2 ) 发现( f i n d ) 。服务请求者向代理发出服务查询请求。服务代理提供规范的接口来 接收服务请求者的查询请求。通常的方法是,服务请求方根据通用的行业分类标准浏览或 通过关键字搜索,并逐步缩小查找范围,直到找到满足所需要的服务。 ( 3 ) 绑定( b i n d ) 。服务的具体实现。分析从注册服务器中得到的调用该服务所需的详 细绑定信息( 服务的访问路径、调用参数、返回结果、传输协议、安全要求等) ,根据这 7 基于模型驱动架构的w e b 服务开发j 集成研究 些信息,服务请求方就可以编程实现对服务的远程调用。 图2 1w 曲服务的基本架构 当服务请求者从服务代理得到所需服务的信息后,通信是在服务请求者和调用者之间 直接进行,而无需经过服务代理。为了实现这样平台无关的通信和交互,w e b 服务体系 使用了一系列平台无关的标准和协议实现相关的功能。例如,它使用w s d l ( w e bs e r v i c e d e s c r i p t i o nl a n g u a g e ,w e b 服务描述语言) 来描述服务,使用u d d i ( u n i v e r s a ld e s c r i p t i o n , d i s c o v e r y ,i n t e g r a t i o n ,统一描述、发现和集成协议) 来发布、查找服务,使用s o a p ( s i m p l e o b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 执行服务调用。其中,x m l t 7 1 为w e b 服务体 系结构提供了核心的标准基础,w s d l 、u d d i 、s o a p 都是建立在x m l 之上的,即在 w e b 服务架构各组件间及组件内部的消息是以x m l 格式传递。x m l 是由w 3 c 定义的一 种丌放的、标准的技术,现己成为一种人们广泛接受的用于描述数据和创建标记语言的标 准。数据独立性是x m l 的主要特征。由于x m l 文档只描述数据,因此任何理解x m l 的应用程序,不管其编程语言或平台如何,都可以以各种不同的方式对其格式化。 由上可见,w e b 服务是一种新型的分布式计算模型,它不像传统的组件技术那样依 赖于特定的对象模型协议,而是建立在一些通用协议基础之上,从而为异构网络环境下系 统的交互和集成问题提供了一种解决方案。 2 3w e b 服务的开发模式 根据w e b 服务丌发工具行业提供的不同机制,现今的w e b 服务丌发可总结为三种丌 发模式【8 i ,下面描述了三种丌发模式:“自底向上模式、“自顶向下”模式和“往返” 模式。 ( 1 ) “自底向上”模式的起点是代码,它将现有的代码抽象成接口定义,并作为实现该 接口的w e b 服务公开。该模式从编写j a v a 代码开始生成w s d l 文档,例如:基于j a x r p c 规范和j 2 e e 平台开发,首先要标识或创建j a v a b e a n 来代表服务接1 :3 输入和输出参数的 数据类型,然后创建一个能够成为w e b 服务实现的j a v a 类无格式普通j a v a 对象 ( p l a i no l dj a v ao b j e c t ,p o j o ) 或无状态会话e j b ,使用w e b 服务工具将p o j o 对象或 e j b 组件实现为w e b 服务。然而,提供程序端的数据类型应当包含除数据传输对象外更 8 基于模型驱动架构的w e b 服务开发j 集成研究 多的业务逻辑,而这样的业务逻辑无法在请求程序端重新建立,所以必须由我们实际地设 计w e b 服务。而且所生成的模式被嵌入到w s d l 中,这使得在其它w e b 服务的定义中 重用该模式可能比较困难。 ( 2 ) “自顶向下”模式。在自顶向下的丌发过程中,客户端和服务器端的开发人员使用 w s d l ( 顶部) 为各自的环境生成必要的构件( 底部) 。从开发与w e b 服务领域相关的 x m l 模式丌始,然后为该w e b 服务创建一个新的w s d l 文档,生成提供程序端和请求 程序端的j a x r p c 构件。此模式可以使用x m l 模式定义( x s d ) 来定义可互操作的数据标 准,由业务需求驱动设计w 曲服务。但开发者需详细了解w s d l 和x s d 的结构,因为 必须自主丌发或操作这两者。即使利用现有的完善工具来生成w s d l 和x s d ,也仍然需 要详细了解w s d l 和x s d 的结构,以确保遵循标准并获得最佳性能。 ( 3 ) 往返丌发模式。因为w 曲服务工具都或多或少地存在一些缺点或不足,并且丌发 人员也缺乏对w e b 服务工具和技术的全面了解。在往返丌发中,综合上述两种开发模式, 丌发人员丌始时使用一部分自底向上流程,生成用于p o j o 或e j b 接口中的d t o ,d t o 是通过手动创建用于提供与w s d l 文档中定义的p o r t t y p e 操作相对应的公共方法。接着 再使用一部分自顶向下流程生成w s d l 。该模式会使丌发流程变得复杂,与原始的w s d l 及其导入的模式相比,所生成的w s d l 缺少可重用性。 尽管丌发人员已经使用了许多模式来丌发w e b 服务,但使用这些模式开发的w e b 服 务都是基于特定的丌发平台( 如j a v a t m ) ,一旦未来技术平台发生变迁,将直接导致该 w e b 服务迅速废弃或重新丌发。 2 4w e b 服务的相关研究睁1 5 1 目自仃,w e b 服务已成为电子商务应用领域问题的最为合理的解决方案,备受学术界 和工业界关注。但从w e b 服务的支撑技术来看,很多关键问题有待解决,也存在很多挑 战,针对现存的主要问题,学术界有不同侧面的研究工作和相应的技术成果。如w e b 服 务的数据集成、w e b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历史与社会:人教版九年级第五单元第三课第一框《苏联的改革与发展》说课稿
- 劳动项目八 制作校园提示牌教学设计-2025-2026学年小学劳动五年级下册人教版《劳动教育》
- 2025年新能源产品追溯技术创新在智慧城市中的综合应用报告
- 2025年废旧电子产品无害化处理与资源回收行业绿色供应链管理创新案例报告
- 海上风电产业发展报告:2025年深远海风能资源评估与产业链整合
- Lesson 2 The Right Price说课稿-2025-2026学年高中英语北师大版必修四-北师大版2004
- 2025年中国高纯度L-精氨酸行业市场分析及投资价值评估前景预测报告
- 9.1 溶液的形成(第一课时)教学设计-2023-2024学年九年级化学人教版下册
- 2025年中国感应密封衬垫行业市场分析及投资价值评估前景预测报告
- 医疗服装知识培训内容课件
- 国开2025年《行政领导学》形考作业1-4答案
- 广东省广州市天河执信中学2024-2025学年九年级上学期期中考试化学试卷(含答案)
- 2025年甘肃省辅警考试真题及答案
- 安徽省蚌埠市2025-2026学年高三上学期调研性监测语文(含答案)
- 医生进修6个月汇报大纲
- 外科病人的心理护理讲课件
- 2024-2025学年上海市浦东新区六年级(下)期中数学试卷(五四学制)(含解析)
- BSEN50342-1-2015铅酸起动电池完整
- 2025至2030中国特殊教育市场现状调查及前景方向研究报告
- 2024年1月浙江省普通高校招生选考思想政治真题试题试卷原卷答案解析
- 顶管沉井专项施工方案
评论
0/150
提交评论