我认为设计应用软件平台首先要定义什么是应用软件开发平台,故名思意,应用软件开发平台就是提供一个支撑业务系统快速开发的这么一个系统,要把架构,功能和设计抽象并在平台中固化下来,提供配置和集成工具,并且平台的架构是可变的可组装和扩展的。
下面我就对应用软件开发平台做个定义。
1.是业务组件的容器。
2.是业务组件的运行环境。
3.有个核心的框架,用于固化设计和编程规范。
4.有个针对某一个行业的功能内核。
5.有个工作流引擎,配置业务组件间的流程,配置服务的流程。
6.有个开放,可集成,面向服务的架构。
7.提供分布式联网管理功能中间件(可选)。
8.有个业务组件库,业务组件库跟平台是独立的,也就是说组件是独立开发的,组件开发好后放到平台指定的目录下,由平台配置工具将组件配置到平台组件容器和业务组件中的运行环境中,这样平台开发好后针对功能开发组件,功能的改变不会改变平台,只是修改业务组件,这样就做到了通过组件组装来实现一个系统,会极大的提高重用性和开发速度。
9.有个配置和集成工具。
10.有个建造领域模型的工具。
11.支持协作型事务。
12.有个安全模型。
13.有个逆向工程工具,根据领域模型工具生成组件代码和数据库表结构,面对新的需求快速构建原型系统,极大提高新系统的开发速度。