J2EE WEB应用架构分析
1、架构概述
J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术。这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。完成这个步骤可以形成一个主要里程碑基线。形成这个基线有很多好处:
各种因数初步确定:为了形成架构基线,架构设计师要对平台(体系)中的技术进行筛选,各种利弊的权衡。往往架构设计师在这个过程中要阅读大量的技术资料,听取项目组成员的建议,考虑领域专家的需求,考虑赞助商成本(包括开发成本和运行维护成本)限额。一旦架构设计经过评审,这些因数初步地就有了在整个项目过程中的对项目起多大作用的定位。
定向技术培训:一旦架构师设计的架构得到了批准形成了基线,项目开发和运行所采用的技术基本确定下来了。众多的项目经理都会对预备项目组成员的技术功底感到担心;他们需要培训部门提供培训,但就架构师面对的技术海洋,项目经理根本就提不出明确的技术培训需求。怎不能够对体系中所有技术都进行培训吧!有了架构里程碑基线,项目经理能确定这个项目开发会采用什么技术,这是提出培训需求应该是最精确的。不过在实际项目开发中,技术培训可以在基线确定之前与架构设计并发进行。
角色分工:有了一个好的架构蓝图,我们就能准确划分工作。如网页设计,JSP 标签处理类设计,SERVLET 设计,session bean设计,还有各种实现。这些任务在架构蓝图上都可以清晰地标出位置,使得项目组成员能很好地定位自己的任务。一个好的架构蓝图同时也能规范化任务,能很好地把任务划分为几类,在同一类中的任务的工作量和性质相同或相似。这样工作量估计起来有一个非常好的基础。
运行维护:前面说过各个任务在架构图上都有比较好的定位。任何人能借助它很快地熟悉整个项目的运行情况,错误出现时能比较快速地定位错误点。另外,有了清晰的架构图,项目版本管理也有很好的版本树躯干。
扩展性:架构犹如一颗参天大树的躯干,只要躯干根系牢,树干粗,长一些旁支,加一些树叶轻而易举无疑。同样,有一个稳定的经得起考验的架构,增加一两个业务组件是非常快速和容易的。
大家都知道这些好处,一心想形成一个这样的J2EE应用程序架构(就像在windows平台中的MFC)。在这个路程中经历了两个大的阶段:
1.1、模型1
模型1其实不是一个什么稳定架构,甚至谈不上形成了架构。模型1的基础是JSP文件。它从HTTP的请求中提取参数,调用相应的业务逻辑,处理HTTP会话,最后生成HTTP文档。一系列这样的JSP文件形成一个完整的模型1应用,当然可能会有其他辅助类或文件。早期的ASP 和 PHP 技术就属于这个情况。
总的看来,这个模型的好处是简单,但是它把业务逻辑和表现混在一块,对大应用来说,这个缺点是令人容忍不了的。
1.2、模型2
在经过一番实践,并广泛借鉴和总结经验教训之后,J2EE应用程序终于迎来了MVC(模型-视图-控制)模式。MVC模式并不是J2EE行业人士标新立异的,所以前面我谈到广发借鉴。MVC的核心就是做到三层甚至多层的松散耦合。这对基于组件的,所覆盖的技术不断膨胀的J2EE体系来说真是福音和救星。
它在浏览器(本文对客户代理都称浏览器)和JSP或SERVLET之间插入一个控制组件。这个控制组件集中了处理浏览器发过来的HTTP请求的分发逻辑,也就是说,它会根据HTTP请求的URL,输入参数,和目前应用的内部状态,把请求分发给相应的WEB 层的JSP 或SERVLET。
另外它也负责选择下一个视图(在J2EE中,JSP,SERVLET会生成回给浏览器的html从而形成视图)。集中的控制组件也有利于安全验证,日志纪录,有时也封装请求数据给下面的WEB tier层。这一套逻辑的实现形成了一个像MFC的应用框架。
1.3、多层应用
Client tier客户层:一般为浏览器或其他应用。客户层普遍地支持HTTP协议,也称客户代理。
WEB tier WEB应用层:在J2EE中,这一层由WEB 容器运行,它包括JSP, SERVLET等WEB部件。
EJB tier 企业组件层:企业组件层由EJB容器运行,支持EJB, JMS, JTA 等服务和技术。
EIS tier 企业信息系统层:企业信息系统包含企业内传统信息系统如财务,CRM等,特点是有数据库系统的支持。
应用框架目前主要集中在WEB层,旨在规范这一层软件的开发。其实企业组件层也可以实现这个模型,但目前主要以设计模式的形式存在。而且有些框架可以扩充,有了企业组件层组件的参与,框架会显得更紧凑,更自然,效率会更高。
2、候选方案
目前,实现模型2的框架也在不断的涌现,下面列出比较有名的框架。
2.1、Apache Struts
Struts是一个免费的开源的WEB层的应用框架,apache软件基金致力于struts的开发。Struts具是高可配置的性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端java bean 的自动填充,支持验证的WEB 表单,国际化支持,生成HTML,实现表现逻辑和模版组成了struts的灵魂。
模型:模型以一个或几个java bean的形式存在。这些bean分为三种:Form beans(表单Beans),它保存了HTTP post请求传来的数据,在Struts里,所有的Form beans都是 ActionFrom 类的子类。业务逻辑beans,专门用来处理业务逻辑。系统状态beans,它保存了跨越多个HTTP 请求的单个客户的会话信息,还有系统状态。
视图:控制组件续传HTTP请求给实现了视图的JSP文件。JSP能访问beans 并生成结果文档反馈到客户。Struts提供JSP 标签库: Html,Bean,Logic,Template等来达到这个目的,并有利于分开表现逻辑和程序逻辑。
分享到:
相关推荐
### 当前流行的J2EE WEB应用架构分析 #### 一、引言 随着互联网技术的飞速发展,Java 2 Platform, Enterprise Edition (J2EE) 成为了构建企业级Web应用的重要平台之一。J2EE提供了多种技术组件,如JavaServer Pages...
本书被视为J2EE开发WEB应用的官方权威指南,是专业开发人员深入理解J2EE架构与实践的必备读物。 ### J2EE的关键概念 #### 1. 平台概述 J2EE平台基于Java编程语言,为开发者提供了一套全面的API集合,旨在简化大型...
### 基于J2EE与Ajax的Web应用架构设计 #### 一、引言 随着Web2.0模式在互联网中的快速发展,采用J2EE平台与Ajax技术的Web应用架构变得越来越成熟。Web2.0的核心技术包括博客(Blog)、RSS、标签(Tag)、P2P、维基...
J2EE 体系架构是由多个组件组成的,包括客户端、Web 服务器、应用服务器、数据库服务器等。其中,Web 服务器是 J2EE 体系架构的核心组件之一,负责处理客户端的请求和响应。常见的 Web 服务器包括 Apache、Tomcat、...
设计模式在当前的工程应用中越来越广泛 ,MVC 是软件开发中 的一种重 要的设计 模式 , J2EE 则是... 并构建了一个简 单、实用的 Web 应用框架 , 达到了视图 、控制 、模型的分层 , 成功实现了 J2EE 平台上的 MVC 架构 。
Struts框架是基于J2EE的一个成熟MVC框架,它通过Servlet、JSP技术,以及自定义标签和信息资源的整合,为Java Web应用提供了一个通用的框架。使用Struts,开发者可以无需从头开始实现MVC模式,从而大大缩短了开发周期...
本章的目的是提供J2EE 1.4平台、Web服务技术和J2EE 1.4 Web服务APIs的架构概述。J2EE(Java 2 Platform, Enterprise Edition)规范描述了如何将多种企业级Java API集成到一个完整的平台中。具体而言,J2EE 1.4规范...
### 基于J2EE的Web应用的MVC架构实现 #### 一、MVC设计模式概述 MVC(Model-View-Controller)是一种在软件工程领域广泛应用的设计模式,尤其在Web应用开发中占据重要地位。MVC的核心理念是将应用程序的业务逻辑、...
基于Ajax和J2EE的Web应用架构研究与设计,此篇论文介绍了Ajax在j2ee架构下的开发设计
Struts架构是J2EE中的一种常用的架构,Struts是一个基于MVC(Model-View-Controller)模式的Web应用程序架构。MVC模式将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。Struts架构的...
最后,作者在文档中提到了对J2EE应用开发的个人看法和市场现状的观察,强调了轻量级J2EE应用架构的设计理念和市场接受度。他认为,虽然经典J2EE应用架构在技术上有其艺术性和严谨性,但因为成本和复杂性较高,市场...
### J2EE体系架构分析(珍藏版) #### 一、J2EE的模型-视图-控制(MVC)体系结构 **1.1 模型-视图-控制结构简介** 模型-视图-控制(Model-View-Controller, MVC)是一种广泛应用于交互式Web应用程序的设计模式,尤其...
Java 2 Enterprise Edition (J2EE) 安全体系架构是设计用于保护企业级应用程序的框架,它提供了多种机制来确保保密性、完整性、真实性和不可抵赖性等关键的安全需求。以下是对这些核心概念的详细说明: 1. **保密性...
### 基于Ajax和J2EE的Web应用架构研究与设计 #### 一、Ajax技术介绍 ##### 基本概念 Ajax(Asynchronous JavaScript and XML)是一种用于创建交互式网页应用的技术,它整合了多种传统Web技术的新用法。在传统的Web...
本研究文集旨在帮助开发者深入理解J2EE平台的精髓,掌握Web应用的构建技巧,并通过实际案例提升开发能力。 首先,我们来看《J2EE研究文集.chm》。这份文档可能包含了对J2EE(Java 2 Platform, Enterprise Edition)...
标题:J2ee架构分析设计 描述:针对J2EE框架分析,在这资料里做了详尽的说明 本文旨在深入探讨J2EE架构的核心概念、关键技术和应用模型,以帮助IT专业人士更好地理解J2EE框架如何支持现代企业级应用的开发。J2EE,...
在信息技术领域,Java企业版(Java 2 Platform, Enterprise Edition,简称J2EE)是一种广泛使用的多层应用程序框架,专为开发和部署分布式Web应用程序而设计。J2EE提供了丰富的服务和组件模型,以支持企业级应用的...
随着互联网技术的发展,Web应用程序变得越来越复杂,为了更好地管理和组织这些应用程序,Java 2 Platform, Enterprise Edition(J2EE)提出了一种多层架构的设计理念。传统的J2EE四层架构包括:客户端层、Web层、...
【J2EE前端应用程式架构】是指在Java企业版(J2EE)环境中构建Web应用程序时,用于处理用户界面(UI)、展示逻辑、输入收集、页面流控制等方面的架构设计。这种架构通常涉及到多种技术和框架,旨在提高代码复用性、...
标题和描述均聚焦于“基于WebServices的J2EE和_NET架构比较”,这明确指出了本文的核心议题,即探讨在WebServices环境下,J2EE(Java2EnterpriseEdition)与.NET两个平台之间的差异与优劣。文章由国防科技大学计算机...