1. 什么是EJB?
最初知道EJB这个名词的时候,实在学习J2EE的十三个规范的时候,那个时候对于这个名字是那么的陌生,没有任何的理解, 在脑海中只是一个印象。
EJB (EnterpriseJavaBean )解释:
J2EE技术之所以赢得广泛重视的原因之一就是EJB.它提供了一个框架来开发和实施分布式商务逻辑,由此很显著的简化了具有可伸缩性和高度复杂的企业级应用程序的开发.EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用.容器负责提供公用的服务,例如目录服务,事务管理,安全性,资源缓冲池以及容错性。
总的来说,EJB是实现分布式业务逻辑的java组件,“企业“意味着应用的扩展性、可靠性、可用性、安全性、事务性以及分布性。而EJB为客户提供可分布和可部署的业务逻辑服务,并且拥有良好的接口,在提供管理和控制服务的容器中执行。并且是在应用服务之间是可重用的。
? 深入探知(概念篇)
如何理解企业级开发
企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。
企业级开发主要是针对企业级应用的开发。
如何理解服务器集群
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
如何理解分布式
分布式,就是可以放在多台计算机,同时运行的一系列程序的流程.
EJB 就是可以实现这一机制. 比如,存数据库用的EntityBean,可是放于一台处理机上, 而用于处理一般的逻辑性的东西,如session Bean,又是可以部署到另一个机器上. 各台机器间, 可以通过JNDI 技术, RMI(远程调用技术)来相互访问,合作。
? 深入探知(化整为零)
在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。
会话bean(Session Bean)
会话bean可以执行业务逻辑的操作,比如注册、数据库操作等等。
什么是会话?
也就是客户端获得EJB对象开始,,然后调用EJB的方法(可以是多次),直到客户端生命周期的结束,或客户端释放了EJB对象为止,称之为一次会话。
随着会话的终止,EJB对象也有可能被EJB容器摧毁。
调用过程
会话bean分为两种:有状态和无状态的会话bean。
无状态的会话bean
开发只有 Local 接口的无状态会话Session Bean,使用@Local 注释声明接口是本地接口。
开发只有 Remote 接口的无状态会话Session Bean ,使用@Remote 注释声明接口是远程接口。
当@Local 和@Remote 注释都不存在时,容器会将Bean class 实现的接口默认为 Local 接口。如果 EJB 与客户端 部署在同一个应用服务器,采用 Local 接口访问 EJB 优于Remote 接口。
有状态的会话bean
每个有状态Bean在bean实例的生命周期内都只服务于一个用户,bean class的成员变量可以在不同的方法调用间维护特定于某个用户的数据。
举例:购物车对象,每个用户都应有自己的购物车,不希望有人往你的购物车里添加或拿掉商品,而有状态Bean正好满足你的这种需求。
实体bean(Entity bean)
在说这个之前,我们先来理解什么是持久化?
持久化
在程序退出后信息可以长期保存的一种数据存储技术。
存储java对象的使用的是RDBMS(关系数据库管理系统(Relational Database Management System),比较主要的是:
JDBC直接访问数据库;EJB entity bean;JDO技术(java Data Objects);第三方O/R工具,如hibernate,其他如IBATIS,Castor,Toplink。
ORM(Object Relational Mapping)
将对象映射到RDBMS的技术称之为对象—关系映射。它能够实现内存对象同关系数据的相互转化。
Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。
消息驱动Bean(MessageDriven Bean)
这个暂时不做详细的介绍,在接下来的学习中我们再看。
2. 小结
这里只是一些浅薄的初始,在接下来的学习中将会深入的去学习,敬请期待。
版权声明:本文为博主原创文章,未经博主允许不得转载。