已阅读5页,还剩55页未读, 继续免费阅读
(管理科学与工程专业论文)面向构件的电子商务平台的设计与原型实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 电子商务所具有的快速、高效、低成本、高收益率以及竞争性强等特性对传 统企业产生了不可抗拒的吸引力。但是,在实际运作中,软件的重用性差,解释 型的脚本语言运行效率低,数据的安全性差等问题亟待解决。在这一背景下,构 件技术应运而生,并逐渐炙手可热。这一技术思想可以将应用软件所要面临的共 性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万 的应用软件重复使用。 构件技术非常适合电子商务应用系统建模和分析的需求。电子商务应用系统 中通常包括很多基本元素,这些元素对任何一种电子商务应用都是必需和适用的, 将每一种元素作为一个基本的构件,利用这些构件就可以构建一个基本的电子商 务平台。因此,面向构件的系统分析和设计是构建分布式电子商务平台的高效途 径。面向构件来实施电子商务可以提供信息化应用的标准平台,有利于信息系统 标准化工作的开展;它使信息系统能够动态增长,满足业务流程的变化,保障了 电子商务系统的稳定性和可持续性;而且由于其结构的优越性,使维护非常简单, 大大降低了信息系统的维护成本;各种知识通过构件能够持续得以积累,并且可 以在后续的应用系统中重用,从而极大地保护了对软件的投资。 本文首先对构件开发的一般流程和开发模型进行了认真研究,主要包括构件 提取、构件描述、构件实现和构件组装等内容。同时阐述了构件化思想对中间件 本身的促进作用。在此基础上,本文深入研究了面向构件的电子商务平台的开发 流程、原则以及分析设计方法。最后,本文结合实例,对构件技术在电子商务平 台中的应用加以分析,并对其应用实现进行了概括和总结。 关键词:构件;电子商务平台;中间件;建模 英文摘要 a b s t r a c t e c o m m e r c ei sf a s t ,e f f i c i e n t ,l o w - c o s t ,h i 【g h y i e l da n dc o m p e t i t i v e ,a n do t h e r c h a r a c t e r i s t i c so ft h et r a d i t i o n a lc o m p a n i e sh a v ea l li r r e s i s t i b l ea t t r a c t i o n h o w e v e r ,i n a c t u a lo p e r a t i o n ,t h es o f t w a r er e u s a b i l i t yp o o ri n t e r p r e t a t i o no ft h es c r i p t i n gl a n g u a g e r u n n i n gl o we f f i c i e n c y ,p o o rd a t as e c u r i t yi s s u e st h a tm u s tb er e s o l v e d t h i n k i n go f c o m p o n e n tt e c h n o l o g yc a nb ea p p l i e dt os o f t w a r et ot h ec o m m o np r o b l e m sf a c i n gt h e r e f i n i n g ,a b s t r a c t ,i nt h eo p e r a t i n gs y s t e mt o c r e a t ear e u s a b l ep a r t ,f o rt h et e n so f t h o u s a n d so f a p p l i c a t i o ns o f t w a r er e u s e c o m p o n e n tt e c h n o l o g yv e r ys u i t a b l ef o rt h ea p p l i c a t i o no fe l e c t r o n i cb u s i n e s s s y s t e mm o d e l i n ga n da n a l y s i sn e e d s e c o m m e r c ea p p l i c a t i o ns y s t e mu s u a l l yi n c l u d e s m a n yb a s i ce l e m e n t so fa n yo ft h e s ee l e m e n t so nt h ea p p l i c a t i o no fe - c o m m e r c ea n d a p p l i c a t i o na r ee s s e n t i a l ,a sw i l le a c ho ft h ee l e m e n t so f ab a s i cc o m p o n e n t ,w ec a n u s e t h e s ec o m p o n e n t st ob u i l dab a s i ce c o m m e r c ep l a t f o r m c o m p o n e n t - o r i e n t e dt o i m p l e m e n te c o m m e r c et oe - c o m m e r c es y s t e ms t a n d a r d i z a t i o nw o r k ,p r o t e c t i o no ft h e e - c o m m e r c es y s t e ms t a b i l i t ya n ds u s t a i n a b i l i t y ,b u ta l s ot os a f e g u a r dt h ev e r ys i m p l e e - c o m m e r c es y s t e mh a sb e e ng r e a t l yr e d u c e dm a i n t e n a n c ec o s t sc a nb eg r e a t l y p r o t e c t i o no nt h es y s t e mi n v e s t m e n t t h i sp a p e rf i r s tc o m p o n e n to ft h eg e n e r a ld e v e l o p m e n tp r o c e s sa n dd e v e l o p m e n t m o d e lw a sc a r e f u l l ys t u d i e da n dt h em a i nc o m p o n e n te x t r a c t i o n ,c o m p o n e n t d e s c r i p t i o n s ,c o m p o n e n t sa n dc o m p o n e n ta s s e m b l yt oa c h i e v e ,a n ds of o r t h o nt h i s b a s i s ,t h i si n d e p t hs t u d yo ft h ec o m p o n e n t - o r i e n t e de - c o m m e r c ep l a t f o r md e v e l o p m e n t p r o c e s s e s ,p r i n c i p l e s ,a sw e l la sa n a l y s i sa n dd e s i g nm e t h o d s f i n a l l y ,t h i sa r t i c l ew i t h e x a m p l e so ft h ec o m p o n e n tt e c h n o l o g yi nt h ea p p l i c a t i o no fe c o m m e r c ep l a t f o r m a n a l y s i s ,a n di t sa p p l i c a t i o nt oa c h i e v e as u m m a r y k e yw o r d s - c o m p o n e n t ;e - c o m m e r c ep l a t f o r m ;m i d d l e w a r e ;m o d e l i n g 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博士硕士学位论文“西自趁鲑鳆皇王直釜垩鱼的送过墨愿型塞理”。除论 文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在 文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体己经 公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:善大王加脚牛月件日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密函( 请在以上方框内打“) 论文作者签名:姜久以导师签名:7 孕1 嘎” 日期:w 护孑年牛月f 牛日 面向构件的电子商务平台的设计与原型实现 第1 章绪论 1 1 引言 随着社会信息化程度的提高,r r 技术已经深入到社会生活的方方面面,而软 件作为i t 技术应用的核心,其重要性也日渐突出。无论是生产制造、电子商务, 还是服务咨询领域,软件都己成为担当重任的核心力量,互联网和软件已成为推 动新经济发展的重要基础【2 1 。众多的传统企业纷纷开始采用i n t e r n e t 技术转变关键 的业务过程,新型的电子商务也不断涌现,电子商务经济已经伴随形成并逐步发 展。什么是电子商务呢? 简单地说,电子商务就是借助i n t e m e t 及其相关技术进行 业务活动。它不仅仅是i n t e r n e t 在商务领域的简单应用,更是一种新型的商务模式。 它的推广必将彻底改变传统的旧的商务模式,引发一场新经济革命【3 1 。正是由于电 子商务蕴含着如此重大的意义,电子商务的应用开发也就显得尤为重要。如何进 行电子商务的应用开发,如何方便、快捷地构造出企业电子商务应用系统已经成 为一个急需研究的课题。 1 2 构件技术的研究背景与现状 构件技术源于软件工程中的软件重用( r e u s e ) 和面向对象技术( o r i e n t e d0 b j e c t - o o ) ,起初主要是解决分布式应用环境和基于w e b 开发中的通信、效率、异构 平台的互操作、容错性以及异构数据库之间的接口等问题【1 1 。构件技术是计算机软 件技术发展的最新结果,也是多年来计算机科学家所寻求的有效的软件构造方法。 构件是面向对象技术的进一步发展,是以二进制形式存在的软件模块,通过接口 定义语言( i d l ) 描述其功能接口,并提供了i d l 到特定实现语言的映射,使其实 现独立于语言,不同语言开发的构件可相互协调和通信,解决了软件开发中的复 用和互操作问题【4 1 。以c o r b a ,c o m + 为代表的分布式构件具有位置透明性,不 同功能的构件可分布在不同的位置,构件之间可以跨线程、网络空间或机器结构 的边界相互调用与合作以完成复杂的问题,它是支持分布式计算模式的重要技术, 提供了一种“软件总线”的服务,通过将不同语言实现的服务和应用按规范封装 成构件,“挂到”总线上,就能实现彼此之间的通信,无需重新改写和编译原有 系统的代码,有极强的可扩展性和重用性【5 1 。 第1 章绪论 构件方法减少了系统的复杂度( 因为构件并不需要了解其它构件的内部结构, 只需了解构件所提供的服务) 。构件是“独立的、可分发的、可重用的服务的集 合 ,“一种物理上的、可以相互替换的软件模块,这些模块封装了内部的实现, 同时提供了一系列的接口”。归纳起来,构件是“与语言无关的、独立于具体实 现的软件包,具有良好的封装性,通过标准的接口向外界发布服务 6 1 。 目前构件技术主要研究领域包括:构件模型、构件的分析与设计、构件的分 类与检索、构件的复用组装、标准化。构件模型主要是用来描述构件的本质特征 及构件之间的关系;构件的分析与设计研究如何获取满足系统要求的各种构件元 素,有目的的进行构件生产;构件的分类与检索研究构件的分类策略、组织模式 及检索策略,建立构件库及其管理系统,支持对构件的有效管理和使用;构件的 复用组装是在构件模型的基础上研究构件组装机制,包括源代码组装和基于构件 对象互操作性的运行级组装;构件标准化研究构件模型的标准化和构件库的标准 化问题吲。 当今世界发达国家的i t 业界无一不在关注着“软件构件化”的实现,很多软 件产业发达的国家更是投入巨资和人力,建立能适应各种开发目标的构件库,一 些跨国巨型r r 企业也在纷纷建立“构件系统开发与设计 的研发机构。 值得庆幸的是中国的优秀企业正站在同国外巨头相同的起跑线上,其中的典 型代表是上海普元软件。它在2 0 0 5 年8 月针对构件开发者推出全球首家面向构件 成长社区g o c o m ,目前注册开发人员已近1 5 0 0 0 人。与此同时,普元不断带动中 国电信、金融、电子政务、制造业、能源、交通等中国各行业客户的信息化向面 向构件转移。上海市也非常重视软件构件库的建设,在浦东专门成立了“软件构 件研发中心 ,投资2 0 - - 5 0 亿元人民币建立了“上海构件库 及专门网站,有力 地促进和推动了上海软件产业的发展【8 j 。 1 3 本文研究的内容 该课题的目的,是通过研究面向构件的软件开发技术构建电子商务平台。将 面向构件思想运用到电子商务平台的开发中。研究的重点是通过开发可复用的构 件来设计新的系统。 本文研究的内容如下: 面向构件的电子商务平台的设计与原型实现 ( 1 ) 软件构件化技术研究 首先介绍面向构件的软件开发方法的相关概念;重点分析面向构件与面向服 务架构( s o a ) 之间的联系与区别;研究电子商务系统的框架与规划方法,分析 中间件在系统组织层次中所起的作用,阐述构件化思想对中间件本身的促进作用, 提出一种构件化中间件的发展模式。 ( 2 ) 面向构件的电子商务平台的设计 分析面向构件的电子商务平台的特点与设计原则,研究其开发方法;结合开 发中所遇到的问题,利用构件思想对系统进行优化,提出一个面向构件的电子商 务平台的设计方案。 ( 3 ) 面向构件的电子商务平台的原型实现 以电子商务平台开发为研究背景,利用构件技术进行电子商务平台原型的集 成与测试,研究构件化开发方法在原型开发中的应用。 1 4 本人所作的研究及论文创新点 本文的中心工作是研究构件技术在建立电子商务平台中的应用,通过探讨目 前面向构件的软件设计的理论和实践,对电子商务平台的功能结构、构件设计方 法进行讨论和研究。此前曾有学校的老师及学长做过构件方面的研究,取得了优 异的成果。笔者在吸收借鉴的同时,结合近年来构件技术的发展,首先将对构件 技术及系统建模做简单介绍,并从讨论电子商务平台的设计要求出发,分析构件 技术的特点和优势,提出采用面向构件的方法来开发电子商务平台,最后结合电 子商务平台的实例,着重介绍在面向构件的电子商务系统平台中的建模步骤与方 法。 第2 章构件化技术研究 第2 章构件化技术研究 软件行业的工业化趋势导致了构件的产生。能够像硬件系统那样,将部分软 件组合起来构建软件系统,一直是软件行业多年来追求的目标。特别是对于很多 应用软件的开发,若能结合系统的实际情况充分利用已有的软件构件,将会大大 提高生产效率,减少大量的重复劳动。可以说,构件技术的出现是对传统软件开 发过程的一次变革。 2 1 构件技术 2 1 1 构件的概念 构件( c o m p o n e n t ) 是可复用的软件组成成分,可被用来构造其它软件。它既 可以是需求和分析设计阶段的产品或代码,也可以是软件开发过程中的其他产品, 如简单的图形界面中的按钮或复杂的电子表格等。从广义上讲,构件技术是基于 面向对象的,以嵌入后马上可以使用的即插即用型构件概念为中心,通过构件的 组合来建立应用的技术体系。狭义上讲,它是通过构件组合支持应用的开发环境 和系统的总称同。 构件有几个基本属性【8 】: ( 1 ) 构件是可独立配置的单元,因此构件必须自包容。 ( 2 ) 构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外 界没有机会或没有必要知道构件内部的实现细节。 ( 3 ) 构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规 范,可以与环境交互。 ( 4 ) 构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当 与自身副本区别,在任何环境中,最多仅有特定构件的一份副本。 可以看出,构件沿袭了对象的封装特性,但同时并不局限在一个对象,其内 部可以封装一个或多个类、原型对象甚至过程,结构是灵活的。构件突出了自包 容和被包容的特性,这就是作为软件生产线上零件的必要特型9 1 。 构件技术的关键点涉及构件做什么、构件交互的规则、构件存在的环境等, 面向构件的电子商务平台的设计与原型实现 相应在现实中有各种支撑性的技术【1 们,如: ( 1 ) 构件模型,研究构件的本质特征及构件间的关系: ( 2 ) 构件描述语言,以构件模型为基础,解决构件的精确描述、理解和组装 问题; ( 3 ) 构件分类与检索,研究构件的分类策略、组织模式及检索策略,建立构 件库系统,支持构件的有效管理; ( 4 ) 构件复合组装,包括源代码级的组装和基于构件对象互操作性的运行级 组装; ( 5 ) 标准化,包括构件模型的标准化和构件库的标准化; ( 6 ) 软件构架,研究如何快速、可靠地应用可复用构件系统进行系统构造的, 着重于软件系统自身的整体结构和构件间的互联。 2 1 2 构件的获取 为了实现复用,构件必须具有一定的、面向领域的通用性,构件所提供的功 能能够为多个系统所复用。因此构件的抽取、功能的定义将是要解决的第一个问 题。软件复用的研究表明,特定领域的软件复用更容易取得成功,而特定领域的 软件构件的获取一般采用领域工程技术,即进行系统建模和特定领域的软件体系 结构设计,对特定领域的软件在功能上进行划分。另外,由于构件技术是在面向 对象技术的基础上发展起来的,加上面向对象技术自身的抽象、继承、封装性, 那么在领域工程的基础上,采用面向对象的系统分析方法进行构件的抽取就比较 合适了【l l 】。 领域知识的内聚性和稳定性能够为软件复用活动提供足够的可复用资产和潜 在的经济利益,内聚性保证了领域具有足够的共性,而稳定性保证了对获取可复 用资产进行的投资能够获得足够的回报。软件复用的研究和实践表明,特定领域 的软件复用活动相对容易取得成功。、 2 1 3 构件实现的技术规范和标准 当前三个主流的构件模型为:对象管理组o m g 组织提出的公共对象请求代理 体系结构c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) ,m i c r o s o f t 公司提 出的c o m d c o m c o m + ,s u n 公司的e j b r m i 。下面分别介绍这三种构件技术规 第2 章构件化技术研究 范。 ( 1 ) c o r b a c o r b a 是一种应用软件体系结构和对象技术规范,其核心是一套标准的语 言、接口和协议,以支持异构分布应用程序问的互操作性及独立于平台和编程语 言的对象重用。c o r b a 的核心思想是采用标准的接口定义语言( i d l :i n t e r f a c e d e f i n el a n g u a g e ) 将软件接口与软件实现相分离,这样才能在异构平台上开发出灵 活的分布式应用程序。i d l 也是一种面向对象的接口定义语言,用于指定包含操作 和属性的接口,接口可以继承。可以映射到多种现有语言( c ,c + + ,j a v a 等) , 使c o r b a 构件的开发与具体语言无关【1 2 】。 对象请求代理o r b 是c o r b a 的核心,定义了c o r b a 对象总线,即定义了 异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间 c l i e n t s e r v e r 关系的中间件。o r b 是支持c o r b a 构件相互作用的“软总线 ( s o f t w a r eb u s ) ,服务性构件可以向它登记注册,当客户性对象需要某种服务时, 可以向它发出请求,o r b 负责搜索己在其“注册登记了的服务性对象,找到后 启动该服务,传送请求给该服务性对象,并将结果传送回给客户性对象。o r b 屏 蔽了对象的通信机制、位置、实现等,提供了异构分布式环境中应用之间的互操 作性,同时也保证了多种对象系统之间的无缝连接。 ( 2 )c o m d c o m c o m 技术是m i c r o s o f t 推出的,它是一个二进制代码的标准。c o m 是一套为 构件架构设置标准的文档形式的规范。它定义了一些为保证能互操作,客户构件 必须遵循的标准。c o m 的发布形式是:以w i n 3 2 动态链接库( d l l ) 或者可执行 文件( e x e ) 的形式发布。d c o m 是分布式组件对象模型,它是c o m 的扩展, 允许c o m 组件在分布式环境里相互通信的服务。c o m d c o m 支持组件的“即插 即用”,c o m 构件开发过程简单,容易入手【1 3 】。 ( 3 ) j a v ab e a n s e j b j a v ab e a n s 和e j b 都是组件模型规范,前者说明开发工具中应用程序组装的问 题,后者则侧重于部署组件的服务框架的细节。两者的区别是当使用j a v ab e a n s 创建服务器应用时,必须自己设计整个的服务框架。而用e j b 有现成的框架,唯 面向构件的电子商务平台的设计与原型实现 一的要求是必须遵守它的a p i 。对于复杂的应用,显然后者更简单。s u n 发布的 文档中对e j b 的定义是:f a b 是用于开发和部署多层结构的、分布的、面向对象 的、跨平台的j a v a 应用系统构件体系结构,e j b 把j a v a 的“w r i t eo n c e ,r u na n y w h e r e ” 的思想提到一个新的高度。 e j b 是j 2 e e 技术规范中的一部分,依照e j b 规范开发的j a v a 构件称为e j b 构件。f a b 构件中除了定义一个封装业务逻辑的类以外,还要定义供客户端访问的 远程接口( r e m o t ei n t e r f a c e ) 及内部接口。当部署e j b 构件到应用服务器时,还 需要定义相应的部署描述符。e j b 构件要按照e j b 规范编写,然后部署到应用服 务器上。e j b 构件运行在e j b 容器中。e j b 容器是应用服务器的一部分,该部分 软件不单为e j b 容器提供运行时的环境,更重要的是提供事务、会话管理、持久 性、安全等服务。e j b 容器通过查看f i b 的部署描述符确定e j b 需要哪些服务。 客户机要访问e j b 需要通过j n d i 和r m i 定位e j b 的对外接口1 1 4 】。 以上三种构件模型各有其优势和不足,会在竞争中融合、演变,也会在较长时 间内共存。但三种技术的核心任务是一致的,它们采用面向对象的方法给出了软 件构件的定义,即如何构造构件对象,同时给出一套构件间跨进程、跨网络、跨 操作系统相互请求服务和提供服务的通用规范。与此同时,为了增强构件运行的 稳定性、系统的可伸缩性,提供规范的安全服务、事务服务等等,分布式构件技 术还包括了一组通用的对象服务以及使用规范,从而提供完整的分布对象运行环 境,为快速开发可靠实用的多层体系结构的应用软件创造了条件【l 引。 2 1 4 构件的管理 如果生产出来的构件只是分散、孤立地存在于某个地方,构件信息无法被人 获知、评测,这样的构件是毫无复用价值的。构件需要一个可以被潜在的用户检 索、评估、提取的支撑环境。该环境支持构件完整的生命周期,提供构件开发、 包装、调试、部署、监控及管理维护服务。随着复用实践的深入,组织内部将会 积累大量自主开发的构件、购买的商业c o t s ( c o m m e r c i a l l y o f f - t h e s h e l f ) 构件 和其它组织开发的n d i ( n o n d e v e l o p m e n t a li t e m ) 构件。这些可复用构件构成了 庞大的企业资产,实践中构件数量不断增长、构件也随技术和领域演化而更新, 要在众多的构件中寻找用户所需构件必须借助于自动检索工具的支持。另一方面, 第2 章构件化技术研究 对单个构件的复用可以划分为构件的识别和检索、构件理解和适应性修改三部分, 其复用成本公式为【1 7 】: 复用成本= 检索成本+ 理解成本+ 修改成本 有效的构件检索机制能够大大降低构件检索和理解的成本,而构件库作为分 类、管理和检索构件资产的基础设施就变得十分重要。为实践中的复用项目提供 了技术支持。构件库与构件分类的出现正是要完成这样的功能,合理而有效地使 用构件库是软件复用成功的关键。 构件库是按照一定的语义和组织结构形成的一个构件的集合,是基于构件的 软件开发最重要的共享资源。对于基于构件的开发过程开发人员必须和构件库打 交道,因此,构件库管理工作平台不仅要提供对构件的自动检索,还要提供对构 件的查询、浏览、扩充的功能。构件库作为一个管理用户构件的工具,对于构件 库的分类检索、实现过程、组织和维护方法必须遵循一定的规则。构件库管理应 覆盖的功能如图2 1 所示【1 8 】。 面向构件的电子商务平台的设计与原型实现 。 构件入库 、 ( 、 夕 吴二 c j 图2 1 构件库管理应覆盖的功能 f i g 2 1c o m p o n e n tl i b r a r ym a n a g e m e n tf u n c t i o n ss h o u l db ec o v e r e d 对构件库管理系统的基本要求包括以下几个方面【1 9 】: ( 1 ) 构件库定义功能 对构件库的结构进行描述;构件库完整性的定义;安全保密定义( 如用户口 令、级别、存取权限) ;存取路径的定义。这些定义存储在数据字典中,是构件 库管理系统运行的基本依据。 ( 2 ) 构件存取功能 第2 章构件化技术研究 提供用户对构件的基本操纵功能,实现对构件库构件的检索、插入、修改和 删除。一个好的构件库管理系统应该提供功能强且易学易用的构件操纵语言、方 便的操作方式和较高的数据存取率。 ( 3 ) 构件库运行管理功能 这是构件库管理系统运行时的核心部分,包括构件识别、构件执行、构件库 内部的维护( 如索引、构件字典的自动维护) 等等。所有构件库的操作都要在这 些控制程序的统一管理下进行,以保证系统的正确运行和构件库的正确有效。 ( 4 ) 构件组织、存储和管理功能 构件库管理系统要分门别类的组织和管理各类构件,要确定以何种结构和存 储方式在存储级上组织这些构件,如何实现构件之间的联系。构件组织和存储的 基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。 ( 5 ) 构件库的建立和维护 与数据库类似,包括构件库的初始建立、构件库的转储和恢复、构件库的重 组织与重构造以及性能监测分析等功能。 2 2 构件化开发方法 2 2 1 构件化开发思想 基于构件的开发( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,简称c b s d ) 或基 于构件的软件工程( c o m p o n e n t - b a s e ds o f t w a r ee n g i n e e r i n g ,简称c b s e ) 是一种 软件开发的新范型。其出发点是:应用系统的开发不必一切“从零开始 ,可以 在已有工作的基础上,充分利用过去应用系统开发过程中积累的知识和经验,以 软件体系结构为组装蓝图,以可复用软件构件为组装“部件”,支持组装式的软 件开发。c b s d 是在一定构件模型的支持下,复用构件库中的一个或多个软件构件, 通过组合手段高效率、高质量地构造应用软件系统的过程。由于以分布式对象为 基础的构件实现技术日趋成熟,c b s d 已经成为现今软件复用实践的研究热点,被 认为是最具潜力的软件工程发展方向之一f 2 0 1 。 基于构件的开发任务包括创建、检索和评价、适配( a d a p t a t i o n ) 、组装、测 试和验证、配置和部署( d e p l o y m e n t ) 、维护和演进,以及遗产系统( 1 e g a c y s y s t e m ) 面向构件的电子商务平台的设计与原型实现 的再工程( r e e n g i n e e r i n g ) 等主要活动,它们与传统的生命周期中的方法不尽相同。 首先,c b s d 采用以构件库为中心的开发模式,构件检索和评价是c b s d 的一项 关键任务,这里所理解的构件库不仅仅是一个独立的数据库,而是广泛的、一切 可获得的构件资源,尤其是通过互联网发布的软件构件。其次,构件形成是一种 在软件体系结构支持下的组装过程,也就是说,在应用领域里需要用d s s a 将独 立的构件组装成完整的应用系统,可见构件的匹配和一致性验证也成为c b s d 的 关键任务。再次,c b s d 过程中需要同一些技术标准化接轨,相同的构件可能由多 个软件供应商生产,被多个用户使用,所以构件接口、构件基础设施必须标准化。 最后,c b s d 需要配置管理( c o n f i g u r a t i o nm a n a g e m e n t ) ,即专门处理构件的集 成、配置和发布( d i s t r i b u t i o n ) 的有关事宜,于是构件的配置、适配和部署都是 c b s d 的关键任纠2 1 1 。 2 2 2 构件化开发过程 构件化开发过程可以分为需求分析、设计、实现( 编程) 与测试这几个阶段, 但是每个阶段的工作内容和工作重点与传统开发方法有很大的不同。下面对这几 个开发阶段进行简要介绍【2 2 】: ( 1 ) 需求分析 在系统的需求分析阶段复用软件构件是实现大规模软件复用的关键,它将直 接影响到对构件库中各种构件的复用机会。对分析构件的复用大大增加了对应的 设计件和代码件复用的可能性,同时又可缩短需求分析所花费的时间,保证系统 各部分间的互操作性。需求分析的任务是定义出完整的、一致的、并且可实现的 系统需求。在进行需求分析时,应首先查询构件库,根据用户需求确定构件库中 是否有相似的构架和子系统,或在该领域中是否有对应的领域分析构件。对构件 库中没有的软件部分,要对其进行充分的分析,找出今后可能复用的部分,将其 设计成构件,加入到构件库中。 ( 2 ) 设计 需求分析是为了解决一个系统要“做什么”的问题,设计是要解决“怎么做” 的问题。软件设计是进行软件复用的关键阶段,它在开发过程模型中起着“承上 启下”的作用。一方面,它要继续贯彻在需求分析阶段开始的软件复用,即将需 第2 章构件化技术研究 求分析阶段复用机会,即在构件库中找出更多的设计构件来复用,这样也为编码 阶段创造了更多的复用机会。 基于构件的设计过程和需求分析过程相似,也是首先查询构件库提取出可复 用分析件对应的设计构件和其它的可复用设计件,然后对其余部分进行设计,并 将新的设计件提交给构件库,最后将所有设计部分进行集成。 ( 3 ) 实现 在编码实现阶段将贯彻和继续在需求和设计阶段开始的复用,并可以识别出 对底层构件的新的复用机会。这主要涉及到将代码构件集成到开发的系统中,同 时构件的修改也是一个要重点考虑的问题。 对来自构件库的构件照例要进行测试( 类似于回归测试) ,包括单元测试和 集成测试,不论对构件是否作了修改。当构件自身带有适当的测试材料时,应该 把这些测试材料作为正常的项目单元测试和集成测试的一部分,用于验证构件的 正确性和功能性。在测试过程中对构件的任何修改都必须同时进行测试。所有新 的测试材料都要提交给构件库,作为该构件相关测试材料的一部分。构件没有带 有适当的测试材料时,就必须由本项目根据项目的测试标准生成测试材料。项目 可以考虑只对构件中用到的功能进行测试。 2 2 3 构件化开发方法特点 ( 1 ) 开发的质量高。可复用的构件在开发过程中,都经过严格的测试。复用 过程中,其中的错误会被陆续的发现,并得到排除。 ( 2 ) 开发的效率高。使用现成可用的可复用构件( 如应用框架、用例、分析 和设计模型、函数库、子程序库、类库、二进制构件库等) 比从头开始进行开发 在开发效率上大为提高。 。 ( 3 ) 开发的成本低。使用可以重复使用现成的构件比重新开发的成本大为节 省,避免不必要的重复开发和浪费。 ( 4 ) 软件的可维护性与可扩展性好。构件封装了内部设计和实现,仅向外部 提供接口,这使得软件的维护只涉及到构件本身,增强了软件的可维护性。同时, 构件的接口是标准的,这为软件的扩展提供了保证【2 3 1 。 面向构件的电子商务平台的设计与原型实现 2 2 4 面向构件的概念与特点 面向构件的开发是一种软件开发手段,在开发周期的不同阶段和不同方面一 一包括需求分析、结构、设计、建立、测试、上线、支撑性技术架构、项目管理 等,都以构件为基础。该定义把面向构件的开发外延,从运用面向构件的思路建 立软件,扩展到了整个软件开发周期它的所有阶段和所有方面都以构件为中 心,这比基于构件开发前进了一步【2 4 1 。如果希望构件可随时用于组装,这些构件 必须作为项目的零件来建造,此时面向构件显得特别有优势。确实,尽管这些构 件尚未面世,用构件法来构思电子商务系统,仍是目前控制大型分布式系统开发 复杂度的最佳方法。 面向构件不是为了推翻基于构件的思想。相反,面向构件借鉴了基于构件的 开发思想;同时,当某些构件尚未面世( 或市场上还没有符合要求的构件) 的情 况下,用构件化的思想和方法开发软件实体,从而构造( b u i l d i n g ) 系统。可以说, 面向构件方法借鉴了基于构件方法的核心思想,不同的是,将构件化的思想由基 于构件进行组装向前推至,为能进行组装而开发符合要求的构件,使得整个软件 开发周期它的所有阶段和所有方面都以构件为中心【2 5 1 。 面向构件的优势在于【2 6 1 : ( 1 ) 承前启后。面向构件涵盖了软件开发中的方方面面:从构思和生产个体 构件,到经济地把构件组装成系统或联合系统,以及这些系统和联合系统的演变。 作为一种手段,面向构件建立在所有最成功的技术、原理和过去的最佳实践基础 上,从而得出一种涉及大型软件生产及其产业化支撑的软件开发理论和实践。面 向构件不仅保留过去所有手段的优点,而且还在包括面向对象手段和分布式对象 手段的同时,解决了其局限性。 ( 2 ) 能控制开发的复杂度。目前,领先的机构在采用面向构件时,主要是在 大型系统开发中运用该手段,利用其以结构为中心和以可重用性为中心的特点, 来控制项目的复杂度和风险。面向构件提出了完美的方法来划分业务域。面向构 件能控制用构件组装大型系统产生的复杂度,而非建立这些构件。 ( 3 ) 改变了信息系统的本性。也许最重要的一点要归结到影响深远的关联性, 它引起软件的本性产生根本性交化。它从根本上撼动了概念,我们需要重新对应 第2 章构件化技术研究 用作定义。在运行时,构件变得高度可见,这样一来就影响到了软件建立、组装、 上线、测试、演变、市场推广和销售的方式。面向构件的开发不仅是一种开发手 段,还是一种上线手段,并由此引出新的市场推广方式和软件解决方案的购买方 式。 ( 4 ) 使自治开发零件成为可能。用一套类似于自治配备单位的方式构造信息 系统,可支持高度并行开发、测试和上线这样一个新的充满挑战的机会。挑战来 自于不同的结构层,还有用自治构件真正实现并行开发所需要的概念。 ( 5 ) 能控制上限复杂度。把整个开发流程组织在构件周围,是一种能降低开 发所有阶段的复杂度和成本的有效机制。在系统演变期,这样的成本降低效果更 为显著,因为大量的系统改变或修正仅仅影响到某个构件。 ( 6 ) 涵盖开发的方方面面。面向构件的开发可以通过类似以下手段实现:在 开发的所有方面都运用同一套精炼的统一概念。例如,组织内部的分布式构件及 其延续性可用这种方法定义;通过这样的手段可以同时进行数据库建模和构件建 模,只要两者之间没有实质性分离,就可以适用同一套原理。 ( 7 ) 涵盖整个软件生命周期。面向构件理论针对和顾及了完整的软件生命周 期。它不仅涵盖了非常重要的开发周期,也涵盖了维护、上线、个性化等工作。 整个软件供应链都受到以构件为中心手段的影响并得到简化。 ( 8 ) 缩短了上市时间。成熟的面向构件开发,会显著减少软件开发上市前所 需要的时间。当使用构件框架和面向构件的模板时,这一点尤为显著。它使得通 过现成的构件组装新系统变得高效和简便,把开发时间减少到我们今天看来难以 置信的程度。 2 3 面向构件的中间件 2 3 1 中间件及其特性 为解决分布异构问题,人们提出了中间件的概念。所谓中间件就是位于平台 ( 包括硬件和操作系统) 与应用之间具有标准的协议与接口的通用服务,它是基 于分布式处理技术的一类软件,介于应用软件和系统软件之间,既能解决客户与 服务器方的互联,还要实现应用之间的互操作阳。中间件在整个分布式多层应用 面向构件的电子商务平台的设计与原型实现 体系结构中的主要作用是传递客户请求并能够在网络空间中对客户指定的服务对 象进行定位。在多客户应用条件下,中间件还可以实现对多客户的请求线程进行 协调,使系统具有对并发事件的处理能力。 随着网络计算应用技术的不断发展,中间件软件系统的设计和研发日益成为 软件应用开发中的新领域。每个客户机服务器应用环境中,从小规模的局域网环 境到整个i n t e m e t 环境,如果要构建理想的分布式应用均需要使用某种形式的中间 件产品。无论客户机向服务器发送请求还是服务对象向客户端传递计算结果,都 有某种形式的中间件在进行应用数据和对象状态的传递,从而构成完整的客户机 服务器通信链路,用以消除通信协议、数据库查询语言、应用逻辑及操作系统之 间潜在的不兼容问题。中间件系统应具备下面几个特性【冽: ( 1 ) 封装性:中间件对象将其内部实现细节和方法封装起来,同时又向外部 提供精确定义的方法调用接口,从而降低了应用系统的复杂性、增强了软件复用 性。 ( 2 ) 平台无关性:实现对象的跨平台应用,开发人员可以在更大的范围内选 择最实用的对象加入到自己的应用系统之中。 ( 3 ) 语言无关性:分布式系统中的一个软件模块可以应用另一个模块的功能 而不需要考虑其编程语言和运行环境使开发人员可以在更大的范围内相互利用对 方的编程技能和成果。 2 3 2 电子商务中间件 一 电子商务的本质就是对处于分布环境中的各种计算机系统进行交流协调,从 而开创新的商业运作模式。网络通信,尤其是互联网技术,是电子商务的通信基 础,而管理和传输系统之间的业务信息、协调各个系统的处理模块的中间管理服 务系统,是保证电子商务应用成功的关键【2 9 1 。电子商务应用服务器、通用业务网 关、支付网关、通信平台和安全平台,统一纳入电子商务中间件框架的范畴。 中间件在电子商务中的应用应包含以下层次【3 0 】: ( 1 ) 电子商务安全平台:这是电子商务安全性的保证。是建立在一系列相关 国际标准之上的、以公钥和私钥加密算法为核心的一个开放式安全应用开发平台, 基于安全平台可以开发、构造各种安全产品或安全应用系统,如用于文件加解密 第2 章构件化技术研究 的安全工具、认证系统( c a ) 、虚拟专用网( v p n ) 、安全网关及其它的需加强 安全机制的应用系统、电子商务的安全性包括保密性、完整性、可用性、合法性 以及认可五个方面组成数据的保密性,指数据传输和存储过程中,采用加密传输, 数据不被别人窃取、遗漏、篡改和破坏数据的完整性。 ( 2 ) 电子商务应用平台:提供电子商务不同应用类型的生成工具软件,如网 上商店、购物车、网上监督、网络支付、虚拟社区等等。 ( 3 ) 电子商务交换平台:对内集成企业内部的各种与电子商务相关的业务系 统,对外连接商业合作伙伴,如银行、供应商、客户、政府管理部门、配送结构, 完成各种不同业务系统之间数据转换和整合。 ( 4 ) 电子商务基础平台:用来支持大量i n t e r n e t 客户的并发访问,使应用开 发商快速开发出灵活多变的电子商务应用,尽快把信息系统和商务活动放到 i n t e m e t 中。在电子商务交换平台和电子商务基础平台中都不能没有中间件的存在。 可以说,没有中间件就不能支撑今天的网络应用。电子商务中间件构架是一种电 子商务应用集成的关键件,不管电子商务应用分布在什么硬件平台上,使用了什 么数据库系统,透过了什么复杂的网络,电子商务应用的互连和互操作是电子商 务中间件构架首先要解决的问题。在通信方面,电子商务中间件构架要支持各种 通信协议和通信服务模式,传输各种数据内容,数据格式翻译、流量控制、数据 加密、数据压缩等等;在电子商务中间件构架核心,要解决名字服务、安全控制、 并发控制、可靠性和效率保证等;在电子商务应用开发方面,要能提供基于不同 平台的丰富的开发接口,支持流行的开发工具和异构互连接口标准等;在管理方 面,解决电子商务中间件构架本身的配置、监控、调谐,为电子商务应用的易用 易管理提供保证。其次,针对不同的w e b 应用环境,对电子商务中间件构架有各 种不同的要求。对工作流应用,需要根据条件以及条件满足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 论文的标准格式及写作规范讲解
- 医学论文写作心得体会
- 毕业设计字体要求
- G省SY银行“大零售”业务市场营销策略研究(MBA毕业论文提纲)
- 天麻改善睡眠功能的实验研究
- MBA毕业论文答辩应注意的问题2
- 35kV电抗器故障原因分析及处理
- 论文导师评语范文
- 数控机床可靠性现状及其改善对策研究
- 会计毕业论文题目参考专题-论文格式-
- 顶管测量专项方案
- 山西润恒化工有限公司新建10万吨己二腈项目环评报告
- GB/T 528-1998硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- GB/T 14691-1993技术制图字体
- GA 838-2009小型民用爆炸物品储存库安全规范
- 高考作文论证方法之对比论证的运用-课件
- 大会-冠脉微循环障碍课件
- 国考行测真题及解析
- 中国女排(精选)课件
- 废气处理专业设备酸雾净化塔技术方案书
- 无利息借条最新的范本(标准版)
评论
0/150
提交评论