软件体系架构模式在J2EE中的应用

本文介绍了软件体系架构产生的背景和架构模式的基本理论。重点介绍管道与过滤器体系架构模式的结构,实现,优缺点等,然后以J2EE的Servlet Filter为例进行剖析它是怎样应用该架构模式的,最后简单阐述了在其它J2ee应用中(Jboss和Axis)的实践。

软件体系架构

1、软件体系架构产生背景

在经历60年代的软件危机之后,使人们开始重视软件工程的研究。来自不同应用领域的软件专家总结了大量的有价值的知识。 当初,人们把软件设计的重点放在数据结构和算法的选择上,如Knuth提出了数据结构+算法=程序。 但是随着软件系统规模越来越大、越来越复杂,使软件系统的架构越来越重要。软件危机的程度日益加剧,现有的软件工程方法对此显得力不从心。对于大规模的复杂软件系统来说,软件体系架构比起对程序的算法和数据结构的选择已经变得明显重要得多。在此种背景下,人们认识到软件体系架构的重要性,并认为对软件体系架构系统、深入的研究将会成为提高软件生产效率和解决软件危机的最有希望的途径。 这时对软件体系架构的研究如雨后春笋般,出现了百家争鸣的现象,如Rational公司提出了"以架构为中心"的统一软件开发过程(RUP)。

2、软件体系架构模式

软件设计的一个核心问题是能否使用重复的体系架构,即能否达到体系架构级的软件重用。也就是说,能否在不同的软件系统中,使用同一体系架构。基于这个目的,许多学者们开始研究和实践软件体系架构的模式问题。在<Pattern-Oriented Software Architecture (面向模式的软件体系架构) >中首次提出了8种体系结构模式: 层(Layers)、管道和过滤器(Pipes and Filters) 、黑板(Black board )、代理者(Broker)、模型-视图-控制器(Model-View-Controller)、表示-抽象-控制(Presentation-Abstraction-Control)、微核(Microkernel)、映像(Reflection)。

J2EE体系架构

目前,J2EE技术已经成为企业级应用的首选平台,基于J2EE技术构建的软件系统越来越多。J2EE代表着先进的软件体系架构思想,许多软件体系架构模式在J2ee中均被广泛应用,从本文起陆续介绍各架构模式在J2EE中的应用。

管道与过滤器

1、概述

管道和过滤器(Pipes and Filters)体系架构模式是为处理数据流的系统提供的一种模式。它是由过滤器和管道组成的.每个处理步骤都被封装在一个过滤器组件中,数据通过相邻过滤器之间的管道进行传输。每个过滤器可以单独修改,功能单一,并且它们之间的顺序可以进行配置。下图是管道/过滤器模式的示意图。一个典型的管道/过滤器体系结构的例子是以Unix shell编写的程序。Unix既提供一种符号,以连接各组成部分(Unix的进程),又提供某种进程运行时机制以实现管道。另一个著名的例子是传统的编译器。传统的编译器一直被认为是一种管道系统,在该系统中,一个阶段(包括词法分析、语法分析、语义分析和代码生成)的输出是另一个阶段的输入。


2、问题

假如你正在开发一个必须处理或转换输入数据流的系统。把这样的系统作为单个组件实现是不容易的,这有几个原因:系统必须由几个开发人员同时进行协作开发,整个系统任务自然就被分解为几个处理阶段,而且需求很容易变动。因此你就要通过替换或重新排序处理步骤来为将来的灵活性作规划。通过加入这样的灵活性,采用现有处理组件构建是可以办到的。系统的设计尤其是处理步骤的内部连接,必须考虑以下因素:

未来系统的升级通过替换某些处理步骤,或重组步骤.

不同的语境中小的处理步骤要比大的组件更易于重用。

不相连的处理步骤不可共享信息。

存在不同的输入数据源,

可以用多种方式输出或存放最终结果。

时间: 2024-08-03 04:27:55

软件体系架构模式在J2EE中的应用的相关文章

备份软件体系架构解析

从今天开始,我将陆续分享有关备份架构和特性系列知识,数据保护方案目前主要分了两大类,一类是备份,另一类是容灾.备份主要是对数据提供多副本冗余,当数据发生误操作.病毒感染和丢失等逻辑错误后,可以用备份副本进行恢复,保证数据少丢失或甚至不丢失,CDP也是一种实时数据备份技术. 然而容灾是保证业务连续性的一种技术,主站点和容灾站点数据基本一致,主站点的数据错误也会同步到容灾站点,所以,容灾技术是当业务发生逻辑或物理故障后,通过容灾切换迅速拉起业务并提供服务,保证业务连续在线. 备份技术概述 数据备份的

“数字海洋”云架构模式初探

