




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)基于构件的征信服务系统的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 摘要:信用是保证现代服务业正常发展的基础,当前,在现代服务业中普遍存在 的商业欺诈、假冒伪劣、合同违约等失信现象,严重制约了现代服务业的健康发 展;另外,在当前构件的开发过程中,数据的管理以及构件的组装和发布存在着 不规范、不合理和平台、语言不兼容问题。本文正是基于这样的背景,给出了征 信服务构件的设计与实现,就上述问题进行研究和解决。 征信服务构件是“十一五 国家科技支撑项目“现代服务业共性服务集成平 台 的子构件。现代服务业共性服务集成平台是为了保证现代服务业正常发展, 塑造现代服务业诚信环境而研究开发的平台。 本文的主要工作如下: 1 对征信服务构件进行研究和设计:构件采用基于j 2 e e 的多层系统架构, 分别为数据层、持久层、业务逻辑层、表现层,在平台的业务逻辑层和数 据层,使用了f a c a d e 、f a c t o r y 、d a o 等几个设计模式,使构件具有了良 好的可扩展性、可重用性和易于维护性。由于现代网络的不稳定因素,本 文也对系统安全问题进行了研究。 2 使用x m l 元数据解决了构件数据管理的规范问题:由于x m l 语言具有 元语言的特点,所以在应用中可体现出灵活性、平台无关性、可扩展性等 诸多优点,因而本文用x m l 数据库实现了构件数据交换的统一制定并加 强了数据的管理力度。 3 在x m l 构件模型的基础上提出了基于x m l 的构件组装并实现:由于 x m l 语言的特性,用x m l 语言来描述构件组装的相关信息,可以达到 对构件、构件间连接和构件组装描述三方面的统一,也便于利用当前的各 种自动化部署工具对复合构件或应用程序进行部署。 4 使用u d d i 技术实现了构件的发布和查询,使构件模块化和易用有效的特 点得到完美的体现。 最后给出了结论,总结全文的工作和不足。 关键词:构件;征信;x m l ;构件组装;构件发布 分类号: a b s t r a c t a b s t r a c t a b s t r a c t :c r e d i ti st h ea s s u r a n c eo fs e r v i c ei n d u s t r yi nn o w a d a y s b u tt h e d e v e l o p m e n to fs e r v i c ei n d u s t r yi sr e s t r i c t e ds e v e r e l yb ys o m eb a dp h e n o m e n o n s ,s u c h a sc h e a t ,f a l s i f i c a t i o n ,v i o l a t i o na n ds oo n o t h e r w i s e ,t h e r ea r es o m ep r o b l e m so fd a t a m a n a g e m e n t ,c o m p o s i t i n ga n dr e l e a s i n g o nc o m p o n e n ti nt h ec o m p o n e n t - b a s e d s o f t w a r ed e v e l o p m e n ta tp r e s e n t ,s u c ha sn o n s t a n d a r d i z a t i o n ,n o n - r a t i o n a l i t ya n d n o n c o m p a t i b i l i t yo fp l a t f o r ma n dl a n g u a g e f o rr e s o l v i n gt h o s ep r o b l e m s ,w ed e s i g n a n di m p l e m e n tt h ec o m p o n e n to fc r e d i ts y s t e m t h es e r v i c es y s t e mo fc r e d i ti sas u b s y s t e mo ft h en a t i o n a lh i g ht e c h n o l o g y p r o g r a mo ft h ee l e v e n t hf i v e p l a nn a m e d t h ec o m p o s i t i v ep l a t f o r mo fc o m m o n a t t r i b u t eo nt h em o d e ms e r v i c ei n d u s t r y t h ec o m p o s i t i v ep l a t f o r mo fc o m m o n a t t r i b u t eo nt h em o d e ms e r v i c ei n d u s t r yi sap l a t f o r mk e e p i n gt h em o d e ms e r v i c e i n d u s t r yt od e v e l o pw e l l t h i st h e s i si sm a i n l yf o c u so nt h o s ea sf o l l o w :f i r s t l y , w ed e s i g na n di m p l e m e n t t h ec r e d i tc o m p o n e n t w ea d o p tj 2 e em u l t i l a y e r s a r c h i t e c t u r et h ec o m p o n e n ta n dw e u s es o m ed e s i g nm o d e ,s u c ha sf a c a d e ,f a c t o r ya n dd a om o d et oi m p l e m e n tt h e s y s t e mi nt h el o g i cl a y e r o t h e r w i s e ,f o rt h ei n s t a b i l i t yo n t h ei n t e m e t ,w ea l s os t u d ya n d d e s i g nas e c u r i t ys y s t e mf o rt h ep l a t f o r m s e c o n d l y f o rs t r e n g t h e n i n gt h e d a t a m a n a g e m e n t ,w eu s et h ex m l - b a s e dd a t a b a s ea st h ex m l i sal a n g u a g ew h i c hc a n d e s c r i b ep r o g r a m m i n gl a n g u a g ea n dt h a tm a k ei ti su s e df l e x i b l ea n de x t e n s i b l ei n r e a l i t y t h i r d l y , t h ec o m p o n e n tc o m p o s i t i o ni sb a s e d o nt h ec o m p o n e n tp a t t e r no fx m l i ti sm u c hb e t t e rt h a nt h ef o r m e rm e t h o d sb e c a u s ei t si n h e r e n tt i g h tc o u p l i n gb e t w e e n x m ld o c u m e n t sn o to n l ye n s u r ec o n s i s t e n c yf o rc o m p o n e n t ,c o m p o s i t i o nm o d e l , c o m p o s i t i o nd e s c r i p t i o n ,b u t a l s oe n s u r e v a r i o u sa u t o m a t i cc o m p o s i t i v et o o l st o c o m p o s i t ec o m p o n e n t s a n d a p p l i c a t i o np r o g r a m se a s i l y a f t e rt h a t ,t h eu d d i t e c h n o l o g yi su s e df o rd e s i g n i n ga n di m p l e m e n t i n gt h er e l e a s i n g a n di n q u i r yo f c o m p o n e n tt om a k et h ea t t r i b u t eo fb l o c k i n ga n dw i d d y o fc o m p o n e n tb e c a m ep e r f e c t a tl a s t ,w ec o m et ot h ec o n c l u s i o na n dc o n c l u d et h ew o r ka n ds h o r t a g eo ft h i st h e s i s k e y w o r d s : c o m p o n e n t ; c r e d i t ;x m l ;c o m p o n e n tc o m p o s i t i o n ;c o m p o n e n t r e l e a s e f i a s s n o : v l l 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:剀】,平 签字日期:加谚年占月多日力、引 1 否,裤 孙 刀 签 期 师 日 导 字 簦 独创性声明 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其它人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:表j l 】平签字日期: 矽谚年多月6 日 致谢 本论文的工作是在我的导师刘峰教授的悉心指导下完成的,刘峰教授严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢两年来刘峰 老师对我的关心和指导。 戴刚、路红英老师悉心指导我们完成了实验室的科研工作,在学习上和生活 上都给予了我很大的关心和帮助,在此向戴刚、路红英老师表示衷心的谢意。 在实验室工作及撰写论文期间,沈文辉、张燕、曾臻、王亚东等同学对我论 文中的征信服务系统研究工作给予了热情帮助,在此向他们表达我的感激之情。 另外也感谢父母和妹妹,他们的理解和支持使我能够在学校专心完成我的学 业。 最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授。 引言 1 引言 信用是保证现代服务业正常发展的基础,目前,在现代服务业中普遍存在的 商业欺诈、假冒伪劣、合同违约等失信现象,严重制约了现代服务业的健康发展, 因此,加强对服务商和服务对象的征信和信用管理,对塑造现代服务业诚信环境, 推动现代服务业发展意义重大。本文以构件为核心,对提供分布式、可重用的征 信服务系统进行了设计与实现,并以相应方案解决当前构件开发中存在的一些问 题。 1 1选题背景及意义 1 1 1 选题背景 征信服务构件是“十一五 国家科技支撑项目“现代服务业共性服务集成平 台”的子构件。现代服务业共性服务集成平台是为了保证现代服务业正常发展, 塑造现代服务业诚信环境而研究开发的平台。平台共由电子认证、授权管理、责 任认定、计费管理、信息安全、即时通信、信息管理、征信服务、商业智能九类 共性服务构件组成,该平台以构件为核心,通过数据通信接口发现并获得各项原 子级的共性服务,再通过集成平台内部的服务流程控制与服务组合,合成出满足 上层用户需求的,具有复杂逻辑的共性服务。 征信服务构件是发现、分析并提取征信与信用服务业务的共性,以一定的形 式表现出来的,为现代服务业典型应用和示范工程提供征信与信用支撑服务的应 用构件,是现代服务业共性技术支撑平台的重要组成部分。同时它也可以为其它 行业应用系统提供征信与信用服务支持。为满足现代服务业共性技术支撑平台的 总体功能要求,征信服务构件的结构,是一个提供征信与信用共性服务的多层次 结构模型,它将面向应用的构件和功能构件分丌,并实现技术与功能的分离。 1 1 2 选题意义 一方面,信用是保证现代服务业j 下常发展的基础,目前,在现代服务业中普 遍存在的商业欺诈、假冒伪劣、合同违约等失信现象,严重制约了现代服务业的 北京交通人学硕士论文 健康发展,因此,加强对服务商和服务对象的征信和信用管理,对塑造现代服务 业诚信环境,推动现代服务业发展意义重大。 另一方面,构件技术被视为解决软件危机的有效途径。但在当前基于构件的 软件开发中,存在着诸如如何统一定制数据,如何便捷、有效的对构件进行组装 和发布等问题,这些问题的研究和解决不仅能促进构件技术的发展,而且也能提 高软件开发的效率,简化软件开发者的工作。 因此,对征信服务构件进行研究和设计,符合当前软件发展的趋势,有利于 提高征信与信用服务领域的计算机应用水平,推动与促进现代服务业的发展。具 有较大的理论和实际意义,也有很好的应用前景。 国内外的研究现状 1 2 1国内外信用体系解决方案概述 1 美国社会信用体系的框架及分析 美国信用体系具备了征信国家的基本内涵,既有比较完善、有效的信用管理 体系,也有完全市场化运作的信用服务企业主体,还有对信用产品有强烈需求的 信用产品使用者。在社会信用体系建设方面也较为成熟。 信用相关信用法律体系的是构成美国信用体系的基础。二战后,随着经济的 迅速发展,从2 0 世纪6 0 年代末以来,美国在原有信用管理法律、法规的基础上, 进一步制订与信用管理相关的法律,目前形成了以公平信用报告法( f a i rc r e d i t r e p o r t i n ga c t ) 为核心的比较完整的框架体系。 市场主体较强的信用意识促进了信用体系的发展。在美国,信用交易十分普 遍,缺乏信用记录或信用记录历史很差的企业很难在业界生存和发展,信用记录 差的个人在信用消费等诸多方面都会受到很大制约。因此,不论是企业,还是普 通的消费者,都有很强的信用意识。 在信用行业的规范管理方面,由于美国有比较完备的信用法律体系,政府主 要是依法对信用行业进行监管和执法。其中联邦贸易委员会是信用管理行业的主 要监管部门。同时,美国信用管理协会、信用报告协会、美国收帐协会等一些民 间机构在信用行业的自律管理等方面发挥作用。 在管理方式上,美国普遍使用以商业征信公司为基础的社会信用管理方式, 遍布美国的个人征信公司,追账公司等都是从盈利目的出发,向社会提供有偿服 2 引言 务,包括资信调查,资信评级,资信咨询,商账追收等,完全实行市场化运作。 现代信用行业的发展始于美国,目前国际上只有美国对信用行业实行完全市 场化管理,其它国家的信用行业都是国家主导并严格进行监管。形成美国信用行 业完全市场化的原因是:美国的信用体系的建立和完善过程中经历三次较大的经 济危机,即1 9 世纪末的铁路债券的倒债危机、2 0 世纪3 0 年代的经济大危机、2 0 世纪7 0 年代经济大萧条,在三次大危机和大萧条中,美国的大批公司破产,债券 不能偿还,债券倒债事件比比皆是,投资者损失巨大,经济大衰退,管理当局和 立法机构认识到了经济波动与危机的存在并意识到建立信用体系的重要性,同时, 政府意识到要加强对信用行业的管理,开始由市场导向为主逐渐向以政府导向过 渡,以加快其社会信用体系的建立和完善l j j 。 2 欧盟国家的信用体系的基本情况 与美国不同的是欧盟国家的信用体系的建设,欧盟国家认为只有依靠政府才 能推动信用体系的建设。因此,在完善的法律法规和管理制度下,欧盟国家的信 用监管机构、信用服务机构、数据提供者都是依据一定的法律法规由政府当局进 行管理和控制。有些欧盟国家的政府为促进信用行业的发展,扩大市场对信用评 级的需求,在政策上给予一定支持,甚至有强制性规定的评级业务。 德国是信用经济高度发达的国家。商业信贷、贷款买房购车、邮购商品、分 期付款和信用卡支付等信用消费在社会经营活动和日常生活中十分普遍。尽管商 业欺诈、个人偷税漏税等现象屡见不鲜,但总体而言德国社会的诚信度还是很高 的【2 】o 3 国际上主要经济发达国家信用体系的情况分析 从国际经验看,大多数国家的社会信用体系是由政府主导建设的,采取政府 依据法律法规对信用行业监管的运行机制。政府的直接管理职能比较强化,信用 行业的发展受政府的控制。相比之下,我国信用行业的发展只有十几年的历史, 相关的法律法规还很缺乏,在信用体系的建设过程中,要加快立法。同时必须加 强政府对信用行业的管理和监督。当前需要确立该行业的监管主体,改变长期以 来我国的信用行业多头监管与无人监管并存的状况,而且单一监管主体的确立有 助于信用管理法律法规的推出。 4 我国信用体系的情况分析 我国的社会信用体系建设起步于从上世纪9 0 年代末期,大致可分为两种:一 种是各省、市政府为主建立的“横向社会信用体系”,目的是满足地区信用管理的 需要;一种是以国家各有关部委为主建立的“纵向社会信用体系 ,主要是行业监 管为目的,建立的方式和内容主要是信用数据采集、网络建设、初步的信用公示 方面。目前的总体情况是:政府力量和民间力量并存、横向建设和纵向建设并存、 3 北京交通人学硕士论文 地区差异明显,城乡发展不均衡。 1 2 2 国内外构件研究概述 构件化软件开发方法在很大程度上借鉴了硬件技术的成就,它是构件技术、 软件体系结构研究和应用软件开发技术三者发展结合的产物。类似于硬件系统中 的组件,软件构件可以是任何可执行的信息处理程序体。通过确定公共的接口语 言和对象表示形式实现的构件,具有接口标准和内部信息封闭的优点,达到了直 接将面向对象技术展现在最终用户面前的效果。 国外关于软构件技术的研究较早,其主要工作包括:美国军方与政府资助, 旨在解决构件库之间共享资源和无缝互操作问题,并于1 9 9 2 年提交的a l o a f v e r s i o n l 2 版本,这体现了对可复用构件库系统的认识,并给出了一个构件库框架 的参考模型;可复用库互操作组织开发的可互操作性的解决方案b i d m 和u d m , u d m 是基于a l o a f 的三层数据模型的统一数据模型,b i d m 是u d m 的一个子 集,定义了为实现互操作,复用库交换软构件时所需的信息的最小集,b i d m 己被 i e e e 采纳为标准。参与国和承包商制定了一组关于软件复用的标准,包括“可复 用构件开发标准 、“可复用软构件库管理标准”等。 软构件技术也引起了国内诸多专家学者的关注:北京大学软件工程研究所 以杨芙清院士为代表,以青鸟工程为依托,重点研究了软件的工业化生产技术, 开发了软件工业化生产系统;浙江工业大学提出了一组软构件技术标准规范,形 成了支持接口连接式和插头插座式体系结构类型的构件模型以及基于体系结构的 构件集成组装框架;郑州大学顿海强等提出面向对象方法中的对象类是复用构件 的一种雏形,类和类继承是强有力的复用机制,继承和重载是复用构件的修改技 术,继承和消息传递是复用构件合成新构件的构件合成机制;西安交通大学曹建 福等结合结构化方法和面向对象方法的优点,提出了一种实用化的基于对象构件 的开发模型,该模型允许用户在项目初始阶段采用结构化分析和设计技术;南京 师范大学黄为民等提出了一种基于软构件的数据库系统开发模型,通过领域分析 发现不同应用系统之间的共性与个性,把共性部分作为标准软构件存入构件库中, 根据一定的集成算法将软构件连接成完整的应用系统。此外,国内的其它一些大 学,如华中科技大学、四川大学、河北大学等从领域工程、开发模型、面向对象 技术、领域组件提取、相关应用等多方面对软构件技术进行了研究,取得了一定 的研究成果。 4 引言 1 3论文的内容和组织结构 本文共分为六章: 第1 章引言,首先介绍了本课题的研究背景和意义,然后介绍了国内外信用 体系解决方案的现状和分析国内外基于构件的软件开发的发展现状。 第2 章构件相关技术介绍,第一节介绍软件构件的概念和特点;第二节介绍 构件相关概念,如构件的分类、构件的接口及现有的通用构件模型;第三节介绍 构件组装技术和策略。 第3 章基于x m l 的构件组装模型,首先是介绍x m l 语言的基本理论,并 阐述了用x m l 描述构件的优越性,接着提出了基于x m l 的构件模型,最后描述 了基于x m l 构件模型的构件组装模型。 第4 章征信服务系统的设计与实现,先对征信服务系统作了概要的描述,然 后对系统进行设计与实现,并对系统安全策略进行研究和实现。 第5 章构件关键技术的研究与实现,对开发中的一些关键点,如数据管理问 题,构件组装和发布问题的解决和实施方案进行阐述。 第6 章结论,总结了本文所做的主要工作及不足并提出了以后的研究方向和 期望。 5 北京交通入学硕士论文 2 构件相关技术介绍 2 1 构件的概念和特点 为了加快软件开发进度,提高软件质量和生产率,在软件开发过程中,一个 有效的办法是尽可能重复使用已有的软件元素,这种可重用的元素称作软构件, 简称为构件。因为构件的内涵十分丰富,c b d ( c o m p o n e n t b a s e dd e v e l o p m e n t ) 又处在一个发展阶段,所以出现了许多不很一致的构件定义,也出现了许多容易 混淆的概念,例如对象、中间件、框架、构架、子系统、c o t s 、产品线等。 本文认为,构件【3 】是指语义完整、语法正确和有可重用价值的单位软件,包括 程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识等。这 就意味着,在结构上,构件是语义描述、通信接口和实现代码的复合体,是一个 计算和数据存储单元。具体地说,构件可以视为用于实现某种计算逻辑的相关对 象的集合,这些对象或是结构相关或是逻辑相关。在软件体系结构中,构件可以 有不同的粒度,一个构件可以小到只有一个过程,也可以大到包含一个应用程序。 它可以包括函数、例程、对象、二进制对象、类库、数据包等。 对于可复用构件,一般有如下要求【4 j : l 。可复用构件应该具有功能上的独立性与完整性。一个可复用构件应该具有相 对独立的完整功能,构件与构件之间的联系应该尽可能少,彼此之间应该具 有较为松散的祸合度,并且构件与构件之间的交互应该通过良好定义的接口 进行。一个功能不完整,与其它构件耦合紧密的构件对于复用是非常不利的; 2 可复用构件应该具有较高的通用性。可复用构件的通用性的高低在很大程度 上决定着它的适用范围。所以在开发构件时,应该尽量提高构件的通用性, 使其可以更多的软件系统的开发中被重复使用; 3 可复用构件应该具有较高的灵活性。可复用构件应该允许构件的用户根据具 体情况对构件进行适当调整,以适应不同用户和环境的具体要求。提供灵活 的构件调整机制,以便于构件的复用和构件适用范围的扩大; 4 可复用构件应该具有严格的质量保证。可复用构件是组装软件系统的“零部 件,构件必须有质量保证。在一个可复用构件被使用以前,必须对构件进行 充分的测试,尽可能多地发现并纠j 下构件中的错误,同时在复用构件的过程 中,对于潜在的错误要及时加以修改。测试时需要考虑构件在不同的软硬件 环境中,是否健壮和可靠; 5 可复用构件应该具有较高的标准化程度。用于组装的可复用构件往往是由不 6 构件相关技术介绍 同组织或个人开发的,新系统与构件的开发所使用的编程语言也可能存在不 同,这些存在很大差异的构件要在一个软件系统中和谐共存,并进行有效交 互,这就要求构件具有定义良好的接口,使构件之间的交互能够通过标准化 的接口进行,从而使得不同构件的组装变得容易。 从抽象程序来看,面向对象( o b j e c to r i e n t a t i o n ) 技术以类为封装单位,己经达 到了类级重用,但这种重用的粒度还太小,不足以解决异构互操作和效率更高的 重用。构件将抽象的程度提高到了一个更高的层次,它是对一组类的组合进行封 装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。构件隐 藏了具体的实现,只用接口对外提供服务。构件之问是相对独立的,构件的开发 与使用也是相对独立的,因此,构件可以作为独立单元被使用于不同的体系结构、 不同的软件系统中,实现构件的重用。在不同层次上,构件均可以将底层的多个 逻辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统中,使模块 的重用从代码级、对象级、架构级到系统级都可能实现,从而使软件像硬件一样, 能任人装配定制而成的梦想得以实现。 构件内部包含了多种属性,如端口、类型、语义、约束、演化、非功能属性。 等。其中较重要的是端口和类型,端口是构件与外部世界的一组交互的接口,用 于说明构件提供的那些服务( 消息、操作、变量) ,它定义了软件能够提交的计算 委托及其用途上的约束;构件类型是实现构件重用的手段,它保证了构件自身能 够在体系结构描述中多次实例化。 2 2 构件相关概念 1 构件分类 构件从多个侧面可进行分类【5 】: ( 1 ) 根据构件重用的方式可以分为黑箱构件和白箱构件; ( 2 ) 根据使用的范围可分为通用构件和专用构件; ( 3 ) 根据构件粒度的大小,可分为数据结构构件、功能构件和子系统构件; ( 4 ) 根据功能用途,可分为系统构件、支撑构件和领域构件; ( 5 ) 根据构件的结构,可分为原子构件和组合构件; ( 6 ) 根据构件重用的状态,可分为动态构件和静态构件。 另外,从构件的外部形态来看,构成一个系统的构件可分为5 类: ( 1 ) 独立而成熟的构件。独立而成熟的构件得到了实际运行环境的多次检验, 7 北京交通大学硕士论文 该类构件隐藏了所有接口,用户只需用规定好的命令使用即可。如数据库 管理系统和操作系统等; ( 2 ) 有限制的构件。有限制的构件提供了接口,指出了使用的条件和前提。这 种构件在装配时,会产生资源冲突、覆盖等影响,在使用时需要加以测试。 如各种面向对象程序设计语言中的基础类库等; ( 3 ) 适用性构件。适用性构件对构件进行了包装或使用了接口技术,把不兼容 性、资源冲突等进行了处理,可以直接使用。这种构件可以不加修改地使 用在各种环境中,如户a c t i v e x 等; ( 4 ) 装配的构件。装配的构件在安装前,已经装配在操作系统、数据库管理系 统或信息系统不同层次上,使用胶水代码就可以进行连接使用。目前一些 软件商提供的大多数软件产品都属于这一类; ( 5 ) 可修改的构件。可修改的构件可以进行版本替换。如果对原构件修改错误、 增加新功能,可以利用重新“包装 或写接口来实现构件的替换。这种构 件在应用系统开发中使用得比较多; 2 构件接口 基于构件的开发方法是按照满足预先定义的功能要求将构件集成到应用系统 的过程。每个构件提供服务并向其它构件请求服务。因此,构件接口定义成为关 注的焦点。构件接口是构件间信息通信的机制,是对外展示的窗口。 构件与周围基础设施具有很大的相关性,从构件接口的交互作用角度可以对 构件分成三个部分,如图2 1 所示: l 淼t 、_ h i v i a t n t 。e m 笱缸a l 如。t i i i l t 八 氏p p l i ca t i 姐 l 毛。例 i n t e r f a c e l b 怎玳w 下 i l i 土:一一一一一一一一一- 一一一 一- - 一一- ; i h 灿咖( 。雕a t i n g 哪t e m c 。m m 姐t ca t i s u b 哪t e m ,e t c ) i 图2 1 构件接口模型元素 f i g 2 1m 0 d e le l e m 即to fc o m p o n c l l th l t e 晌c c ( 1 ) 内部接口。该部分描述了构件的内部信息和结构,它提供了构件通过接口 所体现出的真实功能。这部分是私有的,不对其它构件和它所运行的平台 显示; 8 构件相关技术介绍 ( 2 ) 应用程序接口。这些接口定义了与其它构件的交互作用,它们描述了与其 它构件交互的导入导出关系。导出接口描述构件所能提供的功能,导入 接口描述了构件从其它构件所需求的功能。应用程序接口分为直接交互和 间接交互。直接交互是构件知道其它构件的存在,直接调用一个或多个服 务。这种类型的交互在构件闻创建一个直接耦合。问接交互可以通过一个 标准的中间件或核进行交互。一个构件发布它的服务到中间件。其它构件 通过查询可能支持的服务进而发出请求而不需要知道其它构件所处的位 置,如c o r b a 、c o m d c o m 等; ( 3 ) 平台接口。这些接口定义了构件与它所运行的平台之间的交互作用,包括 操作系统调用、基础的硬件技术及通信系统。 3 构件模型 构件模型是构件技术的核心内容,是对构件本质特征的抽象描述,是构件定 义和构件性质的具体化。构件模型定义了构件的本质属性,同时规定了构件接口 的结构以及构件与应用框架( f r a m e w o r k ) 、构件与构件之间的交互机制。 软件构件模型是关于开发可重用软件构件和构件之间相互通信的一组标准的 描述。通过重用已有的软构件,使用构件对象模型的软件开发者可以像搭积木一 样快速构造应用程序。构件模型研究构件的本质特征及构件之间的逻辑关系,是 基于构件的软件开发基础。现有的一些构件模型主要关注构件的交互接口、交互 时序关系、构件之间的连接信息以及封装了构件的内部实现细节,但大都缺乏统 一的描述和兼容性支持。因而使用一种统一描述的模型是解决构件不兼容性的一 个关键。 构件模型通常还提供创建和实现构件的指导原则。一个被构件生产者和使用 者所共同接受的构件模型实际上起到了构件标准化的作用。c o r b a ,c o m d c o m 和e j b 等构件模型构成了实现级构件模型的工业标准。现有的构件模型一般认为 构件由构件接口和构件内容两部分组成。构件接口就是为成功复用该软件实体而 需要提供给外界的所有信息;构件内容是用于直接复用的软件实体,它可以具有 源代码、二进制码、文档、分析设计模型和脚本等不同的物理形态,并遵从一定 的格式标准。 目前,国际上已经形成了许多构件模型,这些模型的目标和作用各不相同。 主要有以下几种模型。 ( 1 ) 参考模型:例如3 c ( c o n c e p t ,c o n t e n ta n dc o n t e x t ) 模型,是学术界普遍认同 的一个具有指导性作用的构件模型; ( 2 ) 描述模型:例如:r e s o l v e 模型,r e b o o t 模型等; ( 3 ) 实现模型:例如:c o r b a 模型,d c o m 模型,e j b 模型。 9 北京交通大学硕+ 论文 这些实现模型将构件的接口与实现进行有效的分离,提供了构件交互的能力, 从而增加了复用的机会,并适应了目前网络环境下大型软件系统的需要。 现有的工业构件主要有三种代表性的构件技术流派,它们分别是对象构件模 型( c o m p o n e n to b j e c tm o d e l ,c o m ) 、e j b ( e n t e r p r i s e j a v ab e a n ) 和公共对象请求代 理体系结构( t h ec o m m o no b j e c tb r o k e ra r c h i t e c t u r e ,c o r b a ) 6 】【7 】【8 1 。它们是由不同 的机构提出的构件技术实现模型和标准,各有优缺点。 ( 1 ) c o r b a c o r b a 构件模型的底层结构为o r b ( o b j e c tr e q u e s tb r o k e r ) 。一个c o r b a 构 件采用i d l ( i n t e r f a c ed e f i n el a n g u a g e ) 进行描述。c o r b a 提供了i d l 到c 、c + + 、 j a v a 、c o b o l 等语言的映射机制i d l 编译器。i d l 编译器可以生成s e r v e r 方 的s k e l t o n 和c l i e n t 方的s t u b 代码,通过分别与客户端和服务端程序的联编,即可 得到相应的s e r v e r 和c l i e n t 程序。 c o r b a 同时提供了一系列的公共服务规范( c o m m o no b j e c t s e r v i c e s s p e c i f i c a t i o n s ) ,其中包括名字服务、永久对象服务、生命周期服务、事务处理服 务、对象事件服务和安全服务等,它们相当于一类用于企业级计算的公共构件。 此外,c o r b a 还针对电信、石油等典型的应用行业提供了一系列的公共设施。 c o r b a 是一种语言中性的软件构件模型,可以跨越不同的网络、不同的机器 和不同的操作系统,实现分布对象之间的互操作。 ( 2 ) d c o m d c o m ( d i s t r i b u t e dc 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 与其它业界厂商合作 提出的一种分布构件对象模型,其发展经历了一个相当曲折的过程。 d c o m 起源于动态数据交换d d e ( d y n a m i c d a t ae x c h a n g e ) 技术,通过剪切粘 贴实现两个应用程序之间共享数据的动态交换。随后,m i c r o s o f t 引入了构件对象 模型c o m ,形成了c o m 对象之间实现互操作的二进制标准。c o m 规定了对象模 型和编程要求,使c o m 对象可以与其它对象相互操作。这些对象可以用不同的语 言实现,其结构也可以不同。基于c o m ,微软进一步将o l e 技术发展到o l e 2 。 其中,c o m 实现了o l e 对象之间的底层通信工作,其作用类似于c o r b a o r b 。 不过此时的c o m 只能作用在单机w i n t e l 平台上。 同时,微软在v b 中引入了可以嵌入任何可视构件的通用模型v b x 。v b x 的 主要局限在于它并不是一个开放的结构,也没有为第三方软件开发商提供v b x 集 成的标准。最后,微软将上述思想集中在一起,以c o m 作为构件通信框架。v b x 也发展为o l e 控件o c x 的形式。d c o m 是c o m 在分布计算方面的自然延续, 它为分布在网络不同节点的两个c o m 构件提供了互操作的基础结构,而所有以 o l e 为标志的技术如今也已挂上了a c t i v e x 标志。 构件相关技术介绍 从c o r b a 的观点来看,a c t i v e x 控件与d c o m 的关系相当于c o r b a 构件 与o r b 的关系。当然,按照微软一贯的产品开发逻辑,微妙的思想都退到了幕后, 而提供给开发者的是一个以w i z a r d 方式生成各种应用的可视化开发环境。在公共 服务方面,微软提出了自己的事务服务器m t s ( m i c r o s o f lt r a n s a c t i o ns e r v e r ) 和消息 队列服务器m s m q ( m i c r o s o f lm e s s a g eq u e u es e r v e r ) 。前者与c o r b a 对象事务服 务目标类似,后者则是为了保证应用之间进行可靠的消息通讯和管理。此外,微 软在网络安全方面也有一整套实用的解决方案。 ( 3 ) j a v a b e a n j a v a 对于软件构件的观点与c o r b a 中的构件观点存在一定的区别。在 c o r b a 中,c o r b a o r b 相当于一根软总线,构件可以即插即用。也就是说,从 c o r b a 的观点看来,所有构件的地位相当,完全是一种平行的关系。而在j a v a 中,软件构件是能够进行可视化操作的可重用软件,它满足一定的特征要求,并 可以根据需要进行定制和组装。 j a v a 的软件构件称为j a v a b e a n ,或者简称b e a n 。按照j a v a s o f i 给出的定义, b e a n 是能够在构造工具中进行可视化操作的可重用软件。j a v a b e a n 的组件模型包 含组件和容器两个基本要素,这一思想在a c t i v e x d c o m 技术中同样存在。作为 一种典型的组件模型,j a v a b e a n 具有属性、方法、事件、内省和永久性等特征。 其中前3 种特征( 属性、方法、事件) 是面向对象的组件必须满足的基本要求, 属性和方法保证b e a n 成为一个对象,而事件可以描述组件之间的相互作用以及组 件与容器之间相互感兴趣的事情。通过事件的生成、传播和处理,构件相互之间 关联在一起,共同完成复杂的任务。而内省和永久性主要侧重于对j a v a b e a n s 组件 性质的刻画。内省用于暴露与发现构件接口。使用内省机制,可以使构件的使用 者了解到构件的属性、方法和事件。永久性是将构件的状态保存在永久存储器中 并能够一致恢复的机制。j a v a 可以通过序列化( s e r i a l i z e ) 实现定制构件的永久性 存储,通过反序列化可以实现构件状态的恢复。 j a v a 又提出了企业j a v a b e a n ( e j b ) 的思想,其结构完全采用基于软件构件模 型的分布对象计算体系,如下页图2 2 所示。 企业j a v a b e a n 各组成部分的含义为: ( 1 ) j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) :基于s q l 标准j a v a 数据库连接,其 基本功能和设计与o d b c 相似; ( 2 ) j a v a r m i ( j a v ar e m o t em e t h o di n v o c a t i o n ) :j a v a 远程方法调用; ( 3 ) j n d l ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) :j a v a 名字与目录服务; ( 4 ) j a v a l d l :j a v a 和c o b r a 之间的连接; ( 5 ) j t s ( j a v at r a n s a c t i o ns e r v i c e ) :j a v a 事务管理服务; 北京交通大学硕士论文 图2 2e n t e r p r i s ej a v a b e a n 的体系结构 f i g 2 2a r c h i t e c t u r eo fe n t e r p r i s ej a v a b e a n ( 6 ) j m a p i ( j a v am a n a g e m e n t a p i ) :j a v a 网络管理a p i ; ( 7 ) j m s ( j a v am e s s a g es e r v i c e ) :j a v a 消息传递服务。 用c o r b a 的观点来看,企业j a v a b e a n 中包括了分布构件的基础结构,也包 括了各类公共服务构件。并且由于j a v a 与生俱来的跨平台性和语言的一致性,使 其成为软件构件模型的一个有力的竞争者。 2 3构件组装技术 2 3 1构件组装技术和方法 构件组装是软件体系结构研究要面对的重要问题。构件组装技术的研究可追 溯到7 0 年代的模块互联语句( m l i ) 。8 0 年代的构件描述语言( c d l ) 和9 0 年代的体 系结构描述语言( a d l ) 则是解决构件组装问题的主要努力。构件组装是指将构件库 中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连 接,最终构成新的目标软件。构件组装技术是基于构件软件开发的核心技术,构 件必须经过组装才能形成应用系统,才能实现构件的价值。构件组装应是自底向 上的装配策略,即从原子构件开始,逐级向上进行组装,直到完成一个具体的用 户需求功能。进行构件组装时,针对不同类型的构件需要采用不同的组装技术和 方法。 1 2 构件相关技术介绍 1 组装技术分类 组装技术大致可以分为基于功能的组装技术、基于数据的组装技术和基于面 向对象的组装技术 9 1 。 基于功能的组装技术采用子程序调用和参数传递的方式将构件组装起来。它 要求库中的构件以子程序、或过程、或函数的形式出现,并且接口说明必须清晰。 这类构件一般粒度较小,侧重于计算,同时与构件开发的环境有关。系统开发环 境与构件的丌发环境不同,一般不能进行直接调用,需要进行改编。 基于数据的组装技术以数据结构为中心,构件的组装方式仍然是传统的子程 序调用与参数传递。这种组装技术也要求库中构件以子程序形式出现,但它所依 赖的软件设计方法不再是功能分解,而是面向数据的设计方法。 基于面向对象的组装技术。由于封装和继承特征,面向对象方法比其它软件 开发方法更适合支持软件重用。在面向对象的软件开发方法中,如果从类库中检 索出来的基类能够完全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷云南省宣威市中考数学真题分类(平行线的证明)汇编专题测试试题(含解析)
- 2025年广播媒体融合发展报告:新媒体环境下转型挑战与机遇
- 物业管理合同法律法规解读
- 推拿治疗学考试题库附参考答案详解【培优b卷】
- 2025版潲水回收与废弃物资源化利用项目承包合同
- 2025年度发展和改革委员会高新技术产业发展合作合同
- 2025版商品房买卖合同智能家居系统安全评估及风险防控合同
- 2025年度智能交通管理系统开发合同
- 2025年度生态旅游区土石方运输及绿化工程合同
- 2025版金融行业招投标保密协议书
- 崔允漷教授学历案:微培训课件设计
- 企业合规管理培训课件讲义
- 《资本论》讲稿课件
- 幼儿园大班美术:《线条画:花》课件
- 燃气具安装维修工(中级)教学课件完整版
- 护理品管圈QCC之提高手术物品清点规范执行率
- 高尔夫基础培训ppt课件
- 有机化学第五章 脂环烃
- 微型钢管桩专项施工方案
- 铁路货物装载加固规则
- 机械加工的常用基础英语名词术语翻译对照大全
评论
0/150
提交评论