(计算机软件与理论专业论文)基于soa的异构系统集成研究.pdf_第1页
(计算机软件与理论专业论文)基于soa的异构系统集成研究.pdf_第2页
(计算机软件与理论专业论文)基于soa的异构系统集成研究.pdf_第3页
(计算机软件与理论专业论文)基于soa的异构系统集成研究.pdf_第4页
(计算机软件与理论专业论文)基于soa的异构系统集成研究.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

摘要 基于s o a 的异构系统集成研究 计算机软件与理论专业硕士学位申请人马俊 指导教师丁晓明副教授 摘要 在我国计算机技术飞速发展的今天,基于网络环境的各种应用系统层出不穷,这些应用 系统大多都要针对大量的数据进行处理。在早期的业务过程中,人们对于在不同应用系统问 共享应用逻辑和应用数据未予关注。当时的重要问题是如何开发系统,让原来由人完成的操 作实现自动化。当时解决这些问题中的任何一项都是颇具挑战性的,更不用说使所有这些独 立开发并且相关的系统都基于一个公共的、可重用的架构了。系统越来越多,也就逐渐导致 了像“信息孤岛”这样一些急需解决的问题。 近年来,大多数业务运营功能都已实现自动化了,现在的重要问题是如何改善这些系统 的能力以满足新的需求。增加新的用户界面、在单一视图中组合多个数据源、集成移动设备 或者用更好的应用替代原有应用等等,这些都是投入新项目的常见理由。大多数信息管理系 统都是若干年前开发的,而且各个系统一般都是由不同的开发团队开发的,而且也是采用不 同的开发技术,就连底层数据库也不同。但现在出现了新的需求,需要将这些应用系统集成 到一起,相当于是将它们组建成一个更大的应用系统。使他们之间能共享应用逻辑和应用数 据。这些就是异构系统的集成问题。 本文分析了目前异构系统集成存在的问题,介绍了现有的一些解决异构系统集成问题的 方法,参考这些方法提出了基于s o a 的异构系统集成模型,该模型重点关注异构系统数据集 成。本文介绍了该模型所需要的v i l 、n e t 平台、w r e bs e i c e 等关键技术和s o a 的思想, 并参考了i s o i e c 9 1 2 6 标准,从实用性、互操作性、安全性、可重用性、可扩展性、易用性、 易维护性、二次开发难易性、低成本等方面比较分析了该模型同现有方法的优劣性。通过比 较分析,进一步体现本文提出的模型的优点,并用一个项目实例进行说明, 希望通过本文的研究工作,能够对我国企业信息化系统的集成问题有一定的帮助,对s o a 架构技术的广泛使用作出一定的贡献。同时也希望本文提出的模型对企业异构系统集成的应 用起到一定的参考作用。 关键词:异构系统、互操作、数据集成、s o a 、w e b 服务 a b s t r a c t a h e t e r o g e n e o u ss y s t e mi n t e 铲a t i o n f r a m e w o r kb a s e do ns o arr a m e w o r kb a s e do ns u a m 旬o r :c o m p u t e rs o f 研a r ea n dt h e o 巧 s u p e r v i s o r :a d j u n c tp r o f e s s o rd i n gx i a om i n g a u t h o r :m aj u n a bs t r a c t t h ed e v e l o p m e n to fo u rc o i l 】i p u t e rt e c l l i l o l o g yi sv e r yf a s tt o d a y m o r ea n dm o r e 印p l i c a t i o ns y s t e m sb a s e do nt h en e t 、o r ke n v i r 0 i m l e n ta r eb e c 锄et m e ,m o s to ft h e s e a p p l i c a t i o ns y s t e m sf o ra1 0 to fd a t am u s tb ep r o c e s s e d p e o p l ed i d i l tc a r ea b o u ts h 撕n g a p p l i c a t i o nl o 百c 锄d 印p l i c a t i o nd a t ai ne a r l i e rb u s i n e s sp r o c e s s t l l ep o i n ti sh o wt o d e v e l o ps y s t 锄st om a l 【et h ew o r ka u t o m a t i c a l l yw l l i c hw 弱d o n eb yp e o p l e a tt h a t t i m e ,i t sc h a i l e n g et 0s o l v eo n eo ft h e s ep r o b l e m s ,n o tt om e n t i o nt om a k ea l lo ft h e s e s y s t e m sb 勰e do nap u b l i ca 1 1 dr e u s a b l ea r c h i t e c t l l r e i t1 e a d ss o m ep r o b l e ml i k e “i s l a i l d i n f o m a t i o n ” 1 v i o s to fb u s i n e s si sa u t o m a t i ci nr e c e n t l yy e a r s ,t h ei m p o r t a n tp r o b l e mi sh o wt o i m p r o v et h ea b i l i t yo fs y s t e mt oa d a p tt on e wr e q u i r e m e m s t h e r ea r es o m er e a s o n s a b o u tp a y i n gf o rn e w p r 巧e c t ,f o re x 锄p l e ,a d d i n gn e wu s e ri n t e r f 犯e ,i n t e g r a t i n gm a l l y d a t as o u r c e si nas i n g l ev i e w ,i n t e 伊a t i n gm o b i l ee q u i p m e n t ,a 1 1 ds oo n m o s to fm e s e m a n a g e m e n ti n f o n n a t i o ns y s t e m sw e r ed e v e l o p e db yd i f f e r e n tt e 狮i ns o m ey e a r sa g o a l l du s e dd i f 衔e n tt e c l l i l o l o g y ,e v e nu s e dd i f f e r e n td a t a b a s em a n a g 锄e n ts y s t e m ,h o wt o i n t e 黟a t et h e ms ot h a tt h e yc a ns h a r ea p p l i c a t i o nl o g i ca 1 1 da p p l i c a t i o nd a t af o rn e w r e q u i r e m e n t t h e s ea r ei n t e 酉a t i o no fh e t e r o g e n e o u ss y s t e m s ia l l a l y z ep r o b l 锄sa b o u ti n t e 野a t i o no fh e t e r o g e n e o u ss ) ,s t 锄si n 锄sp a p e r ,柚d i n 仃o d u c es o m ee x i s t i n gm e t h o d so fs o l v i n gt h ep r o b l e m a n e rc o n s u l t i n gt h e s e m e m o d sip r o p o s eah e t e r o g e n e o u ss y s t e mi n t e 蓼a t i o nm o d e lb a s e do ns o a t 1 1 i s m o d e li sf o c u s e do nd a t ai n t e 星,a t i o n ii n t r o d u c es o m en e c e s s m vt e c l l l l o l o g va b o u tt h e m o d e l ,s u c ha sx m l n e tf r a m e w o r k ,w e bs e n ,i c e ,s o a a n dp r o p o s es t a n d a r do f i s o i e c 912 6 ,ic o m p a r et h em o d e lt oa n o t h e rm e t h o d s ,a n a l y z ea d v a i l t a g e sa i l d d i s a d v a i l t a g e s a b o u tm e mi n a v a i l a b i l i t y ,i n t e r o p e r a b i l i t y ,s e c u r i t y ,r e u s a b i l i t y , s c a l a b i l i t y ,u s e a b l e ,m a i n t a i n a b 订i t y ,d i f h c u l to fs e c o n d a i yd e v e l o p m e n t ,l o w c o s t nc a n r e n e c ta d v a n t a g e so f m ym o d e lb yc o m p a d s o n ,a i l diu s e rap r o j e c tt os h o w ih o p ei tc a nb eh e l p f h lf - o ri n f b m a t i o ns y s t e mi n t e g r a t i o n 丘o mt h i sp a p e r ih o p ei t c a nc o n t r i b u t ef o rw i d e ru s e ro fs o at e c l l i l o l o g y a n dih o p et h i sm o d e lc a nb e p r o p o s e db ys o m e 印p l i c a t i o no fe n t e 印 s e 1 ( e yw o r d :h e t e r o g e n e o u ss y s t e m 、d a t ai n t e r o p e r a b i l i 够、i n t e g r a t i o n 、s o a 、 w e bs e n 殖c e i i i 独创性声明 学位论文题目:基王墨q 鲍是抱丕统篡盛盟壅 本人提交的学位论文是在导师指导下进行的研究工作及取得的研 究成果。论文中引用他人已经发表或出版过的研究成果,文中已加了 特别标注。对本研究及学位论文撰写曾做出贡献的老师、朋友、同仁 在文中作了明确说明并表示衷心感谢。 学位论文作者:笏i 坌签字日期:沙吩年歹月碍日 l o k 一 f 学位论文版权使用授权书 本学位论文作者完全了解西南大学有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权西南大学研究生院( 筹) 可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书,本论文:口不保密, 口保密期限至年月止) 。 学位论文作者签名: 签字日期澎年歹p 1 导师签名:铆少 日签字日期:嘶参月棚 第一章绪论 1 1 论文的研究背景 第一章绪论 在计算机技术飞速发展的今天,基于网络环境的各种应用程序层出不穷,这些应用程序 毫无疑问都要针对数据进行处理,有人量的数据就必然要涉及数据库系统。异构系统则主要 指应用系统或数据库系统的异构,其中一些相关的应用程序之间需要进行互操作,涉及到不 同的数据格式的传输、访问等操作的问题。比如,某个企业的管理系统,企业中各个部门之 间对该系统采用了不同的数据库管理系统,如o r a c l e 、s q ls e r v c r 、d b 2 等,这样对异构的 数据库管理系统的访问存在问题;再比如,该企业的管理系统,不同部门之间用的系统的源 语言不同,人事部门的系统是用v b 写的,财务部门的系统是用v c + + 写的,两个部门的异 构数据需要进行互操作,这些就是异构系统之间的数据互相操作的问题。而异构系统数据互 操作问题是异构系统集成中最主要的一类问题。 使用不同数据库管理系统的异构数据库集成以及多语言互操作性研究成为当前的热点 问题。企业大量重要的信息都是通过数据库系统进行存储和管理的,而不同的企业或者同一 企业的不同部门往往采用了不同的数据库管理系统,而且这些不同的系统在地理位置上往往 也是分布的,只能通过i n t e m e t 访问。例如某公司在北京、上海、深圳等地都有分公司,甚 至在国外也有分公司,各分公司可能安装了不同的数据库管理系统。即使该公司进行了信息 系统规划。但是,随着时间的推移,人事的变动以及数据库技术的进步和数据库市场的变化, 仍然可能出现分布的异构数据库的情况【1 j 。该公司的管理者对下级各分公司、各部门要进行 统一协调的管理、调度,以降低成本,提高生产效率,增强公司的竞争力,就必须对这些分 布异构数据库进行集成。多语言的互操作性是一种代码与使用其他编程语言编写的另一种代 码进行交互的能力,它可以有助于提高代码的重复使片j 率,从而提高开发过程的效率。但因 为不同的源语言,它们底层对数据类型的定义、数据编码都可能不同,它们之间要进行数据 交互操作,就可能会出现无法识别等问题。以前的解决方法就是单独开发一些针对此问题进 行转换的组件,但是开发这些组件会花费大量资源,很不划算。这些问题是如何导致的? 在早期的业务过程中,人们对于在不同应用系统间共享应用逻辑和应用数据未予关注。 当时的重要问题是如何开发系统,让原来由人完成的操作实现自动化。一些信息管理系统就 是这样的例子。当时解决这些问题中的任何一项都是颇具挑战性的,更不用说使所有这些独 立开发并且相关的系统都基r 一个公共的、可重用的架构了。而近些年来,大多数业务运营 功能都已实现自动化了,现在的重要问题是如何改善这些系统的能力以满足新的需求。增加 新的用户界面、在单一视图中组合多个数据源、集成移动设备或者用更好的应用替代原有应 用等等,这些都是投入新项目的常见理由。象前面提到的信息管理系统都是若干年前开发的, 西南大学硕士学位论文 而且各个系统一般都是由不同的开发团队单独开发的,而且也是采用不同的开发技术,就连 底层数据库也不同。但现在出现了新的需求,需要将这些应用系统集成到一起,相当丁是将 它们组建成一个更大的应用系统,使他们之间能共享应用逻辑和应用数据。如:财务管理系 统中的人员数据是从人事管理系统中获得的。但是财务管理系统采用的数据库管理系统是 s q ls e n ,e r 2 0 0 0 ,而人事管理系统采用是d b 2 。两种不同的数据库管理系统具有不同的数据 类型,s q ls e r 代r 2 0 0 0 中的一些数据类型,在d b 2 中不被支持,相反的也是这个道理。如 何使两个系统之间能识别对方的数据,是异构系统的集成所要解决的一个问题。再就是两个 系统要进行互操作,财务管理系统中直接调用人事管理系统中的某个功能,财务管理系统将 相应的指令传给人事管理系统,在人事管理系统的应用就必须要理解传来的指令。而系统开 发的时候,并没有考虑和其他系统之间的互操作问题,所以要这样进行互操作也存在问题。 软件行业的竞争日益激烈,软件系统的类型也由以前较多的桌面应用系统向基于w e b 环境的分布式应用系统转变。各种分布式的开发方法、模型层出不穷,比如:d c o m 、c o r b a 、 w e bs e n ,i c e s 等技术。这些技术为异构系统集成提供了很大的帮助。如何使用现有的技术, 进行改进,以更好地支持异构系统集成是当前研究的热点内容。 目前已有的一些解决方法: 1 、谈政等人提出用n e tr e i n o t i n g 技术解决异构数据库集成问趔2 5 l 。以n e tr 锄。恤g 构建分布式平台,利用x m l 作为异构数据库转化的中介,实现分布式异构数据的集成。n e t r e m o t m g 技术是微软推出的下一代分布式组件技术,是d c o m 技术的替代者。 2 、中间件技术解决异构系统集成问题1 4 2 l 。 3 、高月等人提山了n e t 平台下通过w 曲s e n ,i c e 技术实现分布异构数据库的集成1 1 l o 该 方法是在基于w 曲环境的三层架构下,在业务逻辑层使用x m l w 曲s e n ,i c e ,它在表示层和 数据访问层之间,起到了转换作用。 本文将采用基于面向服务的思想的方法来解决异构系统集成问题。尽管面向服务的开发 方法不是什么新概念,但它正随着i t 界从开发新系统剑充分利用现有系统的转变中风行起 来。用一种面向服务的架构来开发和部署服务是利用已存在的戍用系统来满足新需求的最好 方式。 1 2 论文的研究内容 目前网络环境中相关的系统要进行数据的互操作,但它们采用不同的d b m s ,这就对 数据的传输、访问及操作方面带米了难度甚至是不能实现的问题;相同或相近的数据项,在 不同的系统中定义也可能不同;而且系统由不同的语言写成,各种语言对数据类型的定义等 方面也不相同,这方面给数据的传输、访问及操作等方面带来了许多问题;异构系统地理位 置可能相隔较远,般的非h r r p 的数据传输方式,很难穿越防火墙,传输方面也存在的困 2 第一章绪论 难。本文将基于s o a 思想的w 曲服务和x m l 技术与n e t 平台相关技术相结合,用于解决 异构系统集成的研究,针对当前已经提出的这些方法所存在的一些问题,对其进彳= i :改进,提 出更有优势的解决方案,将提高软件系统的互操作性和可扩展性,弥补现在许多异构系统集 成以及在数据互操作性方面的不足。 1 3 论文的创新 目前本领域的研究主要集中在采用w 如服务、n e tr o m o t i n g 、中间件技术或者其他一 些组件技术解决异构系统之间数据互操作的问题。而现在我国信息化领域急需解决相关的异 构系统间以数据互操作为主的异构系统集成问题,异构系统之间需要进行互操作,涉及到不 同的格式的数据传输、访问等互操作的问题。本文采用基于s o a 思想的w 曲服务技术,结 合x m l 技术,在n e t 平台下解决异构系统的集成问题。研究此方法与目前的解决方法相 比的优势,研究结果将为当前存在的异构系统在数据互操作方面的集成问题提供一些帮助。 1 4 论文的组织 论文的组织如下: 第一章绪论 介绍了本文的研究背景、目的、主要研究内容以及创新点。 第二章异构系统集成概述 介绍了异构系统形成的原因及异构系统的概念等基本问题,分析了异构系统集成的类型 以及本文关注的这些类型中某些方面的问题。 第三章解决异构系统集成问题的相关技术 分别介绍了本文需要用到的s o a 的思想和w 曲服务的相关标准、) ( 1 l 技术以及n e t 平台下相关的开发技术。 第四章异构系统集成问题的解决方法分析 对当前解决异构系统集成的一些方法进行概述和分析,将现有方法同本文提出的方法进 行比较,从理论上说明本方法相对丁现有方法的优缺点。 第五章基于s o a 思想的异构系统集成实例 提出了基于s o a 思想的异构系统集成框架,并采用个实际项目的例子来说明了该框 架的设计、实现及使用方式,并比较说明了该框架的优势。 第人章总结 对本文研究作出总结以及对未来研究的展望。 第二章异构系统集成概述 第二章异构系统集成概述 随着信息技术的飞速发展,硬什处理能力越来越强,网络技术在不断提高,应用规模在 不断扩大,业务需求在不断变化、且日益复杂,从而带来了技术的多样性、应用的复杂性和 计算的分布性,导致了许多应用系统既基于分布式网络、义由多种异构资源组成。 在硬件平台、网络协议、软件环境的异构性越来越明显,异构环境下的互操作问题越来 越成为人们开发分布式应用系统的制约因素的情况下,面临如下一些关键问题: l 、有效安全地实现异构资源信息的共享 2 、快速开发与集成各种异构应用软件系统 3 、降低应用软件开发成本 4 、提高系统的稳定性与可维护性 5 、在快速变化的技术环境与市场开发环境中保持应用软件系统的适应性等等。 靠某一项技术不能较好地解决以上这些问题,目前已有采用w 曲服务、n e tr 舢t i n g 、 中间件技术或者其他一些组件技术解决异构系统之间数据互操作问题方面的研究。以上这些 研究成果在一定程度上解决了一些异构系统间互操作的问题,但在某些方面的效果不大理 想。 2 1 异构系统互操作概述 异构系统主要指应用系统或数据库系统的异构,这种异构系统的情况是如何产生的? 在 早期的业务过程中,人们对于在不同应用系统间共享应用逻辑和应用数据未予关注。当时的 重要问题是如何开发系统,让原来由人完成的操作实现自动化。一些信息管理系统就是这样 的例子,比如:学校的财务管理系统、图书馆管理系统、人事管理系统。当时解决这些问题 中的任何一项都是颇具挑战性的,更不用说使所有这些独立开发并且相关的系统都基于一个 公共的、可重用的架构了。而近些年来,大多数业务运营功能都已实现自动化了,现在的重 要问题是如何改善这些系统的能力以满足新的需求。象前面提到的学校的财务管理系统、图 书馆管理系统、人事管理系统等,它们都是若干年前开发的,而且各个系统一般都是由不同 的开发团队单独开发的,而且也是采用不同的语言开发的,就连底层数据库也不同。但现在 出现了新的需求,需要将这些应用系统集成到一起,相当于是将它们组建成一个更大的应用 系统,使他们之间能共享应用逻辑和应用数据。如:财务管理系统中的人员数据是从人事管 理系统中获得的。但是财务管理系统采用的数据库系统是s q ls e r v e r 2 0 0 0 ,而人事管理系统 采用的数据库系统是d b 2 。两种不同的数据库系统具有不同的数据类型,s q ls e e r 2 0 0 0 中的一些数据类型,在d b 2 中不被支持,相反的也是这个道理。如何使两个系统之间能认 识对方的数据,是异构系统的集成所要解决的一个问题。再就是两个系统要进行互操作,财 5 西南大学硕士学位论文 务管理系统中直接调用人事管理系统中的某个功能,财务管理系统将相应的指令传给人事管 理系统,在人事管理系统的应用成就必须要理解传来的指令。这些就是异构系统需要进行互 操作的例子。 2 2 异构系统的异构性 异构系统的异构性主要体现在以下几个方面: 1 、计算机体系结构的异构。 2 、基础操作系统的异构:各个系统的基础操作系统可以是u n i ) 【、w i n d o w sn t 、“n u x 等。 3 、开发语言的不同,如:系统a 用c + + 语言开发,系统b 用锄a 1 b a s i c 开发。 4 、d b m s 的异构:涉及的数据库可以是同为关系型数据库系统的o e a c l e 、s q ls e n ,e r 、 d b 2 等,也可以是不同数据模型的数据库。 5 、数据格式异构:数据结构、数据编码不同。 6 、网络协议的异构:所涉及系统可能采用不同的网络协议和网络体系结构进行通信连 接。 异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每 个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的d b m s 。异构数据 库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的 应用特性、完整性控制和安全性控制【2 】。 2 3 异构系统集成 不同的需求和类型决定了不同的解决方案,而解决方案又与集成的层次相关。总体来说, 现今的企业应用系统一般采片j 三层式结构:表示层、中间层、数据层。其中中间层又可细分 为业务逻辑层和应用接口层。在实际的应用中,异构系统集成的类型也是基于这三层面米进 行的。异构系统集成的概念同异构系统互操作的概念的关系,类似于一个包含的关系,异构 系统集成的概念包含了异构系统互操作的概念。 集成类型主要包括以一卜几种【3 j : 1 、表示层集成:使集成系统有一个统一的表示界面,即用户界面。应用程序终端窗口 的功能可以一对一地映射到一个统一的图形用户界面。 2 、中间业务逻辑集成:通过共享业务逻辑来集成企业应用系统。其主要面向供应链企 业,解决以业务流程为核心的企业集成问题。 这种集成方式是以业务处理过程为中心的计算方式,为各种以处理过程为中心的需求提 供一种易于访问的可行解决方案。置于管理状态下的工作流、应j j 集成接口或传统合作伙伴 6 第二章异构系统集成概述 交互方式能够通过由结构化文档与消息所编制的流程加以描述、组合及实现。之后,这些消 息将根据各自的内容、格式要求和业务规则进行传输、转换与处理。凭借基于这种模型的集 成开发平台,用户不再需要白行编写用以访问、映射及转换数据格式的程序代码。 3 、中间应用接口集成( 函数和方法集成) :指网络环境中的跨平台应用程序之间的应用 到应用之间的集成,即一个应用程序使用其他应用程序所提供的a p l 功能。 其中包括:普通的代码撰写、应用程序接口远端过程调用、分布式中间件( 面向消息的 中间件m o m 、公共对象请求代理体系结构c o r b 八j a v a 的远程方法调用r m i 、分布式组 件对象模型d c o m ) 以及w 曲服务等软件技术。 4 、数据集成:共享或合并多个应用的数据。包括:数据共享、数据复制、数据转化、数 据移植。 不同层次的集成方式满足不同的应用需求,实现的方法也不尽相同。所以当采用不同的 开发系统进行开发时,相对于三个层面上的集成也会有不同的性能表现。 本文关注的重点是以开发语言不同、d b m s 的异构和数据格式异构这三个问题为主的 异构系统集成问题( 主要是异构系统数据的集成问题) 。 7 第三苹解决异构糸统集成i 司相的相关技术 第三章解决异构系统集成问题的相关技术 本章详细介绍了解决本文提出的问题所需要的一些技术,包括:s o a 的思想、w | e b 服 务技术、x m l 描述语言以及n e t 平台下的相关技术。 3 1s o a 概述 随着核心w 曲服务标准( s o a p 和w s d l ) 逐渐被j “泛采纳与实现,异构系统间的数据互 操作已经取得了前所未有的进步。因此为安全性、可靠性、事务性、元数据管理及编制等补 充特性提出了相应的新的w 曲服务标准,以便将w r e b 服务扩展应用于更广的范围。 面向服务的架构( s e 九,i c e o r i e n t e da 玎c h i t e c t u r e ,s o a ) 也因其在i t 项目中的重要角色而获 得广泛的认可。面向服务的架构是一种设计方式,它为机构提供关于创建和使用业务服务的 各个方面,包括构思、建模、设计、开发、部署、管理等的指导。 面向服务的架构是一种设计方式,它指导着业务服务在其生命周期中包括创建和使用的 方方面面。s o a 是一种定义和提供i t 服务基础设施的方式,它允许不同应用相互交换数据、 参与业务流程,无论它们各自背后使用的是何种操作系统或采用了何种编程语言。它也可以 被看作是一种构建信息应用系统的方案,它将业务服务( 即一个服务机构向客户以各种方式 提供的服务) 作为协调信息系统和业务需求的关键组织原则。而早期构建信息系统的方案, 大多是直接使用特定的实现环境来处理这些业务问题,结果造成信息系统依赖于特定的执行 环境( 比如c o i 洒a 、j 2 e e 、c o m d c o m 、i m s 等) 的功能。试想一下,如果所有这些相关 的应用系统都使用公共的编程接口以及互操作的协议,那么异构系统的集成将变成较为简单 的事情。这个公共的编程接口统一了应用的使用方式,通过设立这样一个公共的编程接口, 我们就能更容易地完成对现有的应用系统的替换和更新,从而利于相关异构系统的集成。 面向服务的开发所带来的就是这样一个功能,它将应用系统按统一的编程接口规范以及 互操作协议做成一个个服务的形式,提供给用户。在部署服务的时候再采用面向服务的架构, 那么服务将有利于快速应用集成、有利于自动化业务流程等。s o a 可以促进在不同的系统 间进行服务合成,无论这些系统是已有的还是新的,是部门级的、企业级的,还是跨企业的, 都可以通过s o a 将它们组合为流畅的业务服务流程。 s o a 是利用“面向服务开发”之优点的最好方式。与之前的应用系统关注于技术本身、 让人们适应技术不同,面向服务通过将技术更自然地贴近于需要它的人们。面向服务的开发 与先前开发方法的主要不同在于,它使你可以专注丁业务问题本身的描述,而先前的开发方 法则要求你更关注特定执行环境技术的使用,所以面向服务开发比先前的技术更面向业务问 题的解决,实现了项目成本的缩减和项目成功率的提高。s o a 的概念并不新,新颖之处在 于它能够混合搭配各种执行环境、令服务接口与执行技术明确分离、令i t 部门可以为各项 9 两南大学硕十学位论文 工作选择最佳的执行环境,并采用一致的构架将它们结合起来。s o a 的真正优点体现在部 署以后的各阶段中。那时,就可以通过组合现有服务米开发整个或近乎整个新应用。 3 1 1 什么是服务 服务是一个存在了很长时间的词了,而它也是时常出现在我们周围的,比如我们去图书 馆阅读图书,我们就享受了图书馆为我们提供的服务;我们去财务处报销费用,我们也享受 了财务处的服务。而在计算机科学领域内“服务”这个词的概念和平时我们接受到的服务的 概念很相似,它是通过运行在计算机上的应用系统来为我们提供服务。比如我们去图书馆借 书,只需要拿出借书卡,刷一下卡,就能借阅相应的图书,图书馆管理系统就为我们提供了 借书的服务。这是软件系统为我们提供的服务,软件服务的定义与现实的业务服务相一致, 确保业务流程的流畅,并有助于实现目标。而且复杂的服务可以由多个服务组合而成。在 s o a 环境中部署服务、合成服务更加容易。 从技术角度看,服务是粗粒度的、可重用的i t 资产,良好的接口定义( 即服务契约) 令服务的外部访问接口与内部技术实现相分离。接口与实现的分离,消除了服务请求者与服 务提供者间的耦合。于是,只要服务契约保持不变,请求者和提供者各自的变化,不会影响 到服务调用。 3 1 2 面向服务的架构 面向服务的架构定义和提供了一种具有以下特征的i t 基础设施:允许不同的应用相互 交换数据和参与业务流程,无论它们各自背后使片 的是何种操作系统或采用了何种编程语 l 口o s o a 的重要目标之一是:促进i t 能力与业务目标的配合与协调。另一个目标是:提供 一种机动的i t 基础设施,即能够快捷地根据业务需求变化进行重新配置的基础设施。下图 是采用w 曲服务技术的面向服务的架构图( 图3 1 ) 【4 】: s o a 的关键组织概念正是服务【4 】:s o a 定义的流程、原则和方法都是面向服务的;s o a 选择的开发工具是面向创建和部署服务的;s o a 提供的运行时基础设施也是面向执行和管 理服务的。任何i t 架构都必须专注于某些方面,而放弃其他方面。例如,安全架构专注从 g u i 层剑数据层的安全问题;数据架构专注所有应用层上的数据建模、保护和管理。s o a 所专注的是有关服务的各个方面,而不负责属于其他企业架构范畴专注的问题。 3 1 3 服务契约 每个服务都有一个良好定义的接口,称作服务契约( s e n ,i c ec o n 仃a c t ) ,它实现了服务的 外部访问接口与技术实现的分离。服务契约在s o a 中具有相当的重要性,通过定义一种正 式的契约,我们可以定义系统和领域边界、减小依赖程度、增强适应性、在多个服务中挑选、 更易于更换服务提供商等。 l o 第三章解决异构系统集成问相的相关技术 图3 1 采用w 如服务技术的面向服务的架构图 3 2w e b 服务概述 新一代的分布式运算时代已经来临。在过去儿年中,x m l 被广泛地运用于计算机运算 应用环境中,以达到在全球信息网上共享信息的远大目标。现在,它可以更进一步地提供运 算能力上的分享。从技术的观点来看,w e b 服务的出现并不能算是分布式计算机运算的新革 命。它可以结构化的早现信息,甚至是程序内部的讯息,从而使各种网络软硬件设备通过 x m l 文档实现无缝的连接。 透过w e b 服务,任何应用程序可以在网络上顺利地整合在一起。w e b 服务的基本原理是 利用标准的网络协议( 例如:h 订p ) 来传送x m l 讯息【5 】。这是一种非常轻便的沟通机制, 西南大学硕十学位论文 冈此可以让任何程序语言、中间层组件或平台很轻易地整合进来。有了w e b 服务,就可以快 速且低成本地整合两个企业、部门,其至是两个程序【6 】。 要建立w e b 服务必须得采用业界通用的w e b 服务技术,其实w e b 服务是种很简单的x m l 界面,适用于商业、应用程序以及系统服务。w e b 服务是一种新一代的分布式服务,在这之 前,有c o r b a 、d c o m 、c o m + 、r m i ,都是用米实行分布式架构的技术,而且也被证明 运作的非常顺利。但是这些系统有一个共同的缺陷,就是它们要求服务客户端与系统提供的 服务本身之间必须进行紧耦合,即要求一个同类基本结构。这样的系统往往十分脆弱,如果 一端的执行机制发生变化,那么另一端的便会崩溃;而新一代的分布式服务,采用的是x 1 l 技术( 彼此是松耦合的) ,如x m l r p c 和s o a p 就是最佳的例子,新一代的分布式技术可以 用既有的通讯协议做基础( 如s m t p 、f r p 等) ,但是目前最受欢迎的方式仍然是将帆基 于h 丁r p 这个广受欢迎,但是效能并非最佳的通讯协议上。即使如此,这些新一代的技术尚 未通过时间的考验,或许它们有可能运作得很成功,也可能有些许的风险存在【7 】。 w e b 服务彼此是松散偶合的。连接中的任何一方均可更改执行机制,却不影响应用程序 的正常运行。从技术角度讲,人们已转向使用一种基于消息的异步技术来实现高可靠性的系 统性能,通过使用诸如h t t p 、简单邮件传输协议( s m t p ) 以及至关重要的x m l 来实现统 一的连接。w e b 服务是一个可编程的应用,可以用标准的h l t e m e t 协议米访问。w e b 服务结合 了以组件为基础的开发模式以及w e b 的出色性能。和组件一样,w e b 服务具有黑匣子的功能, 可以在不关心功能如何实现的情况下重复使用。不同于目前的组件技术,w e b 服务不能通过 特定的对象模型( o b j e c t m o d e l s p e c i f i c ) 协议访问,例如分布式组件对象模型( d c o m ) 、 远程方法调用( r m i ) ,或i n t e m e t i n t e r o i 淝协议( i i o p ) 。相反,w e b 服务是通过通用网 络协议和数据格式来访问的,例如,超文本传输协议( h t t p ) 和x m l 语言。并且,一个 w e b 服务的界面是按照w e b 服务接收和生成的消息类型严格定义的。w e b 服务的用户可以使 用任何语言在任何平台上完成功能,只要他们能够创建和使用为w e b 服务界面所定义的消息 【5 1 。 w e b 服务技术是一个崭新的分布式计算模型,是w e b 数据和信息集成的有效机制。它基 于x m l 、s o a p 、w s d l 和u d d i 等协议,通过程序白动启动和处理i n t m n e t 、e x t m n e t 或i n t e m e t 上的商务事务,动态地描述、开发、发布、发现和调用跨平台、跨系统的各种分布式应用。 使用w e b 服务所做的每一件事都是标准化的;传输的方法、用于包装w e b 服务的方法、定义 w e b 服务的方式,所有这些都具有与涉及的技术关联的、清楚的w 3 c 标准。w e b 服务技术是 分布式计算技术通向计算时代的一个非常重要的里程碑,许多企业都把w e b 服务技术视作其 未来分布式计算技术发展的方向,被誉为i n t e m e t 上的第三次革命。 3 2 1w e b 服务的相关协议 ( 1 ) x m l ( e x t e n s i b l em a r k u pl a i l g u a g e ,可扩展标记语言) ,是新一代i n t e m e t 应用的 基石,用来定义不同应片j 领域中的数据组织和数据结构,是s g m l 的一个子集。w e b 服务所 1 2 第三章解决异构系统集成问相的相关技术 依赖的其他协议规范都是以x m l 为标准来描述和表达的。 ( 2 ) s o a p ( s i n l p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) ,是在分布式环境中 交换信息的简单协议。它建立在h t t p 和x i l 的基础上,不受大多数防火墙的限制。它分为 四个部分:s o a p 信封,定义了一个描述消息,发送者接收者以及如何处理它们的架构的封 包。s o a p 绑定,使用底层协议交换信息。s o a p 编码规则,用来表达应用程序使用的数据 类型实例的编码规则。s o a pr p c ,表示远地过程调用和虑答的协定【8 】。 ( 3 ) w s d l ( w e bs e r v i c ed e s c 邱t i o nl a n g u a g e ) ,用来描述w e b 服务的相关信息。它 把网络服务定义成一个能交换消息的通信端点集,用w s d l 定义的一套x m l 语法描述的网络 服务方式,使用户程序得知w e b 服务提供了何种服务【9 l 。 ( 4 ) u d d i ( u n i v e r s a l d e s c i j p t i o i ld i s c o v e r ya n di n t e g m t i o n ,统一描述、发现和集成协 议) ,是一套为、b 服务提供信息注册的标准规范。它用于帮助w e b 服务使用者在i i l t e r n e t 上发布自己的w e b 服务,同时也使别的应用程序发现它【lo 】。 下图是w e b 服务的各种协议结构图【i l 】: 消息传输层 数据表现协议层 网络传输层 服务描述层 服务发现层 图3 2 w e b 服务协议图 3 2 2w e b 服务的体系结构 w e b 服务可被看作是一种部署在w e b 上的对象组件,它提供了基于x m l 和s o a p 协议、 跨越i i l t e m e t 、独立、面向服务的模块化远程调用机制。w e b 服务的面向服务架构s o a 包括三 个部分,分别承担不同的任务【1 2 】: 服务提供者( s e n ,i c ep r o v i d e r ) :向服务代理者注册服务。 服务代理者( s e r v i c eb r o k e r ) :即u d d i 服务器,负责执行服务的发布和查找任务。 服务请求者( s e r v i c er e q u e s t o r ) :从服务代理者中查找服务。它们之间有三个主要的操作: 发布( p u b l i s h i n g ) 、查找( f i n d i n g ) 和绑定( b i n d i n g ) 。相对于c o r b a 来说,w e b 服务 代表了分布式计算的发展方向,更适合动态网络管理的应用需求,因此有人预言w e b 服务 1 3 两南大学硕士学位论文 将是动态网络管理开发的核心技术。但目前存在一个突出的问题:是将普遍部署c o r b a 技 术的遗留网络管理应用全盘升级到w e b 服务;还是部分的升级改造一企业内部的c o r b a 应 用保持不变,而只是用w e b 服务封装c o r b a 对象呢? 很明显,前一种方案能够保证所用 技术最新,系统互操作性更强,但缺点是实施起来很困难,时间和成本花费将非常大;后一 种方案能够最大限度的保护已有投资,且在一定程度上也能满足企业的应用需求。由于w e b 服务技术推出时间不长,在很多实际应用方面还存在一些问题,结合网络管理的发展现状, 综合考虑技术和成本,作者建议采用第二种方案,提出用w e b 服务封装c o r b a 对象,实 现两者有机集成的动态网络管理应用架构。下图( 图3 3 ) 是w e b 服务的体系结构【1 3 】: w s d l u d d i 找 亟困一 绑定 d l 门l j d d i 图3 3w e b 服务的体系结构图 服务提供者向服务注册中心发布服务以及服务的描述,服务注册中心就相当于服务代理 者,负责执行服务的发布和查找任务。服务请求者想服务代理者查找并请求服务,享用服务 提供者提供的服务,并和服务提供者绑定。任何服务请求者同时也可能是服务提供者。w 曲 服务互操作的模式:服务请求者利用u d d i 协议在服务注册中心查找服务。w s d l 是一种 可以描述服务的语言,服务请求者通过下载或其他途径从注册中心获得某个服务的w s d l 文档,然后解析该文档,看服务提供者需要什么要的消息。然后服务请求者利用s o a p ( 简 单对象访问协议) 生成相应的消息,利片j 消息同服务提供者进行交互。 3 3s o a 与w e b 服务 s o a 与现今流行的w 曲服务紧密联系在一起。w 曲服务提供了技术,而s o a 则提供 了应用这种技术的框架,这是一个非常好的思路,冈此得到了软件业界普遍的认可。用w 曲 服务成功地实现了一种

温馨提示

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

评论

0/150

提交评论