Enterprise JavaBeans组件慨述之三 - 编程入门网
服务器调用的应用程序提供运行时支持。现有的 Web 应用程序都沿用 CGI-BIN 编程模型,但预计第二层应用程序开发将转向 Java servlet 编程模型,后者提供大幅改善的性能和可移植性。除支持 Java servlet 外,Web 应用程序服务器还将添加 EJB 服务器功能,以支持使用 EJB 组件的应用程序。第三层代表企业级信息资源,可以包括关系数据库和面向对象的数据库、事务监视器和定制的应用程序。EJB 技术在这一设计中扮演着关键角色,因为,它使驻留在第二层上的应用程序组件,与组成第三层的企业资源之间的接口,得以标准化。
Java servlet、Java beans 和 Java server page 不是 EJB 应用程序方案的必需元素,但它们可与 EJB 组件一起工作,以提供基于 Java 的内聚性的应用程序环境。此处描绘的环境将以下职责指定给参与工作的 Java 组件: 给 Java servlet 指定了应用程序“控制器”的角色 JSP 页面处理数据表示和用户界面的任务 Java bean 充当“数据封装器”,存储中间结果的数据 EJB 组件提供访问企业信息资源的机制 客户可以使用一个假定的、基于 EJB 的 Web 应用程序更新现有的库存,并用容器管理式持久性和容器管理式事务,将访问库存数据库的位置封装在实体 EJB 组件的内部。库存票据可通过 Web 浏览器输入,浏览器提供一个 HTML 表单来捕获产品编号、供应商,等等,并在提交时调用一个 servlet。servlet 代码充当应用程序控制器角色,确定哪些企业数据库需要更新,需要用户追加什样的信息。servlet 可通过代表它的实体 bean 访问主库存数据库,并调用 JNDI 接口获取对此 bean 的本地对象的引用,然后使用 finder 方法定位所请求产品编号的远程对象。此时,通过调用远程对象的方法,servlet 可更新库存计数,接着容器将此方法委托给 EJB 组件。因为容器根据数据库更新,以对 bean 透明的方式划分一个事务,而且以对 bean 透明的方式将数据写入数据库来保证数据持久性,所以也就保持了数据的完整性。 从 EJB 组件返回到 servlet 的任何结果信息,都可以使用 setter 方法存储在一个(非企业的) Java bean 的属性中。此时 servlet 可将控制权转让给一个适当的 JSP 页面,以便将这些结果组合到表示格式中,并将结果返回给用户。JSP 页面很可能主要由静态文本和有关单个事务的可变信息占位符组成。在向浏览器发送表示数据之前,JSP 页面使用 getter 方法从 Java bean 的属性中获得可变数据元素。 基于 EJB 的三层设计提供了几个好处,包括: 访问企业数据的业务逻辑可封装在可重用、可移植的企业级 bean 中。 现有的企业系统只需很少修改或者根本不需要修改,就可以集成为企业级 bean。 企业应用程序所需的运行时服务,如事务和持久性,可以从 bean 中分解出来,并指定给此 bean 的容器。 无须更改 EJB 组件,即可修改控制应用程序流程的 Servlet。 Servlet 代码可将注意力集中在应用程序控制逻辑上,而无须考虑数据表示。 JSP 页面可将静态和动态内容混合在一起,生成表示信息。 用 Java 语言编写的系统组件,对于具有 JVM 的任何平台都是可移植的。 结论 在开发能够支持关键任务的企业级信息系统的过程中,EJB 规范代表了 Java 技术的下一个发展阶段。EJB 组件将随 JavaBeans 规范引入的 Java 组件模型,扩展到服务器领域,从而使业务逻辑组件的开发可以跨企业应用程序重用,并且可以跨支持 Java 的平台移植。由于包含了基于 RMI 技术的对象分布,所以支持跨多层的可执行组件的分立,从而允许最大的实现灵活性和高度可伸缩性。如果将常规的企业应用程序运行时服务重新定义为可指定给容器抽象的对象服务,则允许 EJB 组件的开发人员将精力集中在业务逻辑上,从而减小了通常与运行时服务相关的复杂性和平台相 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |