Bean是Enterprise Java Bean的缩写,一个Bean扮演着应用程序素材的角色。她包含有一个functional interface,一个life-cycle interface,以及一个实做它所支援的商业方法的类别。一个Bean的容器会实做bean的home interfaces与remote interfaces。
它包括 Entity beans,Session beans 和消息beans
不论是Session或者是Entity bean,都有一个interface来让客户端能够建立与移除一个bean instance。
EJB技术是java2平台企业版(J2EE)体系结构的一部分。他为分布式应用的开发、分发部署、运行提供了平台架构。此应用要求系统层的服务。例如:事务处理、安全性、客户端连接、数据库存取等。J2EE平台提供了这些服务,这使得你更多的关心商务逻辑,而不是系统层服务。在企业组件中编写的商业逻辑是一个可重复利用并可以在客户端调用的组件。J2EE服务器在c/s三层系统中扮演中间层服务器的角色。企业组件(Beans)将运行在这个服务器上。
1.中间层服务器的益处
中间层服务器在三层结构应用中扮演着重要的角色。他处理客户请求,使我们不参与复杂的后台和数据库操作。中间层服务器支持多种客户端。例如:网络浏览器、java应用程序、便携设备等。客户端处理用户界面,他们不进行数据库查询,不执行复杂的商业规则,不连接到传统的应用程序。而是让中间层服务为他们透明的处理这些操作。图1-1是三层应用的图解。层1有多个客户端组成,他向中间层服务器-层2请求服务。中间层服务器向存在于层3中的系统传递数据,将商业规则应用与数据并将处理完的结果返回给层1。
层1 层2层3
--------------- --------------- ---------------
| 网络浏览器 |<---->| |<---->| 文件系统 |
--------------- | 中间层 | ---------------
--------------- | | ----------------
|java应用程序 |<---->| 服务器 |<---->| 传统引用程序 |
-------------- | | ----------------
-------------- | | ---------------
| 便携设备 |<---->| |<---->| 数据库服务器 |
-------------- --------------- ---------------
中间层服务器向客户端提供商业服务。例如:一个在线购物应用程序中的中间层服务器提供如下服务:目录查找、订单输入、信用卡验证。中间层服务器同样也提供系统层服务。
*客户端远程调用和后台系统。
*会话与事务处理管理
*资源池
因为中间层提供了这些服务,所以客户端时“瘦”的、简单的、易于开发的。可以将一个新客户集成到一个已经存在的应用程序和数据库中。以防止将资源消耗在遗留系统中。中间层服务器能使你为企业构造庞大的分布式应用程序。J2EE平台体系结构使自己成为中间层服务器开发的理想选择。
2.J2EE体系结构
企业版java2 SDK-J2EE是sun microsystems公司提供的参考实现。下图展示了J2EE SDK体系结构的主要要素:
层1 层2 层3
====================
| J2EE 服务器 |
| ============= |
| | EJB容器 | |
| | --------- | |
| | |企业组件1|| |
| | ---------- | |
| | --------- | |
| | |企业组件2|| |
| | ---------- | |
| | --------- | |
| | |........| | |
| | ---------- | |
============= | ============== | ==============
| 客户端 |<--->| |<----->| 数据库服务|
============= | ============== | ==============
| | 网络容器 | |
| | --------- | |
| | | JSP文件| | |
| | ---------- | |
| | --------- | |
| | | Servlet | |
| | ---------- | |
| ============== |
====================
转载:javachinaworld
解决方案 »
- 有关axis调用webservice无参数传入但是有返回参数的方法
- jstl遍历问题
- JDBC中常用的方法?
- 在Eclipse下,为什么有的Java类需要serialVersionUID,而有的Java类不需要?
- 我学了半年的j2se,现在想学j2ee怎么入手?
- struts 表单验证出现奇怪问题
- 各位谁知JSP,Servlet等东东要放在Tomcat之类的容器下吗?
- 关于JAVA的书
- 在Windows2000下安装J2EE和部署J2EE应用程序的问题
- how to write a ejb ql !!!
- 初学者的问题,apache和tomcat有什么关系和区别?
- Struts中可以不用ActionForm是怎么实现了?
但在这里实际上是一种封装了的java构件