1.2J2EE核心API和组件
J2EE平台由一整套服务(Services),应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的13种技术规范进行简单的描述(限于篇幅,这里只能进行简单的描述):1,JDBC(JavaDatabaseConnectivity):JDBCAPI为访问不同的数据库提供了一种统一的途径,ODBC一样,象JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性.
2,JNDI(JavaNameandDirectoryInterface):JNDIAPI被用于执行名字和目录服务.它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象.3,EJB(EnterpriseJavaBean):J2EE技术之所以赢得某体广泛重视的原因之一就是EJB.它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发.EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用.容器负责提供公用的服务,例如目录服务,事务管理,安全性,资源缓冲池以及容错性.但这里值得注意的是,EJB并不是实现J2EE的唯一途径.正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的.4,RMI(RemoteMethodInvoke):正如其名字所表示的那样,RMI协议调用远程对象上方法.它使用了序列化方式在客户端和服务器端传递数据.RMI是一种被EJB使用的更底层的协议.5,JavaIDL/CORBA:在JavaIDL的支持下,开发人员可以将Java和CORBA集成在一起.他们可以创建Java对象并使之可在CORBAORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户.后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成.6,JSP(JavaServerPages):JSP页面由
HTML代码和嵌入其中的Java代码所组成.服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器.7,JavaServlet:Servlet是一种小型的Java程序,它扩展了Web服务器的功能.作为一种服务器端的应用,当被请求时开始执行,这和CGIPerl脚本很相似.Servlet提供的功能大多与JSP类似,不过实现的方式不同.JSP通常是大多数HTML代码中嵌入少量的Java代码,servlets全部由Java写成并且而生成HTML.8,XML(ExtensibleMarkupLanguage):XML是一种可以用来定义其它标记语言的语言.它被用来在不同的商务过程中共享数据.XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性.通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决
方案.9,JMS(JavaMessageService):MS是用于和面向消息的中间件相互通信的应用程序接口(API).它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持.JMS还提供了另一种方式来对您的应用与旧的后台系统相集成.10,JTA(JavaTransactionArchitecture):JTA定义了一种标准的API,应用系统由此可以访问各种事务监控.
11,JTS(JavaTransactionService):JTS是CORBAOTS事务监控的基本的实现.JTS规定了事务管理器的实现方式.该事务管理器是在高层支持JavaTransactionAPI(JTA)规范,并且在较底层实现OMGOTSspecification的Java映像.JTS事务管理器为应用服务器,资源管理器,独立的应用以及通信资源管理器提供了事务服务.12,JavaMail:JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类.不仅支持SMTP服务器,也支持IMAP服务器.13,JTA(JavaBeansActivationFramework):JavaMail利用JAF来处理MIME编码的邮件附件.MIME的字节流可以被转换成Java对象,或者转换自Java对象.大多数应用都可以不需要直接使用JAF.
1.3J2EE的四层模型
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上.事实上,设计J2EE的初衷正是为sun了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议.通常是某种数据库协议.它使得重用业务逻辑和界面逻辑非常困难.现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层.一个多层化应用能够为不同的每种服务提供一个独立的层,以下是J2EE典型的四层结构:
运行在客户端机器上的客户层组件运行在J2EE服务器上的Web层组件运行在J2EE服务器上的业务逻辑层组件运行在EIS服务器上的企业信息系统(Ente