1. 企业应用概述
本节介绍企业应用程序及其设计和开发。
如上所述,Java EE平台旨在帮助开发人员创建大规模,多层次,可扩展,可靠和安全的网络应用程序。这样的应用程序的简写名称是“企业应用程序”,因为这些应用程序旨在解决大型企业遇到的问题。
然而,企业应用程序不仅对大公司,机构和政府有用。企业应用程序的好处对于个人开发商和小型组织在日益网络化的世界来说是有帮助的,甚至至关重要的。
使企业应用程序强大的功能(如安全性和可靠性)通常会使这些应用程序复杂化。 Java EE平台通过提供开发模型,API和运行时环境来减少企业应用程序开发的复杂性,从而使开发人员能够专注于功能。
1.1 分层应用
在多层应用程序中,应用程序的功能被分为隔离的功能区域,称为层。通常,多层应用程序具有Client 层,中间层和数据层(通常称为企业信息系统层)。Client 层由一个向中间层发出请求的客户端程序组成。中间层分为 Web层和业务层,处理客户端请求和处理应用程序数据,将其存储在数据层中的永久数据存储区中。
Java EE应用程序开发集中在中间层,使企业应用程序管理更轻松,更强大,更安全。
1.1.1 Client 层
Client 层由访问Java EE服务器并通常位于与服务器不同的计算机上的应用程序客户端组成。客户端向服务器发出请求。服务器处理请求并将响应返回给客户端。许多不同类型的应用程序可以是Java EE客户端,它们并不总是,甚至是Java应用程序。客户端可以是Web浏览器、独立应用程序或其他服务器,它们在与Java EE服务器不同的计算机上运行。
1.1.2 Web 层
Web层由处理客户端和业务层之间交互的组件组成。其主要任务如下:
- 动态地为客户端生成各种格式的内容;
- 从客户端界面的用户收集输入,并从业务层的组件返回适当的结果;
- 控制客户端上的屏幕或页面的流动;
- 维护用户会话的数据状态;
- 执行一些基本逻辑,并在托管bean中临时保存一些数据;
表2-1 列出了Java EE应用程序中Web层中使用的一些主要Java EE技术。
表2-1 Web 层Java EE 技术:
技术 | 目的 |
---|---|
JavaServer Faces | 一套Web应用程序用户界面组件框架,支持在XHTML页面上包含UI组件(如字段和按钮),称为Facelets 页面;转换和验证UI组件数据;将UI组件数据保存到服务器端数据存储;保持组件状态 |
EL 表达式 | Facelets页面中使用的一组标准标签来引用Java EE组件 |
Servlets | 动态处理请求并构建响应的Java编程语言类,通常用于HTML页面 |
上下文和依赖注入 | 一组上下文服务,使开发人员可以轻松地在Web应用程序中使用EJB 以及JavaServer Faces技术 |
1.1.3 业务层
业务层由为应用程序提供业务逻辑的组件组成。业务逻辑是向特定业务领域(如金融业或电子商务网站)提供功能的代码。在正确设计的企业应用程序中,核心功能存在于业务层组件中。
以下Java EE技术是Java EE应用程序中业务层使用的技术之一:
- 企业JavaBeans(企业bean)组件,简称 EJB;
- JAX-RS RESTful Web 服务;
- Java 持久化 API,简称 JPA;
1.1.4 企业信息系统(EIS)层
企业信息系统(Enterprise Information Systems,EIS)层由数据库服务器,企业资源计划系统和其他传统数据源(如大型机)组成。这些资源通常位于与Java EE服务器不同的机器上,并由业务层上的组件访问。
以下Java EE技术用于访问Java EE应用程序中的EIS层:
- Java 数据库连接 API(JDBC);
- Java 持久化 API(JPA);
- Java EE 连接器架构(Connector Architecture);
- Java 事务 API(JTA);
2. Java EE服务器和容器
Java EE服务器是实现Java EE平台API并提供标准Java EE服务的服务器应用程序。 Java EE服务器有时称为应用程序服务器,因为它们允许您向客户端提供应用程序数据,就像Web服务器将Web页面提供给Web浏览器一样。
Java EE服务器托管与多层应用程序中的层级相对应的多个应用程序组件类型。 Java EE服务器以容器的形式向这些组件提供服务。
Java EE容器是组件与由平台提供的用于支持该组件的下级功能之间的接口。容器的功能由平台定义,并且对于每个组件类型是不同的。尽管如此,服务器允许不同的组件类型一起工作以在企业应用程序中提供功能。
2.1 Web 容器
Web容器是Web组件和Web服务器之间的接口。 Web组件可以是servlet或JavaServer Faces Facelets页面。容器管理组件的生命周期,向应用程序组件分派请求,并提供与上下文数据的接口,例如有关当前请求的信息。
2.2 EJB 容器
EJB容器是在Java EE应用程序中提供业务逻辑的企业bean与Java EE服务器之间的接口。 EJB容器在Java EE服务器上运行,并管理应用程序的企业bean的执行。
2.3 应用程序客户端容器
客户端应用程序容器是Java EE应用程序客户端(使用Java EE服务器组件的特殊Java SE应用程序)和Java EE服务器之间的接口。应用程序客户端容器在客户端计算机上运行,并且是客户端应用程序和客户端使用的Java EE服务器组件之间的网关。
原文地址:
https://docs.oracle.com/javaee/7/firstcup/java-ee001.htm
https://docs.oracle.com/javaee/7/firstcup/java-ee002.htm