Java架构设计

来源:互联网 发布:outlook mac 本地存档 编辑:程序博客网 时间:2024/06/09 15:14

1. 目标:

统一提供基础代码实现。 统一提供框架结构,并在此基础上逐步增加各种服务接口,使更多更好的服务在一个统一的层面提供,提升整体扩展能力。
统一提供一些基础的和标准的服务,满足架构自身的服务要求。 定义界面标准组成模块和元素,使能够更加有力地推动界面风格设计和改进,提升友好性。
提供模块插拔管理 支持集群,支持负载均衡。

2. 原则:

开放性原则,架构各模块设计均依据此原则,支持在各个层次和各种模块上集成,提高兼容性。

模块化原则,模块化是化解软件广度复杂的必然手段,我们依然奉行这一原则。

分层原则,分层是为了降低软件深度复杂性而使用的关键思想,表现/业务/数据访问这一标准的三层次结构依然是近10年来软件业最有力的武器。

接口实现分离原则

细节隐藏原则,不能隐藏细节就不能提升。

依赖倒置原则,保证架构的可扩展性。

3. 方案:

整个架构采用(页面框架/页面生成和流转/服务层/统一数据访问层)4层框架结构。

页面框架负责客户端页面的布局和组织,采用AJAX实现。

UI交互,展现,页面流转采用JSF(Facelets)作展现框架。

页面风格采用统一的CSS来控制,Portal提供多套的风格模版。

统一采用(类)SDO作为数据对象标准。定义对象标识标准,定义元数据标准,定义数据和元数据统一描述标准和统一定位(URL)。

服务层依然采用POJI,集成现存服务,并额外提供以下几种基础服务:     

i. 对象描述服务,给出ID和类型,系统就能够给出有关对象的准确清晰的描述。     

ii. 对象定位服务,提供从一个对象自由地跳转到相关对象的服务。     

iii. 模糊搜索,通过支持Lucene,提供系统所有对象的统一模糊查询。     

iv. 动态创建对象类型服务和对象类型管理服务。    
v. 统一对象(CRUD)管理服务     

vi. JMX服务,借以提供动态配置管理服务。(优先级低)

vii. 支持SOA流程。 

数据访问层采用compass/JDBC实现统一的数据访问功能,支持现有代码。     

i. 提供按对象检索,生成更新,查询语句的功能。     

ii. 查询结果均采用对象和列表(类hibernate方式)。

依然采用Spring做统一对象管理和事务管理。

统一报表服务。

 
原创粉丝点击