Java EE平台介绍
2.1 企业应用总览
这一部分将对企业应用及其设计和开发进行简单介绍。
就像之前说的,Java EE 平台是为了帮助开发者开发大规模、多层次、可伸缩、服务可靠、网络安全的应用而设计的。对于这样的应用我们通常简称为企业应用。之所以这样叫,是因为这种应用都是为了解决大企业所遇到的实际问题而存在的。当然,企业应用不知对大规模企业,*机构有意义,在这个高速发展的网络写作社会,它对于个人开发者及小型组织一样有着不可或缺的作用。
企业应用通常对安全性及可靠性有着较高的要求,这也使得它变得不可避免的复杂,Java EE平台则通过提供一套通用的开发模式,API,和运行时环境使得开发者能更加的专注于功能性的开发。
2.1.1 多层次应用
在一个多层次的应用中,应用的功能被分割为相对独立的多个不同的功能区域,我们称之为层。一般来说,一个多层次应用包含,客户端应用层、中间层以及后端的数据访问层(通常我们也称之为企业信息系统层)。客户端层包含一系列客户端程序,用于构建相应的客户请求到中间层;中间层则分为web层及业务逻辑层,分别用于处理客户请求及处理应用数据,并将其存储到后端数据持久存储层中。
Java EE 应用开发主要专注于中间层的开发,使得企业应用开发变得更简单,健壮和安全。
2.1.1.1 客户端层
客户端层包括一系列需要访问Java EE服务端应用的客户端应用,这两者通常部署在不同的服务器上,客户端层向服务端发送请求,服务端处理请求并返回处理结果。客户端可以是任何形式的程序,包后浏览器,独立的应用或者其它的服务端程序等,
2.1.1.2 Web层
Web层主要用于处理客户端层及业务逻辑层之间的交互:
为客户端层动态的生成不同格式需求的内容
收集客户端用户请求并返回业务逻辑层处理结果
控制客户端层展现
维护交互会话
执行一些简单的逻辑及存储一些临时性的数据
如下,列出列一些Java EE 应用中设计web层开发的技术。
- JSF
Java Web 应用程序的一个用户界面 (UI) 框架 https://netbeans.org/kb/docs/web/jsf20-intro_zh_CN.html
- 表达式语言
一系列交互式展现标签 https://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html
- Servlets
Java 类,动态处理用户请求并返回结果,通常应用于HTML页面
- 上下文及依赖注入
2.1.1.3 业务逻辑层
业务逻辑层主是针对不同行业及领域存在的不同业务需求,相应的开发对应的业务处理功能,这也是一个企业应用的核心功能所在的地方。
业务逻辑层相关技术:
Enterprise JavaBeans (enterprise bean) components :EJB
JAX-RS RESTful web services
Java Persistence API entities
2.1.1.4 企业信息系统层
企业信息系统层(EIS) 包括数据库服务器,企业资源计划系统(ERP)及其它数据服务。数据通常是从企业应用的不同服务器上获取并被业务逻辑层进行处理的。
EIS 层相关技术:
The Java Database Connectivity API (JDBC)
The Java Persistence API
The Java EE Connector Architecture
The Java Transaction API (JTA)
.2 Java EE 服务器和容器
Java EE 服务器是实现了Java EE平台API并能提供标准Java EE服务的服务应用。 Java EE 服务器也通常被称为应用服务器, 如同web服务器向浏览器提供页面一样,它们可将应用的数据传递到客户端。
Java EE服务器以容器的方式运行应用的不同层次组件。使得不同组件之间能够协同作业。
2.2.1 Web容器
Web容器是web组件和web服务之间的联通接口。web可以是servlet,或者JSF页面,web容器负责维护web组件的生命周期,分发用户请求,提供上下文信息(例如当前请求数据)。
2.2.2 EJB 容器
EJB容器负责维护,运行管理EJB组件。
2.2.3 客户端容器
运行于客户端机器,连接客户端应用及服务端应用。
官方文档:https://docs.oracle.com/javaee/7/firstcup/java-ee001.htm