没有合适的资源?快使用搜索试试~ 我知道了~
EJB的体系结构:EJB的上层的分布式应用程序是基于对象组件模型的,低层的事务服务用了API技术。EJB技术简化了用JAVA语言编写的企业应用系统的开发,配置,和执行。EJB的体系结构的规范由SunMicrosystems公司制定。Inprise的EJB容器是基于1.1版的规范。EJB技术定义了一组可重用的组件:EnterpriseBeans。你可以利用这些组件,象搭积木一样的建立你的分布式应用程序。当你把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多个EnterpriseBeans,在加上一些配置参数。最后,这些EnterpriseBeans被配置到一个装了EJB容器的平
资源推荐
资源详情
资源评论
深入探究深入探究EJB应用技术的体系结构应用技术的体系结构
EJB的体系结构:的体系结构:
EJB的上层的分布式应用程序是基于对象组件模型的,低层的事务服务用了API技术。EJB技术简化了用JAVA语言编写的企
业应用系统的开发,配置,和执行。EJB的体系结构的规范由Sun Microsystems公司制定。Inprise的EJB容器是基于1.1版的
规范。
EJB技术定义了一组可重用的组件:Enterprise Beans。你可以利用这些组件,象搭积木一样的建立你的分布式应用程序。当
你把代码写好之后,这些组件就被组合到特定的文件中去。每个文件有一个或多个Enterprise Beans,在加上一些配置参数。
最后,这些Enterprise Beans被配置到一个装了EJB容器的平台上。客户能够通过这些Beans的home接口,定位到某个
beans,并产生这个beans的一个实例。这样,客户就能够调用Beans的应用方法和远程接口。
EJB服务器作为容器和低层平台的桥梁管理着EJB容器和函数。它向EJB容器提供了访问系统服务的能力。例如:数据库的管
理和事务的管理,或者对于其它的Enterprise的应用服务器。
所有的EJB 实例都运行在EJB容器中。容器提供了系统级的服务,控制了EJB的生命周期。因为容器掌握了绝大多数系统级
的issues(呵呵,不知道怎么翻译)。Enterprise Beans 的开发者不需要应用逻辑考虑进来。通常来说,EJB容器掌握了以下的
系统级issues.
1、Security--配置描述器(The Deployment descriptor)定义了客户能够访问的不同的应用函数。容器通过只允许授权的客
户访问这些函数来达到这个效果。
2、Remote Connectivity--容器为远程链接管理着低层的通信issues,而且对Enterprise Beas的开发者和客户都隐藏了通信
issues.Enterprise Beans的开发者在编写应用方法的时候,就象是在条用本地的平台一样的。客户也不清楚他们调用的方法
可能是在远程被处理的。
3、Life Cycle managment--客户简单的创建一个Enterprise beans的实例,并通常取消一个实例。而容器管理着Enterprise
Beans的实例,使Enterprise Beans实现最大的效能和内存利用率。容器能够这样来激活和去活Enterprise Beans,保持众多
客户共享的实例池。等等。
4、Trasction management—配置描述器定义了Enterprise beans 的事务处理的需求。容器管理着那些管理分? 事务处理的复
杂的issues。这些事务可能要在不同的平台之间更新数据库。容器使这些事务之间互相独立,互不干扰。保证所有的更新数
据库都是成功发生的,否者,就回滚到事务处理之前的状态。
Enterprise Beans 组件:组件:
Enterprise Beans 是基于分布式事务处理的企业级应用程序的组件。所有的Enterprise beans都有如下的特点:
Enterprise beans包含了处理企业数据的应用逻辑
Enterprise beans provider定义了Enterprise beans的客户界面(Enterprise beans 的远程界面)。这样的界面不受容器和服
务器的影响。于是,当一个Enterprise beans被集合到一个应用程序中去时,不用更改代码和重新编译
Enterprise beans能够被定制
各种系统级的服务,例如安全和事务处理的特性,都不是属于Enterprise beans class的。而是由配置和组装应用程序的工具
来实现。
有两种类型的Enterprise beans:
Session beans 和 entity beans
Session beans:
Session beans 是一种作为单个的client执行的对象。作为对远程的任务请求的相应,容器产生一个Session beans 的实例。
一个Session beans有一个client.从某种程度上来说,一个Session bean 对于服务器来说就代表了它的那个client.Session
beans 也能用于事务,它能够更新共享的数据,但它不直接描绘这些共享的数据。
Session beans 的生命周期是相对较短的。典型的是,只有当client保持会话的时候,Session beans 才是活着的。一旦client
退出了,Session beans 就不再与client相联系了。Session beans被看成是瞬时的,因为如果容器崩溃了,那么client必须重
新建立一个新的Session对象来继续会话。
一个Session bean典型的声明了与client的互操作或者会话。也就是说,Session bean了在客户会话期间,通过方法的调用,
掌握Client的信息。一个具有状态的Session bean称为有状态的Session bean.当client终止与Session beans互操作的时候.会
话终止了,而且,bean 也不再拥有状态值。
一个Session bean也可能是一个无状态的 session bean.无状态的Session beans并不掌握它的客户的信息或者状态。Client能
够调用beans的方法来完成一些操作。但是,beans只是在方法调用的时候才知道client的参数变量。当方法调用完成以
后,beans并不继续保持这些参数变量。这样,所有的无状态的session beans的实例都是相同的,除非它正在方法调用期
间。这样,无状态的Session beans就能够支持多个client.容器能够声明一个无状态的Session beans.能够将任何Session
beans指定给任何client.
Entity Beans:
Entity Beans对数据库中的数据提供了一种对象的视图。例如:一个Entity bean能够模拟数据库表中一行相关的数据。多个
client能够共享访问同一个Entity bean.多个client也能够同时的访问同一个Entity bean.Entity beans通过事务的上下文来访问或
更新下层的数据。这样,数据的完整性就能够被保证。
Entity Beans能存活相对教长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照
应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者
Beans自己管理。如果由容器控制着保证 Entity beans持续的issus。如果由Beans自己管理,就必须写Entity beans的代码,
包括访问数据库的调用。
Entity Beans是由主键(primary key 一种唯一的对象标识符)标识的。通常,主键与标识数据库中的一块数据,例如一个表
中的一行,的主键是相同的。主键是client能够定位特定的数据块。
EJB roles:
EJB体系结构通过把编程的过程分为6个不同的角色而使开发复杂的的应用系统变的简单。6个不同的角色,每个都有特定的
任务。6个角色包括下层的服务,应用程序的开发,配置和操作说明(issues)
EJB体系结构能够简化应用程序开发人员的工作。在EJB体系结构中,容器和代理服务承担了很多在其他环境中又程序设计嗽
背械5墓ぷ鳌U庋拇硖峁┝撕芏嘣葱枰绦蛏杓迫嗽北嘈创氲南低臣兜姆瘛?/p>
Infrastructure roles;(下层构造角色)
EJB Server Providor服务提供者是典型的提供分布式低层服务的代理。EJB服务提供者提供了一个分布式应用程序开发者需
要的平台和设施。也提供了分布式程序的运行时环境。
EJB Container Providor 容器提供者是分布式系统,事务处理,安全方面的专家容器提供者提供了一个EJB的配置工具,和这
些配置实例的运行时支持。
一个容器对一个或多个EJB来说,是一个运行时系统。它将Enterprise Beans和EJB服务,包括事务服务,安全服务,分布式
网络管理等胶合在一起。容器是既是一个定制的代码和对特定的 Enterprise beans产生详细代码的工具。容器也提供了一个
配置Enterprise beans的工具和管理监视应用程序的方法。
Application roles:(应用角色):(应用角色)
Enterprise beans Provider:Beans提供者在应用领域方面是专家。例如:Beans提供者可能是金融或电信方面的专家。Beans
提供者提供了业务tasks,Enterprise beans的业务方法,定义了beans的romote和home接口,还定义了beans的配置描述
器。因为容器管理着系统级的任务,所以,Beans提供者便不需要关心分布处理,事务处理,安全性能等从应用方面看来没
什么关系的方面。
Application Assembler程序组装器程序组装器:
这是一个将定制的Enterprise beans和其它的组件,例如,GUI client,applet,Servelet等组装成一个完整的应用程序的行家。
在Enterprise的配置器下,组装器在组装成一个应用程序的时候,只关心beans的接口,包括romote接口和home接口。而不
关心这些接口是怎么实现的。组装的结果就是一个一个的应用程序,或者由多个Enterprise beans组合成的一个比较复杂的
Enterprise beans.
Deployment and Operate roles配置和操作角色
配置器为特定的Enterprise beans配置特殊的操作环境。配置器为了适应应用程序,将多个Enerprise beans 组合起来,通过
修改Enterprise beans 的属性来达到配置相应的操作环境。例如,配置器通过设置配置描述符的相应的属性来设置事务和安
全方针。配置器的另一个任务是将应用程序与现有的Enterprise管理软件结合起来。
System Administrator系统管理者系统管理者;
是与配置应用有关的。管理者配置个管理Enterprise计算和网络服务的低层,包括EJB服务和容器。管理员监视着应用服务器
的运行状况,当应用服务器不正常运行是就采取相应的措施。典型的说,管理员使用Enterprise管理工具来与应用程序打交
道,通过由容器提供的hooks来配置。
传统的应用程序开发者现在是Enterprise beans的提供者。也可能是应用程序的装配者。这样能使他们将主要精力放在应用问
题或者应用逻辑上面。当安装Enterprise beans时,配置器定义了一系列的配置方针。机制的复杂性和执行配置的方针就交给
了专门的代理。虽然分布式的应用程序还是比较复杂,可是,应用程序设计者的工作却变的简单了,因为所有复杂的工作都
交给了EJB服务器和容器提供者了。
通过大量的设计之前的定义和命名约定,EJB达到了前面提到的目的。这样的编程体系结构限制了一定的自由,但是,允许
EJB服务器和容器提供者假定 贸绦虻纳杓疲⒁砸恢中兄行У姆绞嚼粗С炙恰?/p>
EJB的设计模式和命名约定:的设计模式和命名约定:
有三种途径来建立一个基于对象的,多层的,分布式的系统:无状态服务的途径,基于会话的途径和持续对象的途径。
无状态的服务是通过对象的操作提供一种功能的函数,但是,不保持会话的状态。当一个客户使用无状态的对象时,客户不
能够提供上一次操作的信息。
剩余9页未读,继续阅读
资源评论
weixin_38514526
- 粉丝: 7
- 资源: 930
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功