20070421 J2EE 资料 术语
http://www.yippeesoft.com
J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持。
二层化应用 — 通常被称为client/server应用 — 是大家谈论的最多的。在很多情况下,服务器提供的惟一服务就是数据库服务。在这种解决方案中,客户端程序负责数据访问、实现业务逻辑、用合适的样式显示结果、弹出预设的用户界面、接受用户输入等。client/server结构通常在第一次部署的时候比较容易,但难于升级或改进,而且经常基于某种专有的协议,通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。更重要的是,在Web时代,二层化应用通常不能体现出很好的伸缩性,因而很难适应 Internet的要求。
Sun设计J2EE的部分起因就是想解决二层化结构的缺陷。于是,J2EE定义了一套标准来简化N层企业级应用的开发。它定义了一套标准化的组件,并为这些组件提供了完整的服务。J2EE还自动为应用程序处理了很多实现细节,如安全、多线程等。
用J2EE开发N层应用包括将二层化结构中的不同层面切分成许多层。一个N层化应用A能够为以下的每种服务提供一个分开的层:
显示:在一个典型的Web应用中,客户端机器上运行的浏览器负责实现用户界面。
动态生成显示: 尽管浏览器可以完成某些动态内容显示,但为了兼容不同的浏览器,这些动态生成工作应该放在Web服务器端进行,使用JSP、Servlets,或者XML(可扩展标记语言)和(可扩展样式表语言)。
业务逻辑:业务逻辑适合用Session EJBs(后面将介绍)来实现。
数据访问:数据访问适合用Entity EJBs(后面将介绍)和JDBC来实现。
后台系统集成: 同后台系统的集成可能需要用到许多不同的技术,至于何种最佳需要根据后台系统的特征而定。
J2EE又增加了对EJB(企业级Java组件)、Java servlets、Java服务器页面(JSPs)和XML技术的支持。
J2EE提供了一个框架–一套标准API–用于开发分布式结构的应用,这个框架的实际实现留给了第三方厂商。部分厂商只是专注于整个J2EE架构中的的特定组件,例如Apache的Tomcat提供了对JSP和servlets的支持,BEA系统公司则通过其WebLogic应用服务器产品为整个 J2EE规范提供了一个较为完整的实现。
WebLogic服务器已使建立和部署伸缩性较好的分布式应用的过程大为简化。WebLogic和J2EE代你处理了大量常规的编程任务,包括提供事务服务、安全领域、可靠的消息、名字和目录服务、数据库访问和连接池、线程池、负载平衡和容错处理等。
通过以一种标准、易用的方式提供这些公共服务,象WebLogic服务器这样的产品造就了具有更好伸缩性和可维护性的应用系统,使其为大量的用户提供了增长的可用性。
J2EE是一个开放的、基于标准的开发和部署的平台,用于构建N层的、基于Web的、以服务端计算为核心的、模块化的企业应用。J2EE同时也是所有兼容 J2EE标准的应用服务器产品的统一标识。Sun公司领导着J2EE规范和标准的制定,但同时很多公司如IBM、BEA也为该标准的制定贡献了很多力量,所以J2EE每一个新规范的推出,都体现着整个业界对技术的共同认同。大家都遵守着“在标准上进行合作,在产品上进行竞争”的原则,从而使J2EE在技术规范上日臻完善和进步,同时又有各厂家实现J2EE规范的应用服务器产品在市场上推出,在姓能上、价格上互相竞争,为最终用户提供多样化的选择。
从图1中可以看出,J2EE技术是在J2SE的基础之上,提供了企业计算所必须的服务如事务、安全姓、消息服务等。J2SE平台提供Java运行时环境的标准功能,如对跨平台开发的支持和内存管理等。J2EE应用的组件如企业JavaBean(EJB)、JSP和Servlet运行于J2EE容器之中,通过连接器访问企业信息系统,如数据库系统、ERP系统和其他应用程序系统。J2EE应用可以集成一系列的客户端,包括独立运行的台式客户端、无线客户端,以及基于Web浏览器的客户端等。J2EE平台为开发企业应用提供了高姓能、高可靠姓和可伸缩姓的运行支撑环境。
图1 Ja2EEa平台体系架构
J2EE提供了一个多层的端到端的应用系统架构,如图2所示。在客户端层,多种客户端可通过多种不同的协议来访问中间层的J2EE服务,在设计J2EE 应用的时候,首先需要选择的就是J2EE客户端的类型,应根据用户的使用模式及应用环境的特点来选择适合的客户端类型和通信协议,如Java Applet客户端和Java Web Start客户端适合于复杂的图形用户界面,如大量的数据录入、数据统计等应用,能满足高效的用户交互需求,根据具体应用环境的不同,可选择HTTP (S)、RMI/IIOP或JNLP等通信协议。
图2 端到端的多层应用系统架构
在中间层,主要包括Web服务器和应用服务器。在实际部署时,它们可以运行于单一的或多个物理平台上。从可靠姓和可伸缩姓考虑,应该采用多个Web服务器和应用服务器。Web服务器接受从客户端发来的请求,通过JSP和Servlet技术动态生成响应的内容,JSP或Servlet可以接着调用运行于应用服务器EJB容器中的企业 JavaBean进行相应的业务处理和运算。而中间层通过标准的协议访问企业信息系统层来读取数据和调用服务。
总之,J2EE为我们提供了一个建立在开放和标准的技术之上、非常灵活的端到端的多层体系架构,从而满足各种不同企业应用的需求。
J2EE体系结构可以被分为5部分:
· Java语言系统
· 客户端程序设计模型
· 中间层基础结构
· 程序员企业级API
· 非程序员可见API
Java语言系统
在高层次上,Java语言系统看起来与.NET Framework类似。在这两种情况中,源代码都是被翻译成一种中间语言。但是,在.NET平台中,这种中间语言是MSIL,而在Java系统中,是Java Byte Code。在这两种情况中,中间语言被带入到运行环境中。在Framework中,运行环境是Common Language Runtime。对于Java,运行环境是Java虚拟机(Java Virtual Machine)。总体而言,Common Language Runtime和Java虚拟机有类似的功能,并且在技术进步方面,都无可置疑地在发展和彼此交互跃进。
这两种系统之间最重要的区别与源代码到中间语言的翻译有关。在.NET平台中,中间语言设计用来适应各种语言的需求。在Java中,中间语言设计用来满足Java的需求。虽然从理论上,从除Java外的语言生成Java Byte Code是可能的,但是实际上这还没有在任何一种商业产品中证明。
客户端程序设计模型
J2EE客户端程序设计模型重点集中在与浏览器的交互上。客户端程序设计模型有3部分:Java Applets,Java Servlets和Java Server Pages。
Java Applets用来对在浏览器内运行的Java代码进行打包。在.NET平台空间中,这在功能上与ActiveX相当。在笔者的经验中,applets或ActiveX组件使用的相对较少。电子商务体系结构一般都是以向表示层发出请求的浏览器为基础,然后表示层使用HTML页面进行响应。这种系统并没有使用ActiveX或Java Applets,因此笔者在本白皮书中并没有讨论这些技术的任何一种。
处理HTTP请求和HTML响应的重要技术是Java Servlets 和Java Server Pages 。这两种技术与微软空间中的ASP.NET(Active Server Pages)类似。
.NET平台与Java表示层中间的主要区别在于处理不同的客户端功能的方式。Java表示层沿用了以前的Microsoft ASP (pre .NET)模型,它使得表示层程序员的责任是决定最终的目的浏览器(或其他瘦客户端系统),瘦客户端系统的功能,以及如何生成HTML来充分发挥瘦客户端系统的优势。
中间层基础结构
对于J2EE,中间层基础结构是Enterprise Java Beans (EJB)。该规范的当前版本是2.0,可以从网上获得 。与J2EE相当的.NET平台是COM+。
在EJB和COM+之间,体系结构的差别非常少。这两种体系结构本质上是从MTS(Microsoft Transaction Server)派生出来的,是由微软公司在1996年引入的最初的面向组件的中间层基础结构。由MTS最先引入,然后合并到EJB和COM+中的重要想法包括:
· 通过组件示例的共享所实现的高可伸缩性
· 以中间层为中心的安全性
· 自动事务处理边界管理
EJB加入了一种新的体系结构想法,一项自动管理组件状态的技术。这项技术被称为entity beans(实体豆)。虽然这种想法具有吸引力,但是当前的实施却依赖于独立于数据库缓存的中间层数据缓存。很不幸的是,在这两种缓存之间没有保持一致性的机制。这意味着对实体豆的任何使用都会带来数据库损坏的高风险。在缓存一致性问题解决之前,在最佳试验技术方面,必须得不断考虑实体豆技术。
要连接EJB和COM+的深入比较,请参阅笔者最近的著作 。
程序员企业级API
我们调用Java Enterprise API 时的最重要部分如下:
· Java Database Connection (JDBC,Java数据库连接) 2.0 – 是用于从Java中访问关系型数据库的API 。这与.NET平台空间中的ADO.NET相当。
· Java Naming and Directory Interface (JNDI,Java命名与目录接口) – 是用于从Java中访问企业名称与目录服务的信息的API 。这与.NET平台空间中的Active Directory Services Interface (ADSI,活动目录服务接口)有点类似。
· Java Message Service (JMS,Java消息服务) 1.0 – 是用于异步工作流的Java API 。这在功能上与Microsoft Message Queue API相当,这个API已经被排队组件所替代。
历史博文
- jquery eval gzinflate base64 decode - 2009
- wordpress 2.8.4 - 2009
- 20071210 黄酒 - 2008
- 0421 winxp 正版认证 WGA - 2006
- 强人签名 执著 变通 木桶理论 - 2005
- 搜狐IT 博粹 xStats - 2005
- FireFox linux 安装 失败 - 2005
- YippeeCMPP 0.01 - 2005