软件设计与体系结构 秦航 11_第1页
软件设计与体系结构 秦航 11_第2页
软件设计与体系结构 秦航 11_第3页
软件设计与体系结构 秦航 11_第4页
软件设计与体系结构 秦航 11_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第11章基于(jīyú)分步构件的

体系结构

1清华大学出版社共三十八页内容提要(nèirónɡtíyào)11.1 EJB分步构件框架11.1.1 EJB技术 11.1.2 EJB的规范介绍 11.1.3 EJB的体系结构11.2 DCOM分布构件框架11.2.1 DCOM的使用11.2.2 DCOM的特点11.2.3 DCOM的灵活配置(pèizhì)与扩展机制11.2.4 在应用间共享连接管理11.2.5 DCOM的安全性设置2清华大学出版社共三十八页11.3 COBRA分布构件(gòujiàn)框架

11.3.1 COBRA基本原理11.3.2 CORBA体系结构11.3.3 CORBA规范11.3.4 CORBA产品概述11.3.5 CORBA为我们带来什么11.3.6 未解决的问题11.4 本章小结3清华大学出版社共三十八页在互联网时代,分布式应用(yìngyòng)越来越普遍与重要,如何高效地开发这类系统成为我们必须应对的课题。为了将构件思想应用(yìngyòng)于分布式系统的开发,业界提出了一些基于分布构件的解决方案。按照这些方案,整个分布式系统的体系结构大致如图11-1所示。图11-1基于分布构件(gòujiàn)的系统体系结构4清华大学出版社共三十八页分布构件与分布构件框架相互之间紧密配合,在上述体系结构中占据主体地位。描述了分布构件框架,实际上也就说清楚了它与分布构件之间的接口,说清楚了分布构件的外在特征。对于上述体系结构,工业界有几个主要的实现方案,它们分别是由SUN公司(已被Oracle收购)主导提出的EJB分布构件框架、由微软公司提出的DCOM分布构件框架和由OMG组织提出的CORBA分布构件框架,本章(běnzhānɡ)将对它们分别进行系统介绍。5清华大学出版社共三十八页11.1 EJB分布(fēnbù)构件框架

11.1.1EJB技术(jìshù)EJB规范是SUN公司于1997年12月发布的JavaBean构件模型。一个EJB是特定的在服务器上运行的JavaBean,并且EJB能在可视化的工具下装配成新的应用。EJB应用程序只能用Java语言编写,且必须使用EJBAPI。编写良好的EJB应用程序无须修改任何源代码就可以在J2EE认证的应用服务器之间移植和互操作。EJB是一种基于构件的开发模型,它是Java服务器端服务框架的规范。EJB详细地定义了一个可以方便部署Java构件的服务框架模型,用于创建可伸缩、多层次、跨平台、分布式的应用,并可创建具有动态扩展性的服务器端的应用。6清华大学出版社共三十八页11.1.2 EJB的规范(guīfàn)介绍

图11-2EJB容器(róngqì)示意图7清华大学出版社共三十八页EJB编程模块向bean开发人员和EJB服务器供应商提供了一组契约,这组契约,约定了开发的公共平台。这些契约的目标是在支持一组丰富功能性的同时能够确保供应商之间的可移植性。容器不允许客户机应用程序直接访问EnterpriseBean。当客户机应用程序调用EnterpriseBean上的远程方法时,容器首先拦截调用,以确保持续、事务和安全性都正确应用于客户机对bean执行的每一个操作。容器自动为bean管理安全性、事务和持续,于是bean开发人员不必将这种类型的逻辑写入bean代码本身中。EnterpriseBean开发人员可以将精力集中于封装商业(shāngyè)规则,而容器处理其他一切。8清华大学出版社共三十八页

EnterpriseBean依赖容器来获取它的需求。如果EnterpriseBean需要访问JDBC连接或另一个EnterpriseBean,那么它需要利用容器来完成此项操作。如果EnterpriseBean需要访问调用者的身份、获取它自身的引用或访问特性,那么它需要利用容器来完成这些操作。EnterpriseBean通过以下三种(sānzhǒnɡ)机制之一与容器交互:(1)回调方法、(2)EJBContext接口或(3)JNDI9清华大学出版社共三十八页11.1.3 EJB的体系结构

