日期:2014-05-19  浏览次数:20859 次

J2eeTutorial阅读笔记
整个J2ee规范实际上就是一部组件编写及组件之间的依赖关系的规范,正如书中所说:
Application logic is divided into components according to function,and the various application components that make up a Java EE application are installed on different machines depending on the tier in the multitiered Java EE environment to which the application component belongs,这里提到整个Java EE是个多层次的环境,每层都会有对应的组件,不同的组件运行在不同层级上,而不同的层又可能安装运行在不同的机器环境中,所以这也决定了标准的Java EE应用程序是多层的而且分布式的——“The Java EE platform uses a distributed multitiered application model for enterprise applications”。Java EE规范中所提及到的组件和层总结起来如下所示:
Application和applet是运行在客户端的组件--client层
Servlet,JSP,JSF是运行在服务器端的web组件--web层
EJB是运行在服务器端的business组件--business层
虽然一个Java EE应用程序可以由三层,四层或者更多层次构成,但一般都按以上三层来划分,因为这三层被分散在不同的地方如:客户端机器,应用服务器,数据库或者后台的其他原有系统。
Java EE模型图如下所示,可以看出这相对于传统的C/S两层在C和S之间多了一层多线程服务应用


客户端与服务器端的通信也根据每层的构成不同而不同,客户端可以直接与business层通信,然后business层与server通信,如果client是运行在浏览器上的便能通过JSP或者Servlet等web组件通信,web层再与business层通信。
就如这样


Java EE规范还定义了一些列容器级的服务比如
Java EE Security Model
Java EE transaction Model
JNDI
Java EE remote connectivity
由于Java EE架构支持注册式服务,所以即使有着一样的应用程序组件的Java EE应用程序也可能因其部署环境而有着不同的功能表现,如同一个enterprise bean在一个产品环境下访问数据库是一个权限级别,但是在另一个产品环境下可能是另一个访问级别。