EJB技术
1.J2EE简介
随着JAVA语言的不断发展,其在服务器端的开发优势越来越明显,因此,越来越多的技术融入到JAVA平台中,并且新的API和标准不断的出现以便更好的适应不同的需求,从而最终形成了集所有企业相关的标准和API于一身的J2EE平台。J2EE是开发分布式企业软件应用的平台。它包括EJB,RMI,JDBC,JSP,JNDI,JMS,JTA,JavaMail等技术。其中,Enterprise JavaBeans(EJB)组件架构是J2EE的基础和最重要的部分,
由于J2EE在各种领域内创建了适用于企业需要的一系列开放的标准,绝大多数供应商产品的基础架构或部件都是遵循J2EE标准来开发的,因此企业不需要再为单独的应用程序平台投资,而且可以选择J2EE中的组件来更好的满足自己的需要,使应用程序具有很好的扩展性和性能。
2.EJB简介
Enterprise JavaBeans(EJB)是一个软件组件模型。如今开发电于商务平台已大量使用组件技术.这是因为组件技术提供了服务器上的自治、企业级和分布式功能,并帮助开发者在不同颗粒度级别上定义和封装系统功能。通过采纳组件技术、已建立旧系统的企业在与从一开始就围绕前沿组件体系结构设计的新公司竞争起来更容易。而且软件组件比传统程序更易于为日后的需求进行维护、支持和修改。在金融行业中,利用以服务器为中心方式的优势在于,可以定义商业过程.将它作为一组软件组件编写一次,然后通过多种渠道传递。一旦使金融系统变为由单独的自治组件(而非单一庞大程序)组成.灵活性就随之而来了。
EJB的组件结构是以作为可复用的服务器端组件而设计的,它使企业能够建立可升级、安全可靠、可运行于多重平台且以商务为重点的应用程序。EJB可以让企业开发人员只集中于开发商务逻辑,而不用花费精力处理分布式服务器端系统所带来的底层问题,从而使开发人员可以快速开发大规模的企业应用。
使用EJB技术可以使我们获得以下收益:
· 生产效率: 使用EJB, 企业开发人员将会进一步提高生产效率。他们不仅能够获得在Java平台上的开发成果, 而且能够将注意力集中于商务逻辑, 从而使效率倍增。
· 业内支持: 试图建立EJB 系统的客户会获得一系列可供选择的解决方案。对于现有的应用系统,许多EJB产品的供应商(例如IBM和BEA)都提供了完善的升级手段,将系统升级到EJB模式。EJB技术已经被越来越多的公司所接受、支持和应用。
· 结构独立: EJB技术支持“即插即用”的企业级特性。它将开发人员和底层中间件相隔离; 开发人员看到的仅仅是J2EE平台,使得EJB 服务器厂商在不干扰用户的EJB应用程序的前提下, 有机会改进中间件层。
· 跨平台、跨厂商: 通过对Java平台的支持, EJB技术将“仅写一次, 随处运行”的概念提高到了一个新的水平。它可以保证一个EJB 应用程序可运行于任何服务器, 只要这个服务器能够真正提供EJB APIs。
3. EJB的体系结构
传统的EJB体系结构可以从两方面来考虑:客户端和服务器端。如图1所示:
图1:EJB体系结构图
在服务器端,即在EJB容器内主要包含HOME对象、EJB对象、Bean实例等。客户端则由客户端程序(客户端程序包括应用程序、小应用程序、Servlet以及另一个EJB等)、远程HOME接口和远程接口等组成。如果客户端要使用EJB实例,首先客户端程序执行JNDI检索,找到服务器端的HOME对象,返回HOME对象的引用。然后通过HOME对象引用向HOME对象申请创建EJB对象,HOME对象创建EJB对象,并向客户端返回此EJB对象的引用。接着,客户端再通过远程接口访问EJB对象,EJB对象截取客户端的服务请求,执行事务处理及安全控制,调用Bean的方法。