J2EE是由SUN提出的用于简化开发企业级应用程序的一系列规范的组合,J2EE基于中间层集成的框架的方式为应用开发提供了一个统一的开发平台、基于容器管理、组件化的模型为企业建立一个高可用性,高可靠性可扩展的应用平台提供支持,降低了开发分布式应用程序的难度,降低了开发成本,而且提供一整套方便与旧的遗留系统相集的强有力支持,并提供了安全性及规范的打包安装的支持。开发人员使用的J2EE规范开发的应用程序将受厂商及客户的支持。
J2EE是由一整套服务,应用程序接口及协议构成,提供对开发多层Web程序应用提供支持,下面介绍13种J2EE的规范:
1). JDBC (Java Database Connectivity):
JDBC提供了对各种数据访问的统一的路径,与ODBC一样,他屏蔽了一些内部的方法,同时他访问数据库也是平台无关性的;
2). JNDI(Java Name And Directory Interface):
Java命名与目录服务接口,用于为企业中多层的名子与目录提供访问的服务,使得应用程序组件可以访问这些服务;
他提供一致的模型用来存取跟操作企业级的资源如DNS或LDAP,本地文件系统,或应用服务器中的对象;
3). EJB(Enterprise javaBean):
EJB提供了一个框架开发跟实施企业级的商务逻辑,使得开发可伸缩性和高度复杂的应用得以明显的简化,EJB规范了组件与EJB容器何时如何进行交互作用。容器负责提供公共的服务,容器提供包括目录服务,事务管理,安全性,资源缓冲池以及容错性等服务。EJB不是实现J2EE的唯一方法,由于EJB的开放性,使得厂商可以以一种平行的方式提供相同的效果。
4). RMI (Remote Method Invoke):
远程连接调用方法/对象服务,用于调用远程对象上的方法,使用序列化的方式在客户端与服务端传递数据,是EJB使用的一种更底层的协议;
5). Java IDL(接口定义语言: Interface Define Language) / Corba (公共对象请求代理结构:Common Object Request Breaker Architechture):
在Java IDL的支持下,可以将Java对象与Corba集成在一起;可以创建Java对象并使之在Corba Orb中展开,或创建java类并做为和orb一起展的corba对象的客户,后一种方式提供一种新的方法,使的新的应用可以与旧的系统集成;
6). JSP(Java serverPages):
JSP是由运行在J2EE服务器上的由Web容器运行java 动态语言文件,他是HTML与嵌入其中的Java代码组件的页面。当页面被客户端请求后,服务器将处理这些java代码,并html的方式返回给客户端;
7). Java Servlet:
与jsp类似,他也运行在J2EE服务器的Web容器中,和JSP有区别的是,Servlet是以纯java代码的java应用程序;他扩展了web服务器的功能,当被客户端请求后将结构化的数据如XML, html,json的形式返回客户端;
8). XML (Extensible Markup Language):
XML是一种可以用来定义其他标记语言的语言,它被用于在不同的商务层传递数据,XML与Java的都具有平台独立性的特点,利用XML与Java的结合,可以为我们开发独立于平台的应用解决方案;
9). JMS (Java Message Service):
JMS是与面向消息的中间件相互通迅的应用程序接口(API),他即支持点对点的域,又支持发布/订阅的域,他提供对以下类型的支持:已许可的消息传递,事务性的消息传递,一致性消息以及具有持久性的订阅的支持;他提供了另一种应用与旧有系统的集成方法;
10). JTA (Java Transaction Architecture):
它定义了一个标准API,使得应用系统能够访问各种事务监控;
11). JTS (Java Transaction Service):
JTS是CORBA OTS事务监控的基本现实,JTS规定了事务管理器的实现方式,他在高层支持了JTA(Java Transaction API)的规范,并在底层支持OMG OTS specification的java是映象。JTS提供对应用服务器,资源服务器,独立的应用及通讯资源提供事务服务;
12). javaMail:
javaMail是用于存取邮件服务的接口(API),提供了一套邮件服务的抽象类,即技术SMTP服务器,也支持IMAP服务器;
13) JAF (JavaBeans activation Framework):
JavaMail利用JAF处理MIMI编码的邮件附件,MIME字节流可以被转换成Java对象,或转换自Java对象,绝大部分的应用都不用直接使用JAF;
----------------------------------------------------------------------------------------------