1. EJB的软构件模型软构件模型的思想,是创建可重用的构件并将其组合到容器中,以得到新的应用系统。构件模型定义了构件的基本体系结构、构件界面的结构与其他构件及容器相互作用的机制等。利用构件模型规范(guīfàn)说明,构件开发人员开发那些实现了应用系统逻辑的构件,而应用系统开发人员则将这些预先开发好的构件组合成应用系统;这些应用系统也可以作为新的构件。软构件模型思想已经在软件开发界迅速流行,因为它可以达到以下这些目的:重用、高层开发、通过工具进行自动化开发、简化开发过程等。JavaBeans、EJB、COM/DCOM等都是软构件模型的例子。10清华大学出版社共三十八页14.2 云计算(jìsuàn)服务模型有两种类型的软构件(gòujiàn)模型:客户端构件模型服务器端构件模型。11清华大学出版社共三十八页图11-3EJB构建(ɡòujiàn)模型12清华大学出版社共三十八页EJB构件与Container之间有统一的界面,每一个EJB构件都可以运行在所有的运行环境中。在EJB构件模型(móxíng)中有两种类型的bean:sessionbean和entitybean。这两种类型的EJB代表了两种不同类型的事务逻辑的抽象。13清华大学出版社共三十八页3. EJB的体系结构

EJB的上层分布式应用程序是基于对象组件模型的,低层的事务服务用了API技术。EJB技术简化了用Java语言(yǔyán)编写的企业应用系统的开发、配置与执行。EJB的体系结构的规范由SunMicrosystems公司制定。EJB技术定义了一组可重用的组件:EnterpriseBean。你可以利用这些组件像搭积木一样地建立你的分布式应用程序。当你把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多个EnterpriseBeans,再加上一些配置参数。最后,这些EnterpriseBeans被配置到一个装有EJB容器的平台上。客户能够通过这些beans的home接口定位到某个beans,并产生这个bean的一个实例。这样,客户就能够调用Beans的应用方法与远程接口。14清华大学出版社共三十八页通常来说,EJB容器(róngqì)掌握了以下的系统级分配:(1)Security-配置描述器(TheDeploymentdescriptor)。(2)RemoteConnectivity-容器。(3)LifeCyclemanagement-客户。(4)Transactionmanagement配置描述器。15清华大学出版社共三十八页这六个角色分别是:(1)EnterpriseBeanProvider:EJB组件(zǔjiàn)开发者。(2)ApplicationAssembler:应用组合者。(3)Deployer:部署者。(4)EJBServerProvider:EJB服务器提供者。(5)EJBContainerProvider:EJB容器提供者。(6)SystemAdministrator:系统管理员。4. EJB结构(jiégòu)中的角色

16清华大学出版社共三十八页11.2 DCOM分布构件(gòujiàn)框架

DCOM是一系列微软的概念和与程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象;DCOM基于组件对象模型COM,COM提供了一套允许同一台计算机上的客户端与服务器之间进行(jìnxíng)通信的接口。17清华大学出版社共三十八页11.2.1 DCOM的使用(shǐyòng)

DCOM是COM的扩展,它支持不同的两台机器上的组件间的通信,而且不论它们是运行在局域网、广域网、还是Internet上。借助DCOM,应用程序将能够任意进行(jìnxíng)空间分布。使用DCOM,应用程序就可以在位置上达到分布性,从而满足客户和应用的需求。

在提供一系列分布式范围方面,DCOM通常与通用对象请求代理体系结构(CORBA)相提并论。DCOM是微软给程序和数据对象传输的网络范围的环境,CORBA则是在对象管理组织(OMG)的帮助下,由信息技术行业的其他商家提供赞助的。18清华大学出版社共三十八页11.2.2 DCOM的特点(tèdiǎn)

(1)组件和复用(2)位置(wèizhi)独立性(3)语言无关性(4)连接管理(5)可扩展性(6)对称的多进程处理(SMP)19清华大学出版社共三十八页11.2.3 DCOM的灵活配置与扩展(kuòzhǎn)机制

当负载增加时,即使买一台最快的多处理机,它也有可能不能适应需求。DCOM的位置独立性提供了一个(yīɡè)简单而低成本的方法来提高扩展性,那就是将分布性的组件放到其他的机器上。(1)一般组件的配置(2)关键组件的配置(3)DCOM的扩展机制20清华大学出版社共三十八页11.2.4 在应用(yìngyòng)间共享连接管理

DCOM对每台机器使用一个keep-alive消息。即使一台客户机使用了某一台服务器上的100个组件(zǔjiàn),仅仅只要一条ping消息就能使所有这些客户连接保持活跃状态。为了将所有的ping消息组合起来,DCOM使用deltapinging机制来将这些ping消息的数量最小化。对于这100个连接,它并不是发送100个客户的标识符,而是创造了一个可变标识符来重复代表这100个引用。当引用集改变时,仅仅只是两套引用的相交部分被互相交换。最终,DCOM将所有ping消息转化为正常消息。对于服务器来说,当某台客户机完全是空闲的时候,它才定时发送ping消息(每隔两分钟一次)。21清华大学出版社共三十八页1. 优化网络(wǎngluò)的来回旋程2. 安全性22清华大学出版社共三十八页11.2.5 DCOM的安全性设置(shèzhì)

