一. J2EE技术
什麽是Java2 platform,enterprise edition?
J2EE是美国Sun公司刚刚推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。
当今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客户之间的响应时间,这就需要存在一种简捷,快速的服务于企业,合作伙伴和雇员之间。
典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。这些服务要具备以下的特点:
a. 高可用性:来满足现在的全球商业环境
b. 安全性:保护用户的隐私和企业数据的安全
c. 可依赖性和可扩展性:保证商业交易的正确和迅捷
通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。
J2EE正式降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快
速的展开,并能够更轻松的面对竞争中的压力。
J2EE通过定义一种标准的结构来实现它的优势,如下:
a. J2EE Application Programming Model ----一种用于开发多层次,瘦型客户用户程
序的标准设计模型
b. J2EE Platform----一个标准的平台,用来整合J2EE的应用程序,指定一系列的
接口和方法
c. J2EE Compatibility Test Suite----一套兼容测试组件,用来检测产品是否同J2EE 平台兼容
d. J2EE Reference Implementation----用来示范J2EE的能力
2.J2EE 应用程序模型
J2EE是被设计为顾客,雇员,供应商,合作者提供企业级服务,这样的应用程序天生具有复杂性,他们要访问各种类型的数据并分发于大量的客户端。
为了更好的控制,管理这些应用程序,支持各种各样用户的商业功能要在中间层引入,中间层描述了一个被企业的信息技术部门紧紧控制的环境。
J2EE应用程序依靠于EIS层来存储企业的商业数据。这些数据和用来管理它的系统是企业中的核心。
最初,双层结构(client-server)应用程序模型许诺将提高伸缩性与更广阔的功能,但不幸的是,直接向用户提供EIS服务的复杂性和再每台用户计算机上安装和维护商业逻辑所引起的管理上的问题成了很大的限制。
而这些再双层结构中的限制在三层结构中已不存在了。
如今要求既开发服务的商业功能,还要开发访问数据库和其他资源的代码,这是很复杂的,因为每一种多层结构的服务器都有它自己的应用模型,因此组建一直富有经验的开发队伍将是困难的。另外,随着服务规模的扩大,为了降低开支和加快响应速度,也要经常对其基层代码进行修改。
J2EE应用模型定义了一种建筑模型来让多层应用程序实现服务,并消除了以上的问题,提供了可伸缩的,易访问的,易于管理的方法。
J2EE应用模型把实现多层结构服务的工作划分为二部分:
开发者实现商业和表达逻辑,以及由J2EE平台提供的标准的系统服务。
开发者可以依赖于这个平台为开发中间层服务中遇到的系统级硬件问题提供
解决方案
J2EE应用模型为中间层应用程序提供了编译一次,任意运行的特点(write once,run anywhere),这种标准模型最小化了培训开发人员的费用。
J2EE应用程序模型通过在建立多层应用程序中最小化其复杂程度,围简化和加速应用程序的开发迈出了重要的一步。
3.Java技术基础
J2EE应用程序模型起始于Java程序语言和Java虚拟机,他们提供的不断提高的便携性,安全性和开发人员能力的提高是应用程序模型的基础。
应用程序模型通常包括JavaBean组件模型,JavaBean是的为普通功能编写基于Java技术的代码更加容易,利用JavaBean的开发工具可以可视的定制,组合这些组件。
4.安全性
当其他的应用程序模型需要在每个程序中有特定平台的安全性时,J2EE平台环境使在开发时安全约束便已定义了。
J2EE平台定义了一种标准的公开的存取控制规则,当程序在企业平台上开发时就已被程序师定义和解释了。J2EE也需要提供一个标准的注册机制以便应用程序不用将这些注册机制和逻辑相混合,相同的工作要执行于大量的不同的环境中而并不需要改变源代码。
例如:J2EE应用程序开发人员可以指定几个安全级别(如,user,superuser,administrator),于是他们写出代码来检查当前用户权限的级别当用户访问数据时。在开发阶段,开发人员赋予多组用户适当的安全级,使应用程序能够容易的判断限制级在执行限制操作之前。
5.中间层
J2EE应用程序模型的一个主要优点便是在中间层的多层应用程序。在J2EE平台,中间层商业功能是由企业JavaBean实现的。
这些企业Beans允许服务开发者集中于商业逻辑,并且让EJB Server处理传送稳定的,可升级服务的复杂工作。
JavaServerPages 技术和Servlets向客户层提供了易于访问的Internet型服务的中间层功能。Jsp技术使用户接口开发者更加容易的提供向任何浏览器用户提供动态页面的服务。Servlets让基于Java技术的开发者有更大的自由来在Java语言中提供完全的动态服务。
6. 客户层
J2EE平台支持几种类型的客户。
许多J2EE服务被设计为浏览器用户服务,这些服务通过动态生成Html页和表单来同客户端实现交互,而Jsp和Servlets是通过让这些商业数据通过某种方式格式化,使客户端更容易来同它工作。这些客户端可以是运行于浏览器中的JavaApplet和基于Java技术的程序。
要注意的是安全是多层结构的关键部分,在J2EE中安全性总是通过平台和管理员来解决的。在大多案例中,服务方或客户方都不需要开发者与安全逻辑。
7. 基于Html页的客户
在Java2中可以实现向用户的浏览器直接提供动态Html页的服务,在JavaServerPage 技术中通过在Html页中插入Java代码动态生成页是一种很容易的事情。在一些例子中,某些服务需要一些综合的代码,者可以通过从Jsp中调用JavaBean的方法来实现。
8. J2EE声明
J2EE应用程序模型的一个重要的目标就是使应用程序最小化。实现这一点的一种方法是提高在J2EE平台上运行普通任务的负担,这些普通任务包括强制一个应用程序的安全目标,执行它的交易处理,链接它所需要的组件。
J2EE提供了一种简单的,公开的方式来说明这些行为。这些说明被分散的放在各部分代码中和开发描述中,开发描述是应用程序包的一部分,这些基于xml的说明使应用程序开发者不用修改任何组件就可以改变应用程序的作用。