J2EE肌肉系统—四层模型
J2EE是基于JAVA技术的一种标准。为什么会有这种标准呢?
主要是在企业级应用开发其中有一些需求。比如数据库连接,邮件服务、事件处理等,都是一些通用模块。
而这些模块假设由开发者来开发。势必添加开发周期和代码量。于是很多公司开发了自己中间件。
可是不同的公司开发的中间件不同。达不到通用的效果。所以,为了通用必须提出规范,制定出一套的标准。
就跟什么样的螺丝帽适合什么样的螺丝钉一样,J2EE事实上是基于Java技术的一种标准,一种规范。
遵循此规范开发的应用能够编写一次。随处执行。实现跨平台效果。
J2EE刚接触,并没有多少的共鸣。唯一有共鸣的也就是J2EE的体系结构。前面学习过三层,J2EE仅仅只是是在三层的基础上又多加了一个客户层而已。
以下简介一下J2EE的体系架构,而且通过这个架构,对J2EE先有一个宏观的把控。
J2EE的应用程序是由组件构成的。组件是对数据和方法的封装。J2EE组件是一个封装了功能的单元,可以与相关的类和一些文件组合成J2EE应用程序。
J2EE的体系结构包含下面四层:
- client——客户层组件
- J2EEserver——Web层、业务逻辑层组件
- EISserver——企业信息系统层
1.客户层:包含Web浏览器,Applet(小型应用程序)和应用client。
J2EEclient能够是一个Web组件或者是一个应用程序client。
2.表示层(Web容器):
Web层组件是基于JSP和Servlet技术开发的。
Web层组件动态的给客户提供需求,根绝客户的不同请求作出不同的反应。同一时候Web层还能够包括一些JavaBean对象来处理用户输入,并把web层可能包括某些 JavaBean 对象来处理用户输入,并把输入发送给业务层上的EJB来进行处理。
3.业务逻辑层(EJB容器)
业务逻辑层实现后端业务处理的逻辑。由执行在业务层的EJB来进行处理。
EJB是J2EE技术的核心,在以后的学习中,须要进异步的理解。
以下先是对其进行一个初步认识:
EJB(Enterprise JavaBean)主要是企业的分布式方案,就是说当应用程序不分布在同一个电脑上时,就可能从一个server调用还有一个server的资源和方法。这个时候使用传统的JAVABean无法完毕,须要用到EJB技术来完毕。
(JavaBean和EJB的差别到后期进一步研究)
会话Bean(SessionBean)表示client程序的暂时交互,当client程序运行完成,会话Bean和相关数据随之消失。
实体Bean(Entity Bean)表示数据库表中一行永久的记录,能够进行保存。
消息驱动Bean(MessageDriven Bean)结合会话Bean和JMS监听器的特性,用于在业务层组件异步接受JMS消息。
因为EBJ组件是在容器里运行的,所以须要先启动容器才干装载EJB。
在EJB容器中,还涉及到非常多的协议,比如SOAP协议。JMS协议等等。
4.企业信息系统层,即提供项目信息的来源。如底层数据库资源,以及一些文件,比如消息。文件夹服务等。
J2EE採用多层的模型,主要还是遵循了软件开发过程中高内聚,低耦合的设计准则。将原来臃肿的client精简。分为多层。每一个层能够为每一种服务设定独立的一层,减少了层与层之间的耦合性。