基于Web的中间件系统集成框架--应用服务器的研究.pdf
《基于Web的中间件系统集成框架--应用服务器的研究.pdf》由会员分享,可在线阅读,更多相关《基于Web的中间件系统集成框架--应用服务器的研究.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第38卷 第4期2OO1年4月计 算 机 研 究 与 发 展JOURNAL OF COMPU ER RESEARC SDEVELOPMEN Vol.38 No.4Apr.2OO1原稿收到日期:2OO1-O2-O1本课题得到国家g八六三 高技术研究发展计划基金项目(863-3O6-ZDO2-1)和国家教育部骨干教师基金项目资助基于Web的中间件系统集成框架 应用服务器的研究齐勇赵季中侯迪沈钧毅曾斌异(西安交通大学计算机科学与技术系西安71OO49)()摘要以g八六三 项目为背景 在探讨应用服务器技术组件和框架技术的基础上 通过结合CORBA开放性跨平台跨语言的特性和EJB业务处理能力 设计并实现
2、了一个可伸缩健壮的支持Web分布式应用的中间应用服务器系统平台 其功能包括:组件容器管理控制台事务服务外部资源管理名字服务等;并在实际中得到了初步应用 取得了很好的效果.与其它方式的服务相比 它有着易于开发易于管理和易于加载服务等特点.对其理论背景体系结构关键技术以及其上的应用领域框架等进行了全面的研究.关键词应用服务器 构件 核心框架 派生框架 CORBA EJB XML中图法分类号 P311STUDY OF APPLICATION SERVER WEB-BASEDMIDDLEWARE SYSTEM INTEGRATED FRAMEWORKI Yong ZAO Ji-Zhong OU Di
3、SEN Jun-Yi and ZENG Bing-Yi(Department of Computer Sczence and Technology Xz an zaotong UnzUerszty Xz an 71OO49)AbStractAfter introducing the technigueS of application SerVer component and frameWork explanationS are giVen aS to hoW to build upa high-performance Scalable androbuStinfraStructure ofWeb
4、-baSed diStributed application SerVerbycombining the open croSS-platform and croSS-language capabilitieS of CORBA With the tranSactional buSineSS logic ofEnterpriSe JaVaBeanS(EJB)technology.A SyStem iS made of component container managementconSole tranSaction SerVice external reSource management nam
5、ing SerVice etc.It poSSeSSeS thecharacteriStic Such aS eaSy to deVelop eaSy to manage and eaSy to load SerViceS etc.Introduced inthiS paper are the theory background SyStem architecture key technology and applicationdomain frameWork on it etc.Key wordSapplication SerVer component core-frameWork deri
6、Ved-frameWork CORBA EJB XML1引言随着Internet技术的迅速发展,其应用技术也已经从简单的信息浏览发展到复杂的分布式应用(经历了从CGI,Webserver API,JHvH到基于分布式对象技术的多层模式),计算机支持的工作需要系统提供一个能支持复杂的分布式异构运行环境,如电子商务 CsCW等应用的要求.组件技术的出现为网络上分布式应用提供一个很好的技术支持,但是,如何在Web环境下利用组件技术建立一个易于管理可重用可伸缩健壮的为复杂的分布式应用支撑平台是Internet的一个重要研究方向1,而中间应用服务器是一种很好的解决方案2,因此具有很好应用前景.论文以 八
7、六三 高技术研究发展计划项目为背景,在探讨应用服务器技术以及组件技术的基础上,通过结合CORBA开放性跨平台跨语言的特性和EJB的业务处理能力,设计并实现了一个可伸缩健壮的支持Web分布式应用的中间应用服务器系统平台.其功能包括:组件容器管理控制台事务服务外部资源管理名字服务等.应用服务器给组件运行提供一个中间件集成框架,组件被应用服务器调用,实现企业的业务逻辑和业务数据.应用服务器负责处理启动组件实例化组件调用组件实例撤销组件实例等流程,以及线程/进程安排消息分派事务处理安全许可等底层工作,而组件则关心它的某个方法被调用时应该处理的业务.与其它方式的服务比较,该系统有着易于开发易于管理和易于
8、加载服务等特点.通过初步应用已经显示出了很好的效果.2框架概念组件(或软构件)是软件开发中目前使用较广的技术,它提供了一种非常好的表示和设计类的方法,但是类的粒度太小,还不能保证软件设计与代码的重用.框架实现了组件即插即用的插槽,提供了大量软件组件重用的支撑技术,从而可以真正提高软件重用性,降低软件开发工作量,提高开发效率.(1)框架:框架是一组预先开发好的软件组件,开发人员可以直接利用这些组件,或者扩充定制这些组件得到一个特殊的计算解决方案.利用框架,开发人员不必每次都从头开始开发应用.框架是一组对象的集合,所以它的设计与代码都可以被重用3,4.(2)框架的分类,框架按照用途和形式被分成3类
9、:D系统基础框架:它一般用在系统基础建设中,如操作系统通信框架等 中间层集成框架:用于把中间层逻辑的代码通过框架技术集成为一个完整的系统.中间层集成框架一般用于集成分布式组件.应用服务器属于这种框架 企业应用框架:属于垂直框架,它在某一特定企业应用领域中提供通用的业务控制或特定业务模式例子.这种框架是对该领域进行抽象而得出的.3中间层系统集成框架 应用服务器(1)应用服务器应用服务器是一个基于组件的中间层集成框架.它为组件的运行提供运行时环境基础服务(水平服务)和管理等功能.组件封装业务逻辑和业务数据并依赖于应用服务器而工作.应用服务器和组件各司其职,完成各自的工作.应用服务器和组件之间必须有
10、明确规定好的接口用于管理组件.它位于多层模式中的中间层,支持多操作系统平台,可提供分布处理支撑功能,在其与Webserver集成后,就形成了完整的基于Web的分布式应用运行环境.(2)系统体系结构系统的整体思想是结合CORBA处理网络的透明性和EJB处理业务逻辑的优点,设计了一个符合J2EE标准和EJB1.1规范的应用服务器框架,允许组件的 即插即用.应用服务器体系结构如图1所示.管理控制台位于ORB之上,在管理控制台之上是各种服务.这些服务在启动时注册到管理控制台,容器是组件运行的环境,它包括若干组件管理器用于对不同组件的管理.其它的服务,如名字服务事务服务外部资源管理等可以被组件或容器使用
11、.客户通过ORB或JsP找到容器为组件提供的接口,利用这接口激发组件.客户激发组件时,容器捕获全部消息并对其进行分派.在整个系统中,除了底层ORB之外,所有模块均为CORBA对象,可以被单独启动或关闭.在运行时,这些CORBA对象通过它们的接口,动态地插接在一起形成整个系统.1344期齐勇等:基于Web的中间件系统集成框架 应用服务器的研究图1应用服务器体系结构4应用服务器的关键技术如图1箭头部分所示 应用服务器包括,0 RB管理控制台(management console)安全(security)容器(container)事务服务(transaction service)外部资源管理和名字服
12、务(naming service)等部分 下面讨论其关键技术.(1)0 RB子系统0 RB提供底层分布式计算环境 使得分布对象可以被远程引用.另外 它还结合C0 RBA 2.3的按值传送和Java的序列化功能 实现对象实例传送 包括数据和行为的传送5 6.(2)组件容器(EJB container)容器是组件运行的地方.在EJB规范中 组件被称为Bean 多个组件被打包到一个档案(Jar)文件中(称为组件包).当组件包被安装到容器中时 它为组件包产生一个管理节点用于管理组件包的属性.接着 系统分析组件包并提取出各个组件 最后根据组件的类型调用相应的组件管理器装载该组件.根据EJB规范7组件被分
13、成3类,有状态会话组件(stateful session bean)无状态会话组件(statelesssession bean)和实体组件(entity bean)针对这3种不同的组件 容器中存在3种不同的管理器(参见图1)他们是整个容器的核心 针对某一种组件类型 负责管理这种类型组件的实例化运行和激发.容器根据组件的类型 把组件交给相应的组件管理器管理.组件管理器首先确认组件是否合法 接着继续分析组件 并取得组件的接口和实现文件 然后 为组件产生接口对象.根据实例化策略 组件会被实例化并保存在组件管理器中.所有的EJBs实例都运行在EJB容器中 容器为其中EJBs提供系统级的服务以及控制它们
14、的生命周期.由于容器处理绝大多数的系统层次上的问题 因而EJBs开发者并不需要把这些问题包含在EJBs的逻辑处理中.应用服务器的容器主要处理如下的一些问题,D安全,部署描述信息定义了不同的客户能够访问不同的服务器中企业方法.容器通过在客户调用方法时只允许授权的用户可以访问的机制来实现.生命周期管理,用户只是简单地创建EJBs的实例和移除这些实例.然而 容器负责管理这些EJBs实例以使内存和执行效率最优化.容器通过激活 睡眠EJBs使用EJBs缓冲池来共享EJBs等方法来实现这样的目的.事务管理,部署描述信息定义了一个EJBs的事务请求 容器负责管理分布式事务的复杂问题 例如 容器隔离事务性的数
15、据 并确保数据库更新成功等.(3)事务服务(transaction service)事务处理是企业计算中最主要的内容之一.对象事务服务提供了分布式事务处理的一个面向对象的框架.系统的事务服务设计遵循0 MG组织的对象事务服务模型0 TS(object transcation service)通过IDL Java映射 实现了一个Java的符合两阶段提交协议的事务服务JTS.在系统中定义了一组接口 其中包括规范中给出的Current Control Terminator Coordinator Resource Factory RecoveryCoordinator 自 定 义的0 TSServe
16、r接口以及与事务上下文对应的接口PropagationContext.用户可以通过这些接口的实234计 算 机 研 究 与 发 展2001年例对象方便地参与事务管理.图Z是这些接口以及他们之间的关系图.图Z服务器事务处理模型其中,O 负责管理该服务器上的所有事务,它维护一个事务 ash表,记录客户线程及其相应事务上下文之间的关系.PropagationContext即事务上下文,每一个PropagationContext对象与一个事务对应,它记录了与该事务相关的信息.事务服务通过传递事务上下文来传播事务.(4)事务管理(transaction manegement)事务管理模型如图3所示,它建
17、立在ORB之上,以CORBA的O 为核心,扩充了数据库连接管理 事务监控 日志管理等功能,使其具有完整的事务管理能力.图3事务管理结构 事务监控 提供一个可视化的界面,使用户可以实时监视 管理系统中所有事务.日志管理 记录事务日志,使用户可以查看和配置日志文件,并为事务回滚提供必要的信息.数据库连接管理 它能够将O 与数据库服务器无缝集成,并采用连接池技术优化数据库连接.这3个部分加上O 相互配合提供了完整的对象事务服务.()外部资源集成系统外部资源集成子系统是应用服务器的主要组成部分,为EJB组件提供需要的数据源.系统按照X/OPEN D P规范,设计了XA外部资源集成模型,能够集成符合X/
18、OPEN XA接口标准的数据库或其它外部资源.基于XA接口来实现,不但能够集成数据库服务器,而且能够集成任何支持XA接口规范的外部资源,例如C C,J 等.为了让EJB能够方便地访问外部资源,在服务器上扩展了外部资源集成来集成外部数据源,通过外部资源管理器,可以方便地管理和访问外部资源.外部资源集成系统模型如图4所示.图4应用服务器外部资源集成子系统模型在外部资源服务接口中,Resource anager是资源管理器接口,应用服务器管理器能够对外部数据资源进行管理和配置,包括资源增加 修改 删除等操作.EJB组件可以通过资源管理器接口来访问外部资源.通过XA资源接口集成数据库系统,要建立一个虚
19、拟外部资源对象,它实现EJBExternalResource接口,并封装目标数据库系统JDBC Z.0驱动程序的XA数据源对象.通过资源管理器接口能够集成Java环境下任何符合XA规范的外部资源,其思想是为外部资源按照EJBExternalResource接口标准创建合适的外部资源对象,然后将它纳入资源管理器的统一管理3344期齐勇等 基于Web的中间件系统集成框架 应用服务器的研究之下.(6)管理控制台(console control)管理控制台提供了一种手段来管理和控制各种节点.它以服务形式运行,为被管理者和控制台界面提供一个中间协调机构.被管理节点先把各自的代表对象注册到管理控制台,然后
20、由管理界面一次性地从管理控制台中取出并显示出来.在这整个过程中,涉及到代表对象从被管理节点到控制台界面的传送.这种传送包括数据和行为(方法)的传送.代表对象在被管理节点中创建,然后注册到管理控制台处,最后,代表对象从被管理节点传播到控制台界面并在控制台界面中执行其行为,与用户交互,完成节点的管理工作.图5为系统运行时控制台对事务监控的界面.图5应用服务器控制台事务服务状态监控界面(7)名字服务(naming service)名字服务是应用服务器的核心部分之一.它使用户可以查找对象以及给对象分配有意义的名字,从而使应用服务器能在查找过程中使用这些名字和所 指 对 象 间 建 立 联 系.应 用
21、服 务 器 包 含 一 个 在Visibroker名字服务上实现的JNDI(Java namingand directory interface).(8)其它服务(other services)除以上所提到的各个模块外,应用服务器还应提供并发性控制事件服务安全管理生命周期等多种服务,这些服务减轻了应用开发的复杂性和难度,和其它的模块结合在一起,构造了一个完整意义上的实用的应用服务器.(9)集成Web server构成完整的Web分布式环境从图1可知,中间层应用服务器是基于CORBA及EJB技术,支持分布对象处理,在此基础上集成相应的Web server以及后台数据库,从而构成完整的支持分布式应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 中间件 系统集成 框架 应用 服务器 研究
限制150内