论坛首页 入门技术论坛

步入j2ee架构设计

浏览 3131 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-04-02  
1.RUP简介
   谈到架构设计,就不能说rup,架构是在rup中最早提出来的。
   RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
   RUP把一个项目开发概括成4个阶段,9个核心工作流程,6大方法。
RUP定义了初始、细化、实现和部署4个阶段
RUP是最佳软件开发经验的总结,它包括了软件开发中的六大方法:
1)迭代式开发;
2)管理需求;
3)使用基于组件的软件体系结构;
4)可视化建模;
5)验证软件质量;
6)控制软件变更。
RUP的9个核心工作流程是:
1)业务建模,理解待开发系统所在的机构及其商业运作,确保所有人员对它有共同的认识,评估待开发系统对结构的影响;
2)需求,定义系统功能 及用户界面,为项目预算及计划提供基础;
3)分析与设计,把需求分析结果转换为分析与设计模型;
4)实现,把设计模型转换为实现结果,并做单元测试,集成为可执行系统;
5)测试,验证所有需求是否已经被正确实现,对软件质量提出改进意见;
6)部署,打包、分发、安装软件,培训用户及销售人员;
7)配置与变更管理,跟踪并维护系统开发过程中产生的所有制品的完整性和一致性;
8)项目管理,为软件开发项目提供计划、人员分配、执行、监控等方面指导,为风险管理提供框架;
9)环境,为软件开发机构提供软件开发环境。
架构是rup的一个核心元素。
在rup中,软件的架构涉及到从早期的系统概念到设计,开发,测试,操作范围内的系统结构的计划和维护。

2.架构设计定义
    架构设计其实是两个概念:架构和设计。架构主要关注非功能性的,而设计关注的是应用业务用例,是和软件功能相关的。
    架构设计中的架构部分是一种抽象机制,用以澄清设计意图,提供设计之分析基础,改善可维护性,提供决策,减少风险所需的信息。
   架构设计中的设计部分主要是指如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。

3.架构设计的总体目标
   架构设计的总体目标,可以概括如下:
1)最大化的重用
2)尽可能的简单明了
3)最灵活的扩展性

4.基于组件的架构设计
    能够像生产汽车那样,将各个部件组装起来就能造出一辆汽车,在软件开发领域一直是个梦想。组件开发思想的出现,则使这个梦想更近了一步。组件,意味着高内聚、高复用,我们只需了解其外部接口规格,就能使用其功能,无需知道其内部如何实现及运作。
  软件架构在组件的设计、规范和使用中扮演着重要角色。软件的架构提供了组件设计和重复使用的设计环境。组件在软件架构的预定义方面扮演一定的角色。
    基于组件的架构设计必须由一系列独立部署的组件组成,组件的设计应该满足以下要求:
    第一,组件粒度合理。
    第二,分布式、面向接口访问
       组件实例能部署在一台或多台主机,服务使用者通过构件的逻辑名称即可获取服务而与构件所在主机的物理位置无关。
    第三,松耦合、高内聚原则
       组件之间保持松耦合状态,服务的具体实现方式对服务使用者透明。在构件内部所实现的功能与结构保持高度逻辑相关性的同时,保证组件间的相互独立性。
    第四,共享信息服务
      共享信息服务遵循企业的数据模型规范,外部系统通过企业集成与接口平台,访问系统的共享信息,以实现系统间的集成与互操作。
    第五,业务过程与组件实现分离
      业务过程与组件实现的分离的原则,利用流程管理、策略管理和界面集成技术,动态地定义系统的行为以实现系统功能。

   5.框架,模式,架构设计 
   框架是一个可实例化的、部分完成的软件系统或子系统,它为一组系统或子系统定义了架构,并提供了构造系统的基本构造块,还为实现特定功能定义了可调整点。在面向对象环境中,框架由抽象类和具体类组成。
   模式用来描述所交流问题及其解决方案。每个模式都是由三部分组成的一个规则。这个规则描述特定环境,特定系统作用,特定软件配置之间的关系。当一个领域逐渐成熟的时候,自然会出现很多模式。
   他们三者之间的关系如下:架构设计、框架、模式是一种从大到小的关系,也是一种组合关系。一个框架可能使用了多个模式,而一个架构设计有可能应用了多个框架。

6.j2ee平台的架构设计
      j2ee平台技术架构的核心思路是采用分层结构开发和设计,将界面、业务逻辑和数据分离,实现系统内部松耦合,以灵活、快速地响应业务变化对系统的需求。涉及到的设计模式包括:
   a.server page(叶面内容和逻辑)
   b.页面控件重用
    c.页面内容和表现风格的分离
    d.页面输入验证
    e.多语言支持
    f.用户身份认证确认
1)j2ee系统层次结构
系统层次结构一般划分为数据层、业务逻辑层和控制层。当然,也可以根据需要划分更多层.
  a. 数据层
     这一层为企业的信息系统服务,包括数据库系统,事务处理系统和与数据库交互的系统
  b.业务逻辑层
    实现系统业务逻辑相关的处理功能,它包括业务组件子层和展现组件子层,分别实现人机界面无关的业务逻辑组件与人机界面相关的界面展示组件。业务逻辑层的组件以服务的形式提供与业务逻辑紧密相关的系统功能。
  c.控制层
主要实现对系统行为以及其它资源进行关联和控制,包括:对组件所提供的服务和系统资源的配置和控制,对业务流程的关联和控制以及对人机交互界面的关联和控制.控制层利用流程管理技术实现业务流程的动态定义和控制,利用策略管理及界面集成等技术实现界面外观和行为的动态控制。引入控制层有利于保证系统迅速适应业务需求的变化和发展。
2)系统服务框架
    系统服务框架需要如下的系统运行的公共机制并实现系统内部的公共服务,包括日志服务、系统监控服务、配置管理服务、认证鉴权服务、异常处理服务、流程管理服务和策略管理服务等。
   使用这些服务与机制可以简化系统构件的开发、部署和各种运行信息的管理。保证系统运行的一致性和各构件的高度集成。各应用系统可以建立私有的系统服务框架也可以共用同一个框架所实现的系统服务。
   发表时间:2008-04-02  
有冒有 架构设计有关书籍 推荐
0 请登录后投票
   发表时间:2008-04-06  
Rod Johnson写的Expert One-on-One J2EE Design And Development,这本书很不错,最近正在看
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics