background image

 

 

如果 Dolly 

 

在开发应用程序时了解 J2EE 所扮演的角色,那么她就可能避免遭遇这种困

境。J2EE 规范把职责委托给多个开发角色:组件提供者(Component Provider)、应用程
序 组 装 者 (Application Assembler) 、 部 署 人 员 (Deployer) 和 系 统 管 理 员 (System 
Administrator)。(在许多公司中,组件提供者和组件组装者的角色是融合在一起的,部
署人员和系统管理员的角色是融合在一起的。)

 

在真正了解 J2EE 

 

中的 JNDI 角色之前,掌

 

握 J2EE 角色的作用非常重要。
  组件提供者

 

    这 个 角 色 负 责 创 建 J2EE   组 件 , J2EE  

 

组 件 可 以 是 Web   应 用 程 序 、 企 业 级 

JavaBean(EJB)组件,或者是应用程序客户机(

 

例如基于 Swing   

的 GUI 客户机应用程序)。

组件提供者包括:HTML 

 

设计师、文档编程人员以及其他开发人员角色。大多数 J2EE 开

发人员在组件提供者这一角色上耗费了相当多的时间。
  应用程序组装者

 

  这个角色将多个 J2EE 模块捆绑成一个彼此结合的、可以部署的整体:企业归档
(EAR)文件。应用程序组装者要选择组件,分清它们之间的交互方式,配置它们的安全性

 

和事务属性,并把应用程序打包到 EAR 

 

文件中。许多 IDE

 

,例如 WebSphere® 

Studio、IDEA、JBuilder、WebLogic Workshop 

 

和其他 IDE,都可以帮助应用程序组装

 

者以交互方式配置 EAR 文件。
  部署人员(Deployer)

 

  这个角色负责部署,这意味着将 EAR 

 

安装到 J2EE 容器(应用服务器)中,然后配置

资源(例如数据库连接池),把应用程序需要的资源绑定到应用服务器中的特定资源上,
并启动应用程序。
  系统管理员(System Administrator)
  这个角色负责保证容器需要的资源可用于容器。
  角色实战

 

 

   假设有一个企业应用程序,该应用程序包含一个 Web 应用程序,还有一个负责业

 

务逻辑和持久性的 EJB 组件。开发这个应用程序的组件供应商可能有许多,但是在许多
情况下,可以由一个人来承担全部职责。组件可以包含数据传输对象(

 

一个 JAR 文件)、EJB 

接口(

 

另一个 JAR 文件)、EJB 实现本身(

 

另一个 JAR 文件)

 ——

,以及用户界面组件

 

servlet、JSP、HTML 

 

页面和其他静态 Web 

 

内容。用户界面组件被进一步打包成 Web 应

 

用程序,其中包含 servlet 类、JSP 

 

文件、静态内容,以及其他必需组件的 JAR(

 

包括 EJB 

接口)。

 

  这听起来好像用到的组件太多了,几乎超出了人的想像范围,尤其是 在考虑构建一

 

个典型的 Web 

 

应用程序需要使用多少个 JAR 文件的时候。但是,重要的是认识到在这里

 

必须小心地管理依赖性。接口和传输对象是 Web 

 

应用程序和 EJB 实现可以依赖的对象,

但是依赖性的方向应该是相同的;还要避免产生循环依赖。J2EE 组件(

 

例如 WAR 文件和 

EJB JAR 文件)必须在它们的部署单元之外声明它们在资源上的依赖性。

 

  应用程序组装者负责把 Web 应用程序中的依赖内容包含进来,并把它们整体打包
成单个企业应用程序。工具在这里帮助很大。IDE 

 

可以协助创建反映模块和 JAR 依赖性的

项目结构,还允许您随意指定包含或排除的模块。
  部署人员负责确保部署环境中存在组件所需的资源,并将组件绑定到平台的可用资
源上。例如,Web 

 

应用程序中的外部 EJB 引用(

 

部署描述符中的 ejb-ref)就是在此时被绑

 

定到实际部署的 EJB 

 —— 

组件

而且是立即绑定。