什么是EJB
什么是EJBEJB (Enterprise Beans )是基于分布式事务处理的企业级应用程序的组件。
Sun公司发布的文档中对EJB的定义是:
EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。
为什么要引入EJB
采用EJB可以使得开发商业应用系统变得容易,应用系统可以在一个支持EJB的环境中开发,开发完之后部署在其他的EJB环境中,随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。
单层体系
在单个处理空间中运行的应用程序称为单一体,对应于单一体的系统称为单层体系或单层系统。
单机系统和由连接大型机的哑终端组成的集中式系统都属于单层系统。
单层系统的缺点是:程序中任何部分的改变都导致重新编译全部代码。
两层客户机/服务器系统
20 世纪80年代后期,出现了新的计算模型——客户机/服务器系统——两层系统。
在两层客户机/服务器环境中,pc机至少把一些处理功能转移到了用户桌面。
因此,pc机既可以作为大型机的哑终端,也可以用来运行小型的应用程序,还可以把结果直接传给大型机上的应用程序。
在两层客户机/服务器环境中,程序员编写与供应商特定软件紧密结合的应用程序。通常,两层应用程序直接从客户机访问数据库服务或事务服务。在两层系统中,业务逻辑的任何改变仍要求对应的应用程序代码进行相应的改变。
同时,由于数据库和业务逻辑嵌入到服务器上的应用程序中,如果应用程序从一个数据库迁移到另一个数据库,则需要修改服务器代码。
为了克服上述缺点,简化代码的修改,应该使代码模块化,使业务逻辑和数据库服务器分开,因此需要三层模型。
表示层——提供用户界面。
业务逻辑层——实现业务逻辑。
数据层——负责业务逻辑层中所有数据的持久存储。
由于两层系统利用了客户机的处理能力,因而它具有良好的性能,但许多客户机对单一后端资源(如数据库)的特性会产生瓶颈,随着客户机数量逐渐增大,这会抑制可伸缩性、可用性和性能。
三层系统试图通过更有效地管理后端资源来消除这个瓶颈。
三层系统比相应的两层系统更灵活且更可扩展,这是因为商业逻辑和服务(如安全性和事务)都驻留在中间层,并且基本上独立于客户机应用程序。如果正确实现了三层系统,那么在使用 EJB 的情况下,服务会自动应用于客户机请求,因此服务是看不见的。
由于服务对于客户机不可见,因此对服务的更改也不可见。如果正确实现了三层系统,那么中间层上对商业逻辑的更改和增强也可对客户机应用程序隐藏。
三层体系结构使分布式应用程序开发变得更加复杂。
三层体系结构的进一步模块化和分布化,就形成了n层体系结构,也就是多层体系结构。
EJB简化了多层体系结构应用系统的开发过程。在分布式应用系统的开发中,采用多层体系结构的方法有很多优点,如增加了应用系统的可伸缩性、可靠性、灵活性等。因为服务器端构件可以根据应用需求加以修改,且构件在网络中的位置和应用无关,因此系统管理员可以很容易重新配置系统的负载。
EJB的作用
就是在这N-2层里面负责表示程序的逻辑和提供访问数据库的接口。EJB分为两类,一类是实体Bean(Entity Bean),这种EJB和数据库中的表有一一对应的关系,可以在数据改变的时候自动更新表里的内容。还有一类是对话Bean(Session Bean),这种EJB用于和客户端交互,代表了程序的逻辑,我们可以用这两种EJB来方便的构建自己的多层系统。
by fly易做图ou (石の頭丶)
补充:综合编程 , 其他综合 ,