为支持企业级应用开发的完整体系结构,从而极大简化企业解决方案在设计、开发、部署和管理等各方面的问题。目前,J2EE已经成为企业级开发的工业标准和首选平台。J2EE是一个开放的、基于标准的平台,可以开发、部署和管理N层结构的、面向Web的、以服务器为中心的企业级应用,它是利用Java2平台来简化与多级企业解决方案的开发、部署和管理相关的诸多复杂问题的应用体系结构。
J2EE平台采用一个多层次分布式的应用模式。J2EE应用可以由三或四个层次组成,因为它们是被分布在三个不同的地点:客户端机器、J2EE服务器和数据库或后端的传统系统服务器。三层架构应用是对标准的客户端/服务器应用架构的一种扩展,即在客户端应用和后台存储之间增加一个多线程应用服务器,如图2-1所示。
图2-1 J2EE层次结构
客户层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务。业务层位于客户层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开。这个层次提供客户应用程序和数据服务之间的联系,主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序[2]。数据层是三层模式中最底层,它用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。
2.1.1 J2EE平台
J2EE体系包括JSP、Servlet、WEB SERVICE等多项技术。这些技术的出现给电子商务时代的WEB应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。
J2EE体系结构架提供了中间层集成框架,它用来满足高可用性、高可靠性以及可扩展性的应用需求。通过J2EE所提供的统一开发平台,可以极大降低开发多层应用的费用和复杂度,并且能够提供对现有应用程序集成的强有力的支持,并且具有良好的向导支持打包特性和部署应用特性,支持添加目录功能,并对安全机制进行了增强,显著提高了性能[3]。
J2EE平台由一整套服务、应用程序接口和协议构成,它对于开发基于Web的多层应用提供了功能支持,下面简单的描述一下J2EE中的几种关键技术:
(1) EJB(Enterprise Java Beans):EJB提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池等。但EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。
(2) JSP(Java Server Pages):JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
(3) Servlet:Servlet是一种小型的Java程序,它扩展了Web服务器的功能。Servlet程序在服务器端运行,动态地生成Web页面[4]。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。
2.1.2 MVC设计模式
MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层--模型层、视图层、控制层。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己[5]。Struts架构只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现。
1) 模型(Model)
模型是指业务流程、状态的处理以及业务规则的制定,是MVC最主要的核心,它接受视图请求的数据,并返回最终的处理结果。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉开发人员,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据[6]。MVC并没有提供模型的设计方法,而只告诉开发人员应该如何组织管理这些模型,以便于模型的重构和提高重用性。
2) 视图(View)
视图代表用户交互界面,对于Web应用来说,包括HTML、XHTML、XML和Applet等形式,且随着应用的复杂性和规模性的提高,界面的处理也变得具有挑战性。MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括业务流程的处理。业务流程的处理交予模型(Model)处理。
3) 控制器(Controller)
控制器从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。
2.2 SSH整合技术
2.2.1 Struts框架
Struts是一个Web Framework,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。Framework的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个framework开发上的结构。
Struts由一组相互协作的类(组件)、Serlvet以及JSP Taglib组成。基于Struts构架的web应用程序基本上符合JSP Model的设计标准,可以说是MVC设计模式的一种变化类型。Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)[7]。在模型层,Struts可以很容易的与数据访问技术相结合,包括JDBC和Object RelationBridge。在视图层,Struts能够与JSP,Velocity Templates,XSL等等这些表示层组件想结合。Struts框架内部运行机制图如图2-2所示。
图2-2 Struts框架内部运行机制图
2.2.2 Spring框架
Spring框架是个优秀的多层J2EE系统框架,目的是用于建立"快装式企业应用",它为企业级应用提供了一个非常轻量级的解决方案,大大降低了应用开发的难度和复杂度,提高了开发效率。
Spring框架是由OpenSource开发的一个优秀的多层J2EE系统框架,它为企业级应用提供了一个非常轻量级的解决方案。你可以把Spring当作一个一站式企业应用,或者一个标准开发组件,根据自己的需要,只取用它的部分组件使用而无须涉及其他。
Spring的核心是个实现了IoC(Inversion of Control)模式的轻量级容器,其目标是实现一个全方位的整合框架,在此框架下实现多个子框架的组合,而这些子框架又可以彼此独立,也可以使用其它的框架方案加以替代。Spring希望提供一站式的框架整合方案。同时Spring框架实现对AOP(Aspect Oriented Programming)思想的支持,这大大增加了框架的扩展能力。
Spring的核心概念IoC的具体体现为
上一篇:
基于J2EE的考勤管理系统(word文档)
下一篇:
关于XX镇中小企业电子商务应用发展趋势的研究