您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件体系结构第11章
软件设计和体系结构清华大学出版社1第11章基于分步构件的体系结构清华大学出版社2内容提要11.1EJB分步构件框架11.1.1EJB技术11.1.2EJB的规范介绍11.1.3EJB的体系结构11.2DCOM分布构件框架11.2.1DCOM的使用11.2.2DCOM的特点11.2.3DCOM的灵活配置与扩展机制11.2.4在应用间共享连接管理11.2.5DCOM的安全性设置清华大学出版社311.3COBRA分布构件框架11.3.1COBRA基本原理11.3.2CORBA体系结构11.3.3CORBA规范11.3.4CORBA产品概述11.3.5CORBA为我们带来什么11.3.6未解决的问题11.4本章小结在互联网时代,分布式应用越来越普遍与重要,如何高效地开发这类系统成为我们必须应对的课题。为了将构件思想应用于分布式系统的开发,业界提出了一些基于分布构件的解决方案。按照这些方案,整个分布式系统的体系结构大致如图11-1所示。客户分步构件框架分步构件分步构件分步构件客户端网络服务器端图11-1基于分布构件的系统体系结构分布构件与分布构件框架相互之间紧密配合,在上述体系结构中占据主体地位。描述了分布构件框架,实际上也就说清楚了它与分布构件之间的接口,说清楚了分布构件的外在特征。对于上述体系结构,工业界有几个主要的实现方案,它们分别是由SUN公司(已被Oracle收购)主导提出的EJB分布构件框架、由微软公司提出的DCOM分布构件框架和由OMG组织提出的CORBA分布构件框架,本章将对它们分别进行系统介绍。11.1EJB分布构件框架11.1.1EJB技术EJB规范是SUN公司于1997年12月发布的JavaBean构件模型。一个EJB是特定的在服务器上运行的JavaBean,并且EJB能在可视化的工具下装配成新的应用。EJB应用程序只能用Java语言编写,且必须使用EJBAPI。编写良好的EJB应用程序无须修改任何源代码就可以在J2EE认证的应用服务器之间移植和互操作。EJB是一种基于构件的开发模型,它是Java服务器端服务框架的规范。EJB详细地定义了一个可以方便部署Java构件的服务框架模型,用于创建可伸缩、多层次、跨平台、分布式的应用,并可创建具有动态扩展性的服务器端的应用。清华大学出版社711.1.2EJB的规范介绍事务管理数据容器管理安全性管理BeanEJB内容、JNDIENC回调方法客户端客户请求EJB容器图11-2EJB容器示意图清华大学出版社8EJB编程模块向bean开发人员和EJB服务器供应商提供了一组契约,这组契约,约定了开发的公共平台。这些契约的目标是在支持一组丰富功能性的同时能够确保供应商之间的可移植性。容器不允许客户机应用程序直接访问EnterpriseBean。当客户机应用程序调用EnterpriseBean上的远程方法时,容器首先拦截调用,以确保持续、事务和安全性都正确应用于客户机对bean执行的每一个操作。容器自动为bean管理安全性、事务和持续,于是bean开发人员不必将这种类型的逻辑写入bean代码本身中。EnterpriseBean开发人员可以将精力集中于封装商业规则,而容器处理其他一切。清华大学出版社9EnterpriseBean依赖容器来获取它的需求。如果EnterpriseBean需要访问JDBC连接或另一个EnterpriseBean,那么它需要利用容器来完成此项操作。如果EnterpriseBean需要访问调用者的身份、获取它自身的引用或访问特性,那么它需要利用容器来完成这些操作。EnterpriseBean通过以下三种机制之一与容器交互:(1)回调方法、(2)EJBContext接口或(3)JNDI清华大学出版社1011.1.3EJB的体系结构1.EJB的软构件模型软构件模型的思想,是创建可重用的构件并将其组合到容器中,以得到新的应用系统。构件模型定义了构件的基本体系结构、构件界面的结构与其他构件及容器相互作用的机制等。利用构件模型规范说明,构件开发人员开发那些实现了应用系统逻辑的构件,而应用系统开发人员则将这些预先开发好的构件组合成应用系统;这些应用系统也可以作为新的构件。软构件模型思想已经在软件开发界迅速流行,因为它可以达到以下这些目的:重用、高层开发、通过工具进行自动化开发、简化开发过程等。JavaBeans、EJB、COM/DCOM等都是软构件模型的例子。清华大学出版社1114.2云计算服务模型有两种类型的软构件模型:客户端构件模型服务器端构件模型。客户视图EJB容器EJB服务器客户图11-3EJB构建模型清华大学出版社13EJB构件与Container之间有统一的界面,每一个EJB构件都可以运行在所有的运行环境中。在EJB构件模型中有两种类型的bean:sessionbean和entitybean。这两种类型的EJB代表了两种不同类型的事务逻辑的抽象。3.EJB的体系结构EJB的上层分布式应用程序是基于对象组件模型的,低层的事务服务用了API技术。EJB技术简化了用Java语言编写的企业应用系统的开发、配置与执行。EJB的体系结构的规范由SunMicrosystems公司制定。EJB技术定义了一组可重用的组件:EnterpriseBean。你可以利用这些组件像搭积木一样地建立你的分布式应用程序。当你把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多个EnterpriseBeans,再加上一些配置参数。最后,这些EnterpriseBeans被配置到一个装有EJB容器的平台上。客户能够通过这些beans的home接口定位到某个beans,并产生这个bean的一个实例。这样,客户就能够调用Beans的应用方法与远程接口。清华大学出版社15通常来说,EJB容器掌握了以下的系统级分配:(1)Security-配置描述器(TheDeploymentdescriptor)。(2)RemoteConnectivity-容器。(3)LifeCyclemanagement-客户。(4)Transactionmanagement配置描述器。清华大学出版社16这六个角色分别是:(1)EnterpriseBeanProvider:EJB组件开发者。(2)ApplicationAssembler:应用组合者。(3)Deployer:部署者。(4)EJBServerProvider:EJB服务器提供者。(5)EJBContainerProvider:EJB容器提供者。(6)SystemAdministrator:系统管理员。4.EJB结构中的角色清华大学出版社1711.2DCOM分布构件框架DCOM是一系列微软的概念和与程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象;DCOM基于组件对象模型COM,COM提供了一套允许同一台计算机上的客户端与服务器之间进行通信的接口。清华大学出版社1811.2.1DCOM的使用DCOM是COM的扩展,它支持不同的两台机器上的组件间的通信,而且不论它们是运行在局域网、广域网、还是Internet上。借助DCOM,应用程序将能够任意进行空间分布。使用DCOM,应用程序就可以在位置上达到分布性,从而满足客户和应用的需求。在提供一系列分布式范围方面,DCOM通常与通用对象请求代理体系结构(CORBA)相提并论。DCOM是微软给程序和数据对象传输的网络范围的环境,CORBA则是在对象管理组织(OMG)的帮助下,由信息技术行业的其他商家提供赞助的。清华大学出版社1911.2.2DCOM的特点(1)组件和复用(2)位置独立性(3)语言无关性(4)连接管理(5)可扩展性(6)对称的多进程处理(SMP)清华大学出版社2011.2.3DCOM的灵活配置与扩展机制当负载增加时,即使买一台最快的多处理机,它也有可能不能适应需求。DCOM的位置独立性提供了一个简单而低成本的方法来提高扩展性,那就是将分布性的组件放到其他的机器上。(1)一般组件的配置(2)关键组件的配置(3)DCOM的扩展机制清华大学出版社2111.2.4在应用间共享连接管理DCOM对每台机器使用一个keep-alive消息。即使一台客户机使用了某一台服务器上的100个组件,仅仅只要一条ping消息就能使所有这些客户连接保持活跃状态。为了将所有的ping消息组合起来,DCOM使用deltapinging机制来将这些ping消息的数量最小化。对于这100个连接,它并不是发送100个客户的标识符,而是创造了一个可变标识符来重复代表这100个引用。当引用集改变时,仅仅只是两套引用的相交部分被互相交换。最终,DCOM将所有ping消息转化为正常消息。对于服务器来说,当某台客户机完全是空闲的时候,它才定时发送ping消息(每隔两分钟一次)。清华大学出版社221.优化网络的来回旋程2.安全性清华大学出版社2311.2.5DCOM的安全性设置DCOM无须在客户端和组件上进行任何专门为安全性而做的编码和设计工作,就可以为分布式应用系统提供安全性保障。就像DCOM编程模型屏蔽了组件的位置一样,它也屏蔽了组件的安全性需求。在无须考虑安全性的单机环境下工作的二进制代码能够在分布式环境下以一种安全的方式工作。DCOM通过让开发者与管理员为每个组件设置安全性环境而使安全性透明。就像WindowsNT允许管理员为文件和目录设置访问控制列表一样,DCOM将组件的访问控制列表存储起来。这些列表清楚地指出了哪些用户或用户组有权访问某一类的组件。使用DCOM的设置工具、或者在编程中使用WindowsNT的registry,以及Win32的安全函数可以很简单地设置这些列表。清华大学出版社241.对安全性的编程控制2.Internet上的安全性3.负载平衡(1)静态负载平衡(2)动态负载平衡4.容错性清华大学出版社2511.3COBRA分布构件框架11.3.1COBRA基本原理对象管理组织OMG(ObjectManagementGroup)负责制订与发布CORBA规范。由OMG发布的对象管理体系结构OMA(ObjectManagementArchitecture)是包括CORBA规范在内的所有OMG规范的概念模型基础。清华大学出版社261.对象管理组织2.对象管理体系结构3.对象请求代理4.对象服务5.公共设施6.领域接口7.应用程序接口清华大学出版社2711.3.2CORBA体系结构CORBA建立在OMG的对象模型基础之上,主要有三个关键部分:接口定义语言IDL、对象请求代理ORB和标准通信协议IIOP。1.OMG的对象模型2.对象请求代理的结构3.对象接口定义4.客户程序发送请求5.对象实现接收请求6.对象的可互操作性7.ORB域和桥接8.GIOP、IIOP与ESIOP9.CORBA对可互操作性的支持清华大学出版社2811.3.3CORBA规范OMG本身不生产任何软件或实现任何规范,它只是将OMG成员的信息需求(RFI)与建议需求(RFP)汇集为规范。CORBA规范是一套开放式的规范,OMG的成员或非成员公司均可免费实现符合CORBA规范的ORB产品。清华大学出版社29(1)1991年12月正式发布CORBA1.1(2)1995年7月正式发布CORBA2.0(3)2010年正式发布CORBA3.0清华大学出版社3011.3.4CORBA产品概述尽管OMG不断改进与完善CORBA规范,但每一版本保持了较好的向后兼容性,因而CORBA规范相当成熟与稳定,并且拥有大量产品,在企业计算与因特网计算领域拥有庞大的市场。基于CORBA的软件适用于因特网应用与企业计算,特殊版本的CORBA还可运行在实时系统、嵌入式系统与容错系统。清华大学出版社311.商品化CORBA产品(1)Orbix(2)VisiBroker(3)WebLogic(4)Com
本文标题:软件体系结构第11章
链接地址:https://www.777doc.com/doc-1990565 .html