
1.3 Java EE技术规范
Java EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,对开发基于Web的多层应用提供了功能支持,为进一步了解Java EE 7.0框架和其提供的核心API及组件,下面对Java EE中的常用技术规范进行简单的描述。
多层式应用(Multitier Application):多层式应用(或者多层式架构)分成多个逻辑部分,大多在多层服务器上实现。例如,三层应用模型:用户和浏览器,应用服务器,数据库服务器,其中应用服务器和数据库服务器就是分别在不同的服务器上来处理应用的请求。
多层式服务(Multitier Service):以三层架构模型的服务为例,应用服务器响应用户的请求,数据库服务器响应应用服务器的查询求情。
部署描述符(Deployment Descriptor):这是一个为打包好的应用提供部署信息的XML文件。
JavaBean Component:Java Bean的同义词,主要用在JSP范例中。Java Bean则是由一些包含私有属性的Java类组成,对外提供get和set方法。从技术上讲,这些类必须保证有一个不含参数的构造器并且实现Serializable接口。
JDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性。
JNDI(Java Name and Directory Interface):JNDI API被用于执行名字和目录服务。一种能存储和检索资源或者通过名字查找信息的方式。
EJB(Enterprise JavaBean):J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB与传统的Java Beans无关,主要试图从多重应用的后端(也就是服务器端)来压缩事务逻辑,其中一个试图解决的问题是确保数据库中事务处理的完整性。注意:EJB有多个版本,并且3.0版本已经从早期的版本分离出来。
RMI(Remote Method Invoke):正如其名字所表示的那样,RMI协议调用远程对象上的方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。
XML(Extensible Markup Language):XML是一种可以用来定义其他标记语言的语言,被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,可以得到一个完美的具有平台独立性的解决方案。
Java EE容器(Java EE Container):这是部署组装Java EE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。
Java IDL/CORBA:在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。它们可以创建Java对象并使之可在CORBA ORB中展开,或者还可以创建Java类并作为和其他ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将新的应用和旧的系统相集成。
JSP(Java Server Pages):JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Java Servlet:是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。它扩展了Web服务器的功能,作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
JavaMail:JavaMail是通过应用程序发送邮件方式的API,它提供了一套邮件服务器的抽象类,不仅支持SMTP服务器,也支持IMAP服务器。
JMS(Java Message Service):Message Service是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来将开发者的应用与旧的后台系统相集成。
JTA(Java Transaction Architecture):JTA定义了一种标准的API,应用系统由此可以访问各种事务监控,划清数据库中上行和下行的通信界限。
JTS(Java Transaction Service):JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API(JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
JCA(Java EE Connector Architecture,J2EE连接器架构):使应用程序能和信息系统(通常是数据库)通信。
JPA(Java Persistence API,Java持久化API):这是一个在数据库中存储对象的ORM(Object/Relational Mapping,对象关系表)定义。
JAAS(Java Authentication and Authorization Service,Java鉴别与授权服务):识别并控制服务权限的一张方式。
JAXP(Java API for XML Processing,加工XML文件的API):提供了处理XML文件的方式。
JAXR(Java API for XML Registries,提供XML注册的API):一个可以注册包含了元数据的XML的API。
JAX-RS:定义REST(含状态传输)之类服务的API。
JACC(Java Authorization Contract for Containers):在J2EE应用服务器和特定的授权认证服务器之间定义的一个连接的协约。
JASPIC(Java Authentication Service Provider Interface,Java认证服务提供者接口):这是与JACC互补认证的SPI(也就是服务API,Service API)。它定义了应用程序如何通过传统的认证服务。
Managed Beans:一个可以执行嵌入代码的Java对象。在Spring框架中,这是一些添加了@Autowired注释的对象。
CDI(Contexts and Dependency Injection for Java EE,上下文和依赖注入):CDI是Java EE整个下一代类型安全的依赖注入的事实上的API。在Spring框架中,应用程序可以设计应用的上下文,控制反转(IoC)和依赖注入功能(DI)。
Bean确认:通过设定好的规则判断Java Beans的状态是有效的。