前言:
技术平台与业务平台的分离,在很大程度上是体现一家软件公司,尤其是软件服务公司成熟度和竞争力的指标。
统一开发平台的主要作用
开发平台(SDCSolution Development Center)定位于技术层面,其主要目的是为统一公司内相关产品研发和项目实施使用的技术架构和开发工具,有效提高统一技术支持力度,形成持续的技术积累手段,提升技术人员的利用率并降低对人员的依赖性,最终提升软件的规模化、流水线式的生产能力。
开发平台提供一整套的应用软件设计开发方法论及支持工具。针对国内软件需求成熟度低,软件变更频繁等特点,都有一系列的对策,能够极大地缩短开发周期,保证软件的可维护性,降低应用开发的风险。 平台可以根据具体需求定制应用程序,满足企业持续改进的业务应用需求,企业、软件开发商、系统实施服务商还可以用SDC平台进行增值开发和服务。
开发平台设计理念
SDC基于J2EE框架设计,核心采用SOA设计模式,平台中包括基础框架、实施平台、集成平台、BPM系列套件、门户系列套件以及开发工具系列等。
基础框架提供系统运行的基础环境,包括缓存框架、日志框架、安全审计、多数据库支持、多语言支持(国际化)、多租户支持(SaaS化应用)、报表中心、文件中心等;
集成平台包括系统注册、系统监控、服务管理、数据交换、消息组件、统一用户与权限等用于多系统集成的相关组件;
BPM系列套件包括流程管理套件、电子表单套件、业务编排套件、流程监控与分析等用于业务流程管理与优化的相关套件;
门户系列套件包括PORTAL、SSO、CMS、ETL、全文检索等;
开发工具系列包括开发规范、代码生成工具、可视化流程设计与建模工具等。
1. 微内核模式
基础架构核心采用微内核模式,以保证架构核心内容简洁、清晰与稳定,主要实现清晰的分层结构、实现各层Bean定义的寻址和实例生命周期的管理。更丰富的功能采用关联模式和装饰模式进行扩展。微内核的扩展通过 plugin插件技术,将扩展功能以模块化的方式进行即插即用的热部署。
2.分层结构设计
分层包括横向分层(技术层面)和纵向分层(业务层面)。横向分层包括UI层、Action层、proxy层、Service层与DAO层。纵向分层通过提供模块化设计机制提供支持。
3.上下文
基础架构采用上下文和数据总