"数字海洋"云架构模式初探 崔伦辉,金继业,张燕歌,马珊珊 针对"数字海洋"建设,国内外学者已做了深入的研究,并取得了大量的成果,本文结合海洋信息化的特点,在研究我国 "数字海洋"建设现状和云计算关键技术的基础上,提出了 "数字海洋"云体系架构模式,探讨了 "数字海洋"采用云计算建设所面临的问题. 关键词-数字海洋; 云计算; 虚拟化; 体系结构 temp_12092608028568.pdf

iOS 开发中的 Flux 架构模式

本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时分享我们目前积累到的经验. 我尝试通过讨论代码来描述我们大部分的 Flux 实现, 它用于我们今天的产品中. 如果你只对综合结果感兴趣, 请跳过这篇文章的中间部分. 为什么从 MVC 转移 为了引入我们的决定, 我想要先谈一谈 PlanGrid 这个应用遇到的一些挑战.一些问题仅针对企业级应用程序,

Struts框架技术在J2EE中的研究和应用

j2ee 摘 要 简要介绍了J2EE技术及其应用程序架构的发展,论述了Struts框架的基本设计思想,分析了Struts框架开发系统的优点,并结合具体项目实现了Struts框架技术的应用. 关键词 J2EE:MVC:Struts:框架 J2EE简介 J2EE是一个开放的.基于标准的平台,可以开发.部署和管理N层结构的.面向Web的.以服务器为中心的企业级应用,它是利用Java 2 平台来简化与多级企业解决方案的开发.部署和管理相关的诸多复杂问题的应用体系结构. J2EE平台采用一个多层次分布式的

在J2EE中APPLET和HTML作为客户端的比较

j2ee|比较|客户端 前言 在j2ee中,客户端常用的两中方式是html,和基于application的applet,因为采用的技术不同,这两个方式都有其优缺点,在考虑采用何种技术(或者两种都用),需要根据两种技术的特点,以及此项目的应用范围来综合考虑.以下分"易用性","性能","维护,扩展","交互","安全"五部分来说明各自的特点,并针对客户,开发人员角色阐明一下个人观点. 易用性 客户对于易用性要

BI的体系架构及相关技术

一个BI系统为了满足企业管理者的要求,从浩如烟海的资料中找出其关心的数据,必须要做到以下几步: 1)为了整合各种格式的数据,清除原有数据中的错误记录--数据预处理的要求. 2)对预处理过数据,应该统一集中起来--元数据(Meta Data).数据仓库(Data Warehouse)的要求: 3)最后,对于集中起来的庞大的数据集,还应进行相应的专业统计,从中发掘出对企业决策有价值的新的机会--OLAP(联机事务分析)和数据挖掘(Data Mining)的要求. 所以,一个典型的BI体系架构应该包含

面向移动互联网的需求管理与应用架构模式研究

随着3G/4G移动通信技术和云计算.大数据等信息技术的不断发展和成熟,逐渐形成了"移动终端+无线通信网络+平台+应用"的价值承载体系结构,人们也逐渐习惯了借助移动终端完成互联网服务的消费,标志着人类社会已经步入移动互联网时代. 针对移动互联网时代对于服务提供商的要求,电信运营商需要在需求管理和应用开发模式方面进行创新.电信运营商传统的需求管理模式往往是业务部门在市场经营中形成对于业务支撑系统的需求,然后有软件开发商进行需求调研并开发实施.这种需求管理和应用开发模式最大的问题就是开发周期

解析SSD体系架构的三种部署方式

通过本篇您将了解到:许多用户今天无法理清市场上固态磁盘(SSD)有哪些种类.本篇对于SSD体系架构的解析介绍了三种部署SSD的主要途径:在阵列内部,在服务器内以及使用SSD设备.各种方式各有优劣,这其中还包括延迟问题和性能水平问题. 很少有一种新技术可以同时在提升性能的同时降低成本.不过,SSD这种很有意思的技术却达到了这种目标.主要的存储供应商中的大部分都开始提供全系列的SSD产品.固态存储驱动器可以以这样三种形式进行部署:基于阵列的SSD一般考虑部署在存储区域网络中:基于服务器的SSD一般部

云计算数据中心安全体系架构浅析

建立数据中心的目的是为了更好地利用数据.挖掘数据,向数据要效益.在数据中心中应用云计算技术则是一个必然的趋势.而从数据中心获得效益就必须有一个相对安全稳定的环境作为支撑,因此研究云计算数据中心的信息安全体系架构具有重要意义. 一.云计算综述 (一)云计算简介 在世界著名市场研究咨询机构Gartner评选的对多数组织最具战略意义的十大技术和趋势中,云计算技术位列第一. 云计算指IT基础设施的交付和使用模式,指通过网络以按需.易扩展的方式获得所需资源.从更深层次的角度来看,也可以不局限于IT基础设施