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做统一对象管理和事务管理。
统一报表服务。