现在的系统与以前的系统相比更具有整体的性质,更关注系统间的协同。系统设计中要涉及的技术往往比较广、比较泛,开发这样系统,离开开发平台和框架往往寸步难行,同时开发框架和开发方式也需要不断演进,才能更好地满足需求。现代应用开发框架应该具有哪些特征呢?不妨试着来罗列一下:
0、开放性和扩展性
a、开发性是指尽量采用标准和共识的东西,或者让部分设计成为标准或事实标准。
b、扩展性是指系统从开发到运行的各个环节除了可策略、可定义外,都要可定制,可编程。
1、服务即数据、数据无界
数据存在于各种服务中,如文件服务、数据库服务、邮件服务、WEB服务等,有外部的,也有内部的。数据是一种需要、可以按需存取和读取。
2、应用即网络、应用无界
a、企业应用之间要有效集成,同时能自然地延伸到上下流。
b、提供一种基础架构,让企业之间的以流程为载体,有效地互联互通,而搭建成一个应用网络。
3、语言角色化、开发整体化、应用策略化
在以前的开发框架中,语言是核心,现在仍旧是核心,但以前是主要几种语言在支撑、现在需要各种语言,更准确的说是各种类型的语言(面向数据规划、面向需求组织及分解、面向计算、面向业务逻辑、面向数据转换、面向数据呈现)有效组合,语言相当于各种角色,有效的负担系统从设计、开发、实施、部署、运行各个环节,并使各个环节的开发有效、简单。
4、虚拟化编程、本地化运行
a、开发高效是我们所需要的,由于平台和端设备越来越多,我们没有可能也不应该为每一个平台单独开发,虚拟化可以保证更好的开发效率。
b、执行高效则是用户体验的一部分,而有些设备和平台也很难有效运行虚拟化应用。而把所有的东西都搬到Web,至少现在不是很现实,同时也需要WEB除了HTML5.0外,需要更多利于开发的规划。另外Web也是本地化的一个版本。
5、知识管理
a、知识要渗透到应用的各个方面,指导业务操作、影响业务进程,预警业务风险。让应用成为业务的规范及教材。
b、业务数据是知识的组成部分,知识的支持要能根据业务数据随时作出调整。
c、平台要能对知识进行描述和分解,提供知识的组成和使用策略。
6、流程管理
a、业务、管理、决策、分析都在流程中,系统应该是流程的有效组合,除了流程,应用应该是一张白纸。主流程构建了系统的主框架。
b、流程侧重于业务进程、模块侧重于业务管理功能,功能体现在进程中,模块融合在流程中。
7、智能化和好的用户体验
a、使用要简单,界面显示要合适,而功能要有效、有序、完整、专业。
b、文档化前端一般比Form类型的前端更具亲和力。
8、高效集成
a、高效集成的关键是整体化,要保证业务思想的完成,而不能因为技术原因去分割业务思想,应用设计和开发只能受困于业务,而不能是技术,这样才能保证高效集成,有效地满足由于各种需求,以及决策、商业模式、业务调整、服务方式、组织结构变动引起的需求变动。
b、要能对现有好的平台框架作有效集成,提高开发效率和稳定性。