DCOM无须在客户端和组件上进行任何专门为安全性而做的编码和设计工作,就可以为分布式应用系统提供安全性保障。就像DCOM编程模型屏蔽了组件的位置一样,它也屏蔽了组件的安全性需求。在无须考虑安全性的单机环境下工作的二进制代码(dàimǎ)能够在分布式环境下以一种安全的方式工作。DCOM通过让开发者与管理员为每个组件设置安全性环境而使安全性透明。就像WindowsNT允许管理员为文件和目录设置访问控制列表一样,DCOM将组件的访问控制列表存储起来。这些列表清楚地指出了哪些用户或用户组有权访问某一类的组件。使用DCOM的设置工具、或者在编程中使用WindowsNT的registry,以及Win32的安全函数可以很简单地设置这些列表。23清华大学出版社共三十八页1. 对安全性的编程控制2. Internet上的安全性3. 负载平衡

(1)静态(jìngtài)负载平衡(2)动态负载平衡4. 容错性24清华大学出版社共三十八页11.3 COBRA分布(fēnbù)构件框架

11.3.1 COBRA基本原理

对象管理组织OMG(ObjectManagementGroup)负责制订与发布CORBA规范(guīfàn)。由OMG发布的对象管理体系结构OMA(ObjectManagementArchitecture)是包括CORBA规范(guīfàn)在内的所有OMG规范(guīfàn)的概念模型基础。25清华大学出版社共三十八页1. 对象(duìxiàng)管理组织2. 对象管理体系结构3. 对象请求代理4. 对象服务5. 公共设施6. 领域接口7. 应用程序接口26清华大学出版社共三十八页11.3.2 CORBA体系结构

CORBA建立在OMG的对象模型基础之上,主要有三个关键部分:接口定义语言IDL、对象请求代理ORB和标准通信协议IIOP。1. OMG的对象模型2. 对象请求代理的结构3. 对象接口定义4. 客户程序发送(fāsònɡ)请求5. 对象实现接收请求6. 对象的可互操作性7. ORB域和桥接8. GIOP、IIOP与ESIOP9. CORBA对可互操作性的支持27清华大学出版社共三十八页11.3.3 CORBA规范(guīfàn)

OMG本身不生产任何软件或实现任何规范,它只是将OMG成员的信息需求(RFI)与建议需求(RFP)汇集为规范。CORBA规范是一套开放式的规范,OMG的成员或非成员公司均可免费实现符合(fúhé)CORBA规范的ORB产品。28清华大学出版社共三十八页(1)1991年12月正式(zhèngshì)发布CORBA1.1(2)1995年7月正式发布CORBA2.0(3)2010年正式发布CORBA3.029清华大学出版社共三十八页11.3.4 CORBA产品(chǎnpǐn)概述

尽管OMG不断改进与完善CORBA规范,但每一版本保持了较好的向后兼容性,因而CORBA规范相当成熟与稳定,并且拥有大量产品,在企业计算与因特网计算领域拥有庞大的市场。基于CORBA的软件适用于因特网应用与企业计算,特殊版本的CORBA还可运行在实时(shíshí)系统、嵌入式系统与容错系统。30清华大学出版社共三十八页1. 商品化CORBA产品(chǎnpǐn)

(1)Orbix(2)VisiBroker(3)WebLogic(4)ComponentBroker(5)其他(qítā)31清华大学出版社共三十八页部分(bùfen)商品化CORBA产品及其站点

IONAOrbixInpriseVisiBrokerBEASysetmsWebLogicIBMComponentBrokerCriticalPathInJoinBROKERGemStoneGemORBObjectiveInterfaceSystemsORBexpressBionicBuffaloTatankaSilverstreamJbrokerVertele*ORB32清华大学出版社共三十八页2. 免费(miǎnfèi)CORBA产品

(1)OmniORB(2)TAO(3)ORBit33清华大学出版社共三十八页部分(bùfen)免费CORBA产品及其站点

AT&TLaboratoryomniORBWashingtonUniversityTAO/~schmidtObject-OrientedConceptsORBacusObjectSpaceVoyagerORBProRHADLabsORBit/orbitDistributedObjectsGroupJavaORBMICOADABroker34清华大学出版社共三十八页11.3.5 CORBA为我们(wǒmen)带来什么

OMG致力于解决分布式应用程序的复杂性与高成本问题。CORBA顺应软件技术发展的潮流,成功地融合了两种技术:一是基于消息传递的分布式客户机/服务器技术,一是面向对象(duìxiàng)软件开发技术。CORBA采用面向对象(duìxiàng)方法创建在应用程序之间可重用与可共享的软件组件,每一个对象(duìxiàng)对外隐藏了它内部工作的细节,并提供一个定义良好的外部接口,从而降低应用程序的复杂性。一旦实现并测试一个对象(duìxiàng)后,它可以在新应用环境中多次被重用,因而减少了开发应用程序的成本。35清华大学出版社共三十八页11.3.6 未解决(jiějué)的问题

显然CORBA帮我

温馨提示

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

评论

0/150

提交评论