金水镇教扶摇:1.1.2 JavaEE的特点

来源:百度文库 编辑:偶看新闻 时间:2024/05/07 12:07:15

1.1.2 JavaEE的特点

业界对JavaEE的一般定义是:JavaEE是一个开放的、基于标准的平台,用以开发、部署和管理N层结构、面向Web的,以服务器为中心的企业级应用。

从上面的定义可以看出,JavaEE的核心思想体现在以下几个方面:

1. 用来开发N层结构的程序

为什么需要N层结构呢?要了解N层结构,就必须了解软件开发模式的演进。

最简单的软件开发模式,是单机形式,如图1-2所示:

图1-2 最简单的开发模式

在这种结构中,数据访问、表示和业务逻辑在一个应用程序中,功能紧紧耦合在一起。代码复用、代码可维护性、和代码的修改十分困难,并且,它不是分布式的,不具有可伸缩性。

因此,在网络流行之后,可以在各个客户端上面运行应用程序,各个客户端都访问服务器端的数据库,该模式称为"胖客户端"开发模式。如图1-3所示:

图1-3 胖客户端开发模式

在胖客户端开发模式中,支持了分布式的应用。但是,应用程序的任何更新,要对每一客户端进行部署,数据模型"紧耦合"在每一客户端,数据库结构改变将导致全体客户端改变,原始数据通过网络传递,加重网络负担。

于是,开发模式又进行了演进。将数据访问和业务逻辑放在服务器端,如图1-4所示:

图1-4 改进的开发模式在该结构中,数据访问和业务逻辑放在服务器端,当进行改变时,不需要通知客户机。如果客户机使用的是浏览器,那么连表示逻辑都可以存放在服务器端,称为"瘦客户端"。如图1-5所示:
图1-5 基于Web的瘦客户端开发模式

在这种结构中,计算方式向服务器端的集中转化。

从前面的篇幅可以看出,开发模式不断演进,层次越来越多,每一层可以被单独改变,而无需其它层的改变,降低了部署与维护的开销,提高了灵活性、可伸缩性。

不过,多层结构中,对企业级应用开发人员的要求较高,如熟悉分布式协议,进行一致性事务处理,负载平衡,安全等问题,都要进行考虑。而JavaEE技术就可以提供这些功能的支持。

2. JavaEE是一个基于标准的开放的平台

"标准"的概念来自于企业开发的实践。在企业级应用中,很多模块都是通用模块,如数据库访问、事务处理、安全机制等,如果这些模块每次由开发人员自己来完成,开发周期长,代码可靠性差。于是,就有团队或组织(或者称为"第三方厂商")专门开发了质量较高的通用模块,发布出去,这些被发布的模块,统称为中间件。

但是,对于同一个功能,不同的团队,中间件的编写风格各异,为了方便用户的使用,就必然需要制订标准。JavaEE就是这样一套标准。

JavaEE不是一门技术,而是一系列的技术标准。JavaEE的核心是一组技术规范,其中所包含的各类组件、服务架构,均有共同的标准及规格,按照该标准和规格编写的组件,就可以实现JavaEE相应组件的功能。

在企业应用开发的过程中,企业必须适应新的商业需求,项目的开发是渐进的,基于JavaEE平台的产品,几乎能够在任何操作系统和硬件配置上运行,如果平台升级,只要是支持JavaEE的平台,项目开发的成果都可以直接移植过去,不需要重新开发。基于JavaEE的程序只需开发一次就可部署到各种平台。比如,按照JavaEE规范编写的JSP,在企业规模较小时,可以运行在免费的Tomcat服务器上,当企业规模变大之后,采用了WebLogic服务器,此时几乎不需要改变JSP的代码,就可以将其部署到WebLogic服务器中,进而提高可移植性、安全与再用价值。

另外,如前所述,在企业应用开发的过程中,有一些通用的、很繁琐的服务端任务是不能忽视的,如安全性、事务管理、线程控制等,这些任务必须要做,但是和业务逻辑往往无关。在JavaEE中,这些工作可以交给中间件供应商去完成,开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。让开发人员用最简单的代码编制高性能的系统,极大提高整体部署的伸缩性。

开放性是Java技术的生命之源,目前,有很多厂商,如IBM、Oracle等,参与制订了JavaEE技术的规范,并开发了相应的产品,使得JavaEE的使用得到了大量的支持。