已阅读5页,还剩60页未读, 继续免费阅读
(管理科学与工程专业论文)运用组件技术构建三层结构的客户机服务器系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 小文t 要研究如何运_ f _ f j 组件技术构建三层结构的客户机服务器系统。第 部分介绍三层结构的客户机服务器系统的概念,第二部分是作者参加开发 的俐j :商店舯信息系统的j :要过秤。 、筇1 部分刚顾客广机服务器系统这一概念的形成、发展过程,概括出系 统进行层次划分的依据,将系统从逻辑上划分为表示层、业务层和数据层,引 层结构祥户机服务器系统的概念。组件技术是三层结构客户机服务器 系统的攘i i j l :,神! 分析了组件的概念、分类后,本文着重比较了三种主流组件模 j 性,t t l j c o m 、e j i j 和c o r b a 。作者比较这三种组件模型如何用不同的技术方案构 心l l i 务层、表示层和数据层,在他人的观点的基础上提出了自己的看法。 第二部分从纽件技术的运用( 实际系统采用的是微软技术方案) 出发,描述 州i :商店系统的开发过程,重点是分析和设计阶段。分析阶段是提出问题域的 分析模型:设计阶段是提出解题域的设计模型,包括子系统和层次划分,然后 依次1 喇述数据层、业务层和表示层具体设计工作:数据层侧重于数据持久对缘 i 1 7 j 设计;、i k 务层侧重二r 实体对象和过程对象的设计。接着是作者在开发过程t l , 的刈运用纸件技术构建三层结构系统的一些体会,重点是、也务对象的分析与设 i i 。 史章最肝展单未来组件技术的发展对三层结构客户机服务器系统的影 响。丫 父趾+ ,:- f t q 女术、客,1 t 机服务器系统、三层结构 分类l j :丁p 3 c o m p o n e n t b a s e d d e v e l o p m e n t o ft h r e e t i e rc f i e n t s e r v e rs y s t e m a b s t r a c t ,i h l sa r t i c l ef o c u s e so nt h ed e v e l o p m e n to ft h r e e t i e r c l i e n t s e r v e rs y s t e mb a s e d o nt h ec o m p o n e n tt e c h n o l o g y t h ef i r s tp a r to fi td i s c u s s e st h ec o n c e p to ft h r e e t i e r ( ? l e n t s e r v e rs y s t e m a n d 小es e c o n dp a r td i s c u s s e st h ed e v e l o p m e n te x p e r i e n c eo fa p l a c t i c a lr e f o r m a t i o ns y s t e mo fai n t e r n e ts h o p l h ef i r s t p a r tr e t r o s p e c t t ot h ep r o c e s so ft h e f o r m i n ga n dd e v e l o p i n go f t h e c o n c e p t o fc l i e n t s e r v e r s y s t e m ,t h e n i n t r o d u c e st h ec r i t e r i o no nt h ed i v i s i o no f c l i e n t s e r v e rs y s t e m t h u st h ec o n c e p to ft h r e e t i e rc b e n t s e r v e rs y s t e mi sf o r m e db y d m d m g i tt op r e s e n t a t i o nt i e r , b u s i n e s st i e ra n dd a t at i e r c o m p o n e n tt e c h n o l o g yi st h e f i m n d a t i o no ft h r e e t i e rc l i e n t s e r v e rs y s t e m a f t e rt h ed i s c u s s i o no ft h ed e f t n i t i o na n d c l a s s i f i c a t i o no f c o m p o n e n t ,t h ea r t i c l ee m p h a s i z e so nt h ec o m p a r i s o n o ft h r e e d o m i n a n tc o m p o n e n tm o d e l s :c o m ,e n t e r p r i s e1 a v ab e a n sa n dc o r b a t h ea u t h o r 1 ) t i tf i l r w a r d1 f i so x v oo p i n i o no nt h ec o m p a r i s o nb a s e do t h e r s w o r k st h r o u g ht h ea n a l y s i s o fl i o wt i l et h r e em o d e l su s i n gt h e i ro w n t e c h n o l o g i e st oc o n s t r u c tt h ep r e s e n t a t i o nt i e r , h l l s i n e s st i e ra n t ii l a t at i e r t i l es e c o n dp a r td e s c r i b e st h ed e v e l o p m e n tp r o c e s so ft h ep r a c t i c a ls y s t e mf r o m t i l e a s p e c to fh o wt oa p p l yc o m p o n e n tt e c h n o l o g y , w h i c hi n t h i sc a s ei sm i c r o s o f t s s o l u t i o n ,i nt h ed e v e l o p m e n tp r o c e s s ,e s p e c i a l l yt h ea n a l y s i ss t a g ea n dd e s i g ns t a g ei nt i l e a n m y s i ss t a g e t i l em a i nw o r ki st oc o n s t r u c ta na n a l y s i sm o d e li nt h ep r o b l e md o m a i n , w h i l et h ed e s i g ni sad e s i g no n ei nt h es o l u t i o nd o m a i nt o d e s i g nt h es y s t e m ,f i r s td i v i d e t i l e s y s t e mt os u b s y s t e m sa n dt i e r s ,w h i c hi nt h i sc a s ei st h r e et i e r s ,t h e nd e f i n et h ed e t a i l m o d e lo ft h et h r e et i e r st h e e m p h a s i so ft h ed a t at i e ri s t h ed e s i g no fp e r s i s t e n td a t a o b j e c t ,w h i l et h eb u s i n e s st i e ri sd a t ac e n t r a lo b j e c ta n db u s i n e s sc e n t r a lo b j e c t t h e nt h e a u t h o rp u t sf i ) r w a r dh i s e x p e r i e n c e a n du n d e r s t a n d i n go nh o wt o a p p l yc o m p o n e n t t e c h n o l o g yt o c o n s t r u c tt h r e e t i e rc l i e n t s e r v e rs y s t e m ,f o c u s i n go nt h e a n a l y s i s a n t i d e s i g no fb u s i n e s so b j e c t s i nt h ee n do ft i l ea r d c l e ,t i l ea u t h o rp r o s p e c t st h et h r e e t i e rc l i e n t s e r v e rw i t ht h e n f h l e o c eo ft h ep r o g r e s so fc o m p o n e n t t e c h n o l o g y i nt h ef u t u r e n e y w o r d :c o m p o n e n t ,f ;l i e n t s e r v e r , t h r e e t i e r 运川细仆技术构建:二层结构的客户机服务器系统 运用组件技术构建三层结构的客户机服务器系统 1 前言 客户机j | 髓务器( c f i e n t s e r v e r ) 计算方式的h 现是计算技术r p 重要的进步, 它:悔应用系统从集中式的主十j l i i 寸代和单机应用巾解放出来。它以关系型数据库 技术平| l 网络技术为基础,使得大规模的分布式网络应用成为可能。c s 已经比 较成熟,日i 讨绝大多数应用系统是基于c s 技术构建的系统。c s 计算方式将应 川系统从逻辑i | 分成客j o 机和服务器两部分,客户机向服务器提 n 请求,服务 : ;向客户机提供相关服务。以这样的方式构建的系统,服务器端的应用主要建 、,m 数据库系统卜,负责数据的存储、维护、检索,向客户端提供数据访问f f q 接f 1 ,客户机端的应用向用户提供界面,利用服务器的数据按广j 访问数据,处 理、j k 务。 随着系统应用环境的变化,传统的c s 系统越来越不适应环境剥系统的要 求:企业的业务要经常改变以适应经营环境的变化,而应用系统要适应业务的 变化,这种情况从用j o 界面、_ k 务处理和数据存储等多方面都剥系统的结构提 了更高的要求。尤其是i n t e r n e t 环境下基于w e b 方式的应用,界面在客户端的 浏览器:显示,这就要求系统从逻辑上把客户界面、业务处理和数据存储分离 j t :来,h k 务处理的变化尽可能不影响用户界面和数据存储。这样传统b g c s 系 统就变成了i 层结构的c s ,即由表示层、业务层和数据层构成的c s 。表示层 f l 贲提供用户处理业务的界而,业务层负责处理业务逻辑,完成j 务流程,数 据层提供数据存储、检索、维护和数据访问接口。从层次之间提供服务的观点 束说,这是在两层c s 綦础上的扩展,业务层为表示层提供服务,数据层为业 务层提供服务,后者在前者的基础上完成自己的功能。 分布式对象计算技术为构建三层结构的c s 系统从技术上提供了可能。在 此j 。i :一l 发展起来的组件技术成为三层结 s c s 系统的基础。组件是基于二进 制代码的可复用的软件啦位,应用系统可以山组件构成。运用组件技术构建三 层结构的c s 系统时,需要在组件框架( c o m p o n e n tf r a m e w o r k ) 基础上用业务组 什构成巾问层即业务层。组件框架结构提供了分布式计算技术中的中间件,为 、f k 务组件提供基础服务,包括目录服务、安全服务、消息服务和事务服务等。 二层结构的t ”问层就是由存在于组件框架中的业务组件构成的,向数据层访问 数据,向表示层提供基于组件的业务服务。 基y - w e b 的应用系统是i n t e r n e t 环境下特殊的c s 系统。这时系统的表示层 客,1r 端的浏览器和存在于w e bs e r v e r 上的页面来提供,但是并不是所有的基于 w e t ,的系统都足三层结构的c s ,关键在于有没有逻辑上独立的业务层。因为虽 然浏览器在客户端,但浏览的内容r i h t m l 页面在w e bs e r v e r 上,所以表示层足 分柏】的。如果浏览器中的页面使用的是3 a v aa p p l e t 、a c t i v e xc o n t r o l 等技术或是 使川c g i 、a s p 等服务器端的应用或脚本来直接访问数据库,实现业务逻辑都不 足完全意义l :的三层结构。存在独立的业务层,由服务器端的应用! i , c g i 程序 或脚本程序o n a s p 通过该层实现业务,而不是直接访问数据层,这样的w e b 应刚 l 足王层结构的系统。关于b s ( b r o w s e r s e r v e r ) 的提法只是反映了基于w e b 的应 j 玎系统表示层在浏览器中实现,而表示的内容分布在服务器端的特点,与三层 结构的c s 足两个不同的概念,既不能说b s 会取代c s 结构、也不能说b s 结构 第1 页 运) - t i n i 技术构建二层结构的客户 ! j l n 务器系统 就足三层结构的c s 。 同前有三种主流的组件模型:微软的c o m d c o m 体系、s u n 的e n t 。r p r i 。 a b e a n s ( e j b ) 模型5 f 1 0 m g 的c o r b a 模型。三种组件模型既有组件框架的共同 功能,又各有特点。c o m 组件主要是基于w i n d o w s 平台的一种组件实现,分枷 r t :c o m ( 【) c o m ) 是c o m 的扩展,可以支持不同计算机上的组件与客户程序之间 或f l h l :之间位冒透明的相互通信。d n a 是一种引导技术人员使用微软的系列产 一如系统平台、组件技术、应用程序基础结构、交互性操作服务和工具来构造 蟾1 i c o m 组件的三层结构c s 的技术方案。c o m + 结合在w i n d o w s2 0 0 0 操作系统 t h 在目录服务、事件服务、消息服务、负载平衡等方面对c o m 有所改进。e f i j 足建立在l a v a 平台上的服务器端的组件模型,1 2 e e 是基于e j b 的三层结构c s 系 统的构建技术方案。c o r b a 是由多个厂商共同参与的组织o m g 制定的组件剥 象标准。 这三种g i i f l :模型中,c o r b a 作为跨厂商、跨语言的组件对象模型,最为复 杂和完善,但在应用实施程度上不够丰富,同时过于细致和复杂也制约了它的 应川。1 2 e e 基于i a v a 语言,跨平台性较好,尤其是构建基于w e b 的应用功能强大, | 丁c o r b a s f i i l 2 e e 提供互操作的接f l ,这二者取长补短,逐步结合起束成为组 件化的w c b 计算环境,适于建立三层结构的c s 。c o m 与w i n d o w s 平台结合的非 常紧密,这既是缺点即缺乏平台通用性,也是优点,因为与操作系统的紧密结 合能获得较好的系统支持。随着w i n d o w s2 0 0 0 的推出,c o m + 对于c o m m t s 模 诬进行了y l :多改进,使之更完善。 文章接着重点描述一个具体系统的开发过程,该系统运用d n a 方案进行开 发,进而列运用组件技术开发三层结构c s 系统中的原则和体会加以总结。 系统是一个以书籍为主要商品的网上商店的信息系统,系统包括对内和对 外两部分。剥外部分通过i n t e r n e t 实现网上销售和客户相关的服务活动;对内部 分通过i n t r a n e t 实现进货、库存和配送等业务处理和管理支持系统。系统建立在 微软的平台上,是采用d n a 方案开发的三层结构的c s 。 系统的开发过程遵从了组件化开发的一般过程,从需求分析、设计、编码 测试到实施、维护,以建立组件模型为核心的不断求精完善的过程。本文侧重 1 j 分析和设计阶段的工作,其中用到了u m l 语言来描述各种分析、设计模型。 需求分析阶段的任务是建立与问题域相关的分析模型,包括静态建模和动 态建模两部分工作,包括寻找对象和类,定义类的关联,决定类的属性和方法, 建立对象交互模型,分析对象之间的状态变化。本系统的业务包括销售、采购、 配送和仓库管理几个主要方面,涉及顾客、采购管理人员、配送管理人员和仓 库篱理人员,在销售过程中出现顾客、图书、购物车、客户定单等类,采购过 程t 要有供应商、采购请求、采购定单等类,库存包括仓库、库位、入库单、 席恤等,配送包括配货单、发货单、客户收据和门店收据等类,确定类的属 性平方法,寻找类之问的关系,作出类图,动态模型方面考虑各种操作的流程 桀一对象如单据在各操作过程的状态变化等,画出活动图、状态图、顺序图等。 设计阶段的任务是建立与解题域有关的设计模型。首先是子系统的划分, 包括横向的功能划分和纵向的结构划分,即表示、业务和数据层三层结构划分, 然后是剥象设计。根据三层结构c s 的层次,首先是数据层的设计,即构成数 据层的数据库模式( s c h e m a ) 设计,包括库( d a t a b a s e ) 、表( t a b l e ) 、存储过程等 j c 他数据库对象。然后是业务层的设计,按d n a 方案的特点将业务层对象分成 两向表示层的业务对象( e m i s s a r y ) 、面向数据层的业务对象( e x e c u t a n t ) 和工具对 第2 页 运川纲f ,1 :技术构建二层结构的客户机n 务器系统 象。利用a d o 技术建立数据封装类,划应于持久对象建立相应的面向数据层的 业务对象,包括基本数据维护的增、删、改操作;根据合适的粒度选取一定的 、l k 务操作作为面向表示层的业务对象,注意其可复用性,决定其方法、状态管 , 0 1 1 l l 资源事务管理,安全性等方面。由于在d n a 方案中,m t s 提供了这些基本 的服务,事务、状态、安全性等只要做一些适当的设置工作,因此主要精力放 n :业务层对象的设计上。最后是表示层设计。首先要选择一种表示层的体系结 构,本系统包括本机系统和基于w e b 的两种,然后利用业务组件,设计用户界 | i 。山于采j f j 的是三层结构,不同的表示层体系可以使用相同业务层组件,实 现、i k 务层的复用和与表示层的分离。 f 文对在开发过程中对鲴件技术的运用,尤其是确定业务对象进行分析和 总结:尽量将原子性的业务操作作为业务过程对象,将业务实体刘象与数据库 剥象干h 对应,引入适当的辅助对象,核心是提高业务层的复用性,提供给表示 层清晰、简洁的接口。l t l # b 还对消息机制、效率性能的权衡和专用的数据库技 术进行了讨论。 三层结构的c s 技术也在不断的发展,目的是不断适应i n t e r n e t 环境下企业 成j f 】系统的要求、电予商务的要求,实现系统的开放和互连。对业务组件理论 的研究为业务层的构建提供更好的理论支持;在技术方面,组件模型的完善, f 【1 1 c o r b a 规范的发展,1 8 v 8 技术的发展,包括c o m + 的提出与完善,给三层结 构的c s 提供了更完善、强大的组件框架支撑。组件技术与x m 。技术的结合为 刁:同企业之间系统的交互提供坚实的基础。 第3 页 运j j 组什技术构建三层结构的客户机服务器系统 2 三层结构c i i e n t s e r v e r 的概念 2 ,1c ii e n t s e r v e r 系统结构的层次划分 水文研究的c f i e n t s e r v e r 系统是企业中的计算机信息系统,完成某科一业务 助能的人机交互的系统。其结构可以划分为表示逻辑( p r e s e n t a r i o nl o g i c ) 、业务 逻辑( b u s i n e s sl o g i c ) * 1 1 数据逻辑( d a t ai o g i c ) 。表示逻辑是系统与用户交互的部 分,包括用户界面、接受输入、输入合法性检查、安排输出格式等;业务逻辑 是系统的核心部分,它将企业的业务规则翻译成信息的处理逻辑;数据逻辑负 责信息系统数据的维护。 以一个简荦的图书销售业务处理系统为例,书店通过p o s 机图书销售,该 p o s 系统包括一个销售界而,供销售人员扫描入书籍的条形码,登汜实收款, 心找余额,并通过收银机的客显屏幕以及打印出的收据等输出方式反馈给顾客, 系统还要进行条形码、实收金额的合法性检查等,如有错误产生,返回错误信 息给操作员,这都属于表示逻辑的内容。每做一笔销售,都要在销售数据库r f i 臀记该笔销售情况,包括p o s 机号,操作员号,书籍条形码,销售金额、销售 期时间等信息,同时在销售图书库存数据库中将该图书库存量减去销售的数 景,这些属于业务逻辑,而销售数据库、库存数据库的数据管理属于数据逻辑, 这些可以通过文件或者数据库系统来实现。书店的经营可能有一些业务规则, 比如大量的购买可以打折,团体购书或通过贵宾卡购书可以赊销等等,p o s 系 统也要处理这些业务,这些也属于业务逻辑。 22 应用系统层次结构的演化 按照这三种逻辑在系统中是否独立出来,可以将c s 系统分为以下的三种 类型【1 】: 1 1 狰一层次的体系结构( m o n o l i t h i ca p p f i c a d o na r c h i t e c t u r e ) 5 0 一7 0 年代,在主机应用系统和非联网的桌面应用系统中,系统的三层包 含在一个应用程序中,混合在一起,因此不能与其他系统共享数据,造成数据 冗余,也不能实现程序的复用。 2 两层c l i e n t s e r v e r 体系结构( t w ot i e rc l i e n t s e r v e ra p p f i c a d o na r c h i t e c t u r e ) 8 0 一9 0 年代,企业经营要求关键数据的集中和共享,分布式数据库系统的 产,h 使得应用系统的数据逻辑层独立出来,系统也分成客户机( c f i e n t ) 和服务 器( s e r v e r ) 两部分。客户机程序负责处理表示逻辑,服务器程序负责数据逻辑, 业务逻辑一般是存在于客户机端,与表示逻辑集成在一起。 嘲21 两层c l i e n t s e r v e r 体系结构1 第4 页 运翊自例:技术构建二层结构窿户机服务器系统 一般来浇,客户梳和服务器之问存在网络界颤,即二者分搬在不同的机器 l :,但泡有可能作为喇个应媚存在于尉一台机器上,这时可以不存在网络界面, 假| j 阁只反跌了存在网络介面的情况,这一点在下文的图中不再泌明。 刹用现代分糠j 式关系数据库系统的功能,业务逻辑浇可以存在于服务器端, 通过数据库系统提供的服务器渝存储过程( s t o r e dp r o c e d u r e ) 、触发嚣( t t i g g e r ) 来 实现其巾一部分的业务逻辑。 幽2 2 两层c l i e n t s e r v e r 体系结构2 无沦足上述哪秒晦况,客户报都要向服务器提出数据操作请求,服务器执 j :清求并将缩果返圄给客户梳。这一功能由分布式数据库系统所提伏,通过分 前j 式数掘库系统专有的a p i ,或者邋过某辨统一数据互联接臼始o d b c 、j d b c 来实觋,都需要数据瘁系统提供自己的客户端驱动程序。 图2 3 两层c l i e n t s e r v e r 系统分布图 3 :二层续毒f ;lc l i e n t s e r v e r 体系( t h r e e t k e dc l i e n t s e r v e ra p p c a d o na r c h i t e c t u r e ) 现代企控要求业务变化适应环境的迅速变化,业务逻辑成为系统中霰要经 常变化的部分,嬲聪层结构的c l s 体系下业务逻辑要么与客户端的表示逻辑紧 鬻结合在一起,要么和臌务器端的数据库系统结合在一起,要修改业务逻辑, 就l i 得不修改客户端程序和服务器端的存储过程、触发器,因此有妊要将业务 逻辑从表示逻辑和数据逻辑中独立出来,这就产生了三层结毒勾的c s ,如图2 4 所示。 第5 页 运川组r l :技术粕建三层皱构的客户机服务器系统 翻2 4 三蜃c b e n t s e r v e r 结构 这时客户枫不再包含业务逻辑,它刁:露直接与数摄霹系统交互,蠢是向中 蝴屡服务器提出完成某一业务活动的请求,由中阉层服务器完成该监务活动, , :将缩莱返回给客户机;而中间层服务器在具体实现业务活动的过稷中,可能 瘿看数撂库系绕交互,这与两层c s 系统结构下客户梳与数据库交互的过程怒 秆 同的。 三层结构f 的各层的具体职责有f 2 】: 表示层妲务层数掘层 夺从操 1 :者获取输入冷从表乐层援牧数夺数据存储 夺向业务层提供需要撅夺数据检索 处理的信息令同数据层交互进夺数据维护 夺接收业务层的返回行业务操作夺保证数攒完整性 结果夺把操作结果返回 夺把结果反馈给操作给表示层 者 三层c s 系统的分布胬如图2 5 所示。 这时中间层仅负责如倪实现业务逻辑,将整个业务功能进行划分,受责与 数据库的交互,提供服务接口给客户机。中间箧腋务器可以有一个,也可以蠢 多个,但它的细节对客户极来说是透明的,客户机只逶过统一的按岛与中间屡 交互;中阍屡服务器与数据库服务器可以在同台机器上,也可以通过嘲终分 确j 在不同的机器上。一些厂意把自己的中间屡服务器称为戍用服务器( a p p h c a f i o n s e r v e o ,鲡i p r i s e 的i n p r i s ea p p h c a d o ns e r v e r 、i b m 的w e b s p h e r ea p p h c a d o n s e r v e r 等,这坦的a p p n c a d o ns e r v e r 是一种软件王具产品,用来构成中阕层服务器。 奉文使用中闻层服务器这一名称。 撼6 蕊 运川鲕忭技术构建三层结构的客户机服务器系统 蹦2 5 三屡c l i e n t s e r v e r 系统分稚圈 r | 1 阅层的实现是三层结梭c s 的核心,它需要组件技术的支持。 2 3 缀件的概念 努l 件技术是两前眈较热门的技术,对予组件一词,有很多种解释【3 】: 夺缌转是软纠:妁基本粒子,它具有一定的功能,胃插用可维护。 夺组件是软件开发中一个可替换的软件单元,它封装了没h 4 决策,并可 以霹l 其他组 n :组合戏为一个更大的单元。 夺组件是其有特定功能的,能够跨越进程的边界,实现网络、语言、应 用程序、咒= 发工具秘操作系统的“即插即用”的独立的对象。 夺组件是可以被分离出来,具有标准化的、可重用的公开接口的软件。 1 9 9 6 年e c o o p ( 西肉对象程序设计欧洲会议) 对组件的定义楚: as o f t w a r ec o m p o n e n ti sau n i to fc o m p o s i t i o nw i t hc o n t r a c t u a l l ys p e c i f i e d i n t e r f a c e sa n d e x p l i c i t c o n t e x td e p e n d e n c i e so n l y as o f t w a r ec o m p o n e n tc a nb c d e p l o y e di n d e p e n d e n t l ya n di ss u b j e c tt oc o m p o s i t i o nb yt h i r dp a r t i e s 本文采爝孩定义,根据这个定义可以看出组件的概念包含技术和工程两方 i h f f l 9 因素。 夸 缨f ,| :之浏可以在二进制级别上进行集成和霆用。缀件可以来自不问的 软稍:歼发商,这种情况下,源代码的获缛是不必要的。 夺组件必须可以被独立地生产、获得和配簧。与环境和上下文无关是组 许封装髓的体现。 缎t l :接1 1 描述了组件对外提供的服务,组件与组件之问、组件和客户之n i j j l 能通过接f :j 通行交互。因此组馋旦发礞,它只能通过与定义的接口来提合 理的、一致f i , jj l l & 务。 组彳, :弓对象之问既蠢关系,又有区剐。组僻坝4 重于二进制形式的软件复羽 r 江位,谣对象歪多的是扶继承、封装等概念性角度出发,因此对象可以作为分 第7 页 运用自1 t i :技术构建二三瑶结构的客户帆服务器系统 析、设计的概念存在,也可以以源码如c + 十语言中的c l a s s 、二进制代码如类库 鲫形式存在,恧组件只能以二避铡代码的形式存在 对象的复嗣无论上在源码 缀、还是类库缀都是与语言相关的,而组件的复用必须与语言无关。织件既可 以明殛向对象的语言,也可以用非露向对象的语言来编制和调用。扶通过接l q 复用这一点来看,组件也可以看成怒包含了许多对象的二进铡软传单位。 应用系统可以出组件构成,按在系统中的层次的商低,组件司+ 分为黻f ) d 牵1 1 4 3 : 夺与实现相关的鳃纠:( i m p l e m e n t a t i o ns p e c i f i cc o m p o n e n t ) :处予最低层, 用束构建其他组件,比如类库( c l a s sl i b r a r y ) 。这种组件般怒面向特 定溉煮细软件 二具的,因两复用性最低,v c + + 中的类库和p o w e r b u i l d e r r p 的库就不能互栩复厢。 夺、世务组件b u s i n e s sc o m p o n e n t ) :提供系列基予特定、盐务概念和业务 过程的,完成若干业务功能的组件。 夺应用级缎件( a p p u c a d o n c o m p o n e n t ) :一个完整的可以复蹋的应蹋。 组件橇粲( c o m p o n e n tf r a m e w o r k ) 提供一系翔基本暇务使单独的缎件组会起 柬形成基于组蜞:的应用。 幽2 6 缎f , 枯类别 2 4 基于维件的中溺层的结构 客户梳要访问存在予网络中其他机器上的中间层所实现的业务逻辑,必须 依靠巾间织:( m i d d t e w a e ) 。在分柱式汁算技术中所指的中闽件是连接分稚在网 络j :不闹机器上的程序使之能互相访问的软件【5 】。中间件是从主机应用程序迁 移烈c l i e n t s e r v e r 体系应用程序的关键技术,它主要有妇下几种表现形式f 6 】: 夺事务管理器m a n s a c f i o np r o c e s s i n gm o n i t o r s ,t pm o n i t o r s ) ,提供开发和 妾i ;署分和式应用赝需的工具瓤环境。 夺远程过程调确限e m o t ep r o c e d u r ec a l l ,r p c s ) ,提供程序在网络上不同机 器上的分瓠。 夺衙商消怠的中间件( m e s s a g e o r i e n t e dm i d d l e w a r e ,m o m ) ,提供程序之 州灼异步数摄交换。 第8 页 运埘纽行技术构建二屡_ e & g j 的客户枧服务器系统 夺对象清求代理( o b l e c tr e q u e s tb r o k e r s ,o r b s ) ,提供分d i c e 网络中不同 毒j b 器:的组成应用的对象代理服务。 r p 黼件提供一系列的服务,馒客户机和服务器互梗连接构成应娜。这些照 务可以分为以下几类【7 】: 夺分布式系统服务。包括通信、程序之闻互访和数撼管理等,如r p c 、 m o m 象1 0 r b 。 夺应用服务。提供应用访问分糠j 式服务和网络服务的功能,包括事务躲 视盘f t pm o n i t o r 、数据库服务如s q l 等。 夺小问f i :管理服务,随视应用程序和系统,使化其性能。 曩l ; 主流的中闯件技术有o s f f 。p e ns o f t w a r ef o u n d a t i o n ) 提t l 的分步式计算 环境i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t ,以下麓称d c e ) ,o m g f 。h i e c t m a n a g e m e n tg r o u p ) 提出的公共对象请求代理体系f c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ,醴下简称c o r b a ) ,微软的组件对象模型f c o m p o n e n to b j e c tm o d e l , 以l 、麓称c o m ,d i s t r i b u t e dc o m ,以下篙称d c o 黼,s u n 公司的e n t e r p r i s e l a v a b e a n s ( 以下简称e i b ) 等。除d c e 以外,c o r b a 、c o m d c o m 、e j b 同时 还足基于组l , :姻中闽件,即为客户桃、服务器提供组件框架( c o m p o n e n t i ;r a m e w o r k ) 服务。本文主要分析使用基于组件的中问件来实现三层c s 的中列 壕。 按照n a c 附e t w o r ka p p l i c a t i o n sc o n s o r f i u m l 提出的三层c t s 体系结构,提供 、l k 务服务u s i n e s ss e r v i c e ) 的业务层构成如下【8 】: 蹦27n a c sb u s i n e s ss e r v i c ea r c h i t e c t u r e 根掭这样的旗本框架结构,作者提出巾蒯层的具体续构模型,如图2 8 : r | i 赳屡的结构分为弼部分:业务组件u s i n e s sc o m p o n e n t ) 和缀件框架 ( c o m p o n e n tf r a m e w o r k ) 。业务组件实现业务逻辑,为表示层提供服务:组传框 架( c o m p o n e n tf r a m e w o r k ) 为这些缎件提供基础洼服务,使之能和表示层、数据 层逊行交互,以提供宪绉的业务层服务。 业务组辨可以是一个业务对象,也可以是个或多个监务对象的丰觅圈 ( v i e 们。k 务对象( b u s i n e s so b j e c t ) 是业务活动中的特定的业务实体、概念或业 务过程1 9 1 。业务对象包装成业务组件,业务缝件提供表示层调用的接1 2 1 。 c 1 问层还包括诸多基础健服务( c o m m o ns e r v i c e ) ,这些服务包括: 夺鼹最服务 筒蒙服务提供基于名字的定位业务组f l :的功能。出于巾问层对于袁示恩 的透明性,表示屡仅销道能实现菜业务逻辑的缀件的名字,至于该组中 : 位于何处由中间屡的目录服务提供。 笫9 页 运用纽件技术构建二三层结构的客户机服务器系统 蹦2 8m i d d l et i e ra r c h i t e c 抛r e 安全服务 在多用户的系统中,不同用户拥有不同的照务权力,反映在对业务组件 的凌闻权限上,包括不可见、只读、只写、可读写等,对若干缀件静若 干稀不同的权限组合牵笥成角色,安全腋务v 可以提供基于用户和角色的身 份认迁和权限控制。 夺消怠服务 分毒式跨算有异步程同步之分。消患服务霹以提供异步方式的分布式计 算。当网络中参与通信的某一方暂时无法与网络联接,消息服务可以提 供消息灼暂对存储,当合适约对候将通信请求转发娃 去。 夺事务服务 巾闽层的事务类似于数据库系统巾的事务,业务维臀二是业务逻辑的摹本 荦元。值可能有时若干业务操作需要作为事务来看待,这就需要中问瑶 能够憋若于次独立的组件访阀当作事务来处理,这就是事务服务。 不同的厂商有不同缀件框架结构的实现,现在主流的组俘框架结构缄称为 鳃件嫫型) 有c o r b a 、c o m d c o m 、磷b ,下文将具体分毒斥这三种组件模型。 2 ,5tn t e r n e t 1n t r a n e t 环境下的三屡c s w e b 的出现健迸了i n t e r n e t 的发展, n t e r n e t 不仅仅是一个信息发布的平台, 隧羲f 乜予巅务的发展,i n t e r n e t 还应该是一个应用开发平台,企业海部的w e b 应用侵在i n t r a n e t 上开发企业缀的应用系统成为迫切的需求。因此三层结构的c l s 也放移植到i n t e r n e t i n t a n e t 上,这黠的c s 结梅会有一些新的特点。 25 1w e b 方式下的c s 系统 w e b 是i n t e r n e t t n t r a n e t 的核心技术之一。w e b 技术的特点是客户端只需要 浏览器,服务器端存储h t m i 。文件。这时系统的客户端发生了变化,不再是传 统疗式下的应用程序,藤是许多h t m l 页露。应用系统不网子籀荦的信息发森, 第l o 页 运j h 组住投术构建_ ;二鏖结槌 的客户枧服务器系统 砸瓶的内容足要动态产! t t ,要能接受输入,产生输如,与熠户进行交互。蒋h t m i 页丽也就是表示逻辑虽然显示在客户端,即输出在客户端,并且从客户端接受输 入但是其输出l j 窑却足在w e b 服务器上生成的。如果将两层结构的c s 移到 w e bl 二,系统的结檎翔下: 。司孵l ,驷 燃2 , 9 w e b 方式f 宠蹦系统 区分两层帮三层的依据是业务逻辑是否独立出来成为一层,从这样笼统射 结构二难以看出系统的其体情况,需要根据系统的不同实现方法米具体分析。 浏览器聚的页蕊可能有以下几种类型: 夺静态h t m l 夺动态h t m l ,这举的动态 f m i 。是指x l e b 服务器动态生成的硪瑟,如 a s p ,p h p 等w e b 服务器端脚术语言产生的,而不楚客户端1 a v a s c r i p t 或v b s c r i p t 生成的d t m 。 夺j a v aa p p j e t 第一种情况,不涉及数据库,所以只是浏览器向w e b 服务器请求页丽,w e b 搬务器传绘测鉴器h t m l 文件。 第二种情况,w e b 服务器要向数据库服务器请求数耀,所以数掘库服务器 负爨数据逻辑,焉b r o w s e r 鹈】w e bs e l :v e r 共网受爨表示逻辑,闷时w e bs e r v e r 还负责、l k 务逻辑。 辰蹲科憔况,一旦 a v aa p p l e t 下载到b r o w s e r 端,它可以遽过f d b c 壹按访 问数弼库服务器,因此i a v aa p p l e t 可以看成是传统两层c s 的客户端,只不过 是存放在w e bs e r v e r 上,需要时才下载到客户端。a c t i v e xc o n t r o l 的情况键类 似。 这样看来,仅仅加上一个w e bs e r v e r 并不能使两层c s 系统变成三层结构 的c s 系统。但是,毕竟w e b 化的系统有一个突出的优点,就是维护方便,出 j 程净”,包捅h t m i 。文件都集中存放在w e bs e r v e r 上,可以实现瘦客户端 的c s ,当系统修改、羽缎时不需要对大量客户端的维护,何况在i n t e r n e t 环境 f 这种维护有时是不可能的。僵如果采用第三种方案,客户端还是要安装诺如 l d b c 的数据库访问驱动,这就繁束了定的负颈影l 啊。 2 5 2w e b 方式下的兰层c s 同替w e b 环境的三层c s 一样只有独立搬业务逻辑朦,才能是真话意义 、啪w e b 方式下的三层c s 。 翦i i 酊 智一 运用组件技术构建三层结构的客户机服务器系统 一 i = = s 一 b r o x v s e r d a t a b a s es e r x e r 图2 1 0 w e b 方式f 三层c s 系统 表示层由浏览器和存在于w e bs e r v e r 上的h t m l 文件组成,不同于非w e b 应用的表示层,这利t 情况下的表示层分布在不同的机器上。就w e bs e r v e r 的功 能而言,划归到表示层更为合适。业
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031年中国营运智能应用软件行业市场发展趋势与前景展望战略研究报告
- 基于强化学习的稀疏场景奇数扫描鲁棒性提升-洞察及研究
- 合欢花与生殖系统疾病关系-洞察及研究
- 防护通道疏散效率分析
- 汽车零部件产业园建设项目环境影响报告书
- 项目成本控制与预算管理方案
- 国际资本流向对行业影响研究-洞察及研究
- 基于GIS的市政管网信息化管理方案
- 合金功能材料和高温合金生产项目经济效益和社会效益分析报告
- 2025~2026学年河南省新乡市新乡县苏教版四年级下学期期末数学检测试题【附解析】
- CSR法律法规及其他要求清单(RBA)2024.3
- 五年级下册数学约分练习100题附答案
- 冀教版八年级上册英语语法知识点复习与练习题汇编
- TQGCML 2670-2023 四轮电动全地形车
- 医学实验技能操作大赛初赛试题
- 教育心理学-资源管理策略
- 2024年新兴铸管股份有限公司招聘笔试参考题库含答案解析
- 家庭安全隐患排查手册
- 苏州市预防接种练习试卷附答案
- 外锁闭和安装装置磨耗量检测指标及方法
- 口腔种植技术管理规范
评论
0/150
提交评论