SIX移动云应用开发平台
2013-05-23 23:08:02
平台定位
平台的定位是云应用开发平台(PAAS平台)。适用的开发场景包括:
(1) 云应用系统(SAAS)
基于云计算部署模式的应用系统。
(2) 基于WEB浏览器的应用系统
包括各种ERP、CRM、电子商务、电子政务、门户网站等。
(3) 基于html5的WEB应用系统
使用html5浏览器的各种浏览器应用,包括移动浏览器应用。
(4) 基于手机浏览器的应用系统
基于手机浏览器的专用显示应用。
(5) 手机App应用系统
App方式运行的应用,其数据和服务来自服务器。
技术路线
领域模型驱动的MVC分层配置开发
平台结构
SIX平台的总体结构如下图所示:
平台的部署包括两种方式,一种是PAAS平台部署方式,作为云平台部署在云服务器上,成为一种云服务,此时,必须先构建云基础设施,安装IAAS软件,将计算资源、存储、网络等硬件设备池化,虚拟成资源池,并且安装云操作系统,在此基础上进行平台的部署,以PAAS服务方式运行。另一种方式是以传统方式进行部署,部署在单独的开发服务器环境。
平台在部署时必须部署在应用容器中,通过部署成某个应用,来提供应用服务。平台可以部署在各个主流的应用服务器上。
作为PAAS平台部署时,系统可以进行租户应用的创建,可以为租户分配可以使用的资源、应用服务器、数据源、磁盘空间等。
SIX平台认为,业务模型和数据模型应该独立于平台和应用,是业务系统的真实描述。一个良好的系统必须有业务模型和数据模型,而SIX平台提供一系列的工具,将表现层的各种业务操作与业务模型挂接,完成各种业务功能操作。SIX平台对业务模型的各种调用采用开放透明的方式进行调用。业务模型和数据模型的生命周期甚至可以超过平台的生命周期,并且这部分模型独立于平台,甚至可以独立于业务系统。在进行业务系统升级改造时,业务模型和数据模型可以不变,可以变更开发中间件甚至使用MVC框架重写系统,改造完成后,新的业务系统完成相同的业务,但是使用不同的技术来实现,业务从始至终没有变化。这也正是SIX平台倡导的开发和透明体系。
平台包括两大部分:
(1) 模型
模型包括业务模型和数据模型。这两个模型是组成应用的两大核心部分。应用的其他部分通过调用模型中的资源,来完成应用的搭建。一个设计良好的业务系统需要有数据模型和业务模型,这两个模型可以独立于开发中间件,应该在设计阶段就完成。
数据模型用来描述存储业务数据的库表,包括数据表的字段、约束、规则、关系等内容,是总体业务的在数据描述角度的抽象。按照数据的类型包括元数据和业务数据。在SIX平台中,提供对数据模型中的元数据的管理。
业务模型这里也叫业务对象模型,主要包括元数据类和业务处理类,是领域模型的最终表达。领域模型中涉及的各个实体、角色和关系,通过POJO类和业务处理类来实现和表达。所有业务对象模型中的类,都可以发布成服务,为其他系统调用。
SIX平台对于业务类和POJO类的开发设计没有任何的限制和约束,开发人员可以根据领域模型的设计,独立于平台来进行编码开发实现。SIX平台提供一系列的工具类,供开发人员进行开发实现,能够极大地减少业务类的编码量。
(2) 工具
SIX平台提供一系列的核心工具和核心服务供开发人员进行业务系统的构建。核心工具包括:
组织建模
提供构建组织结构、部门、角色、岗位、群组、帐号等管理要素的工具。包括权限的授予、人员管理、登陆、注销、兼职等业务的处理。
应用建模
平台对每个应用分四层进行管理,这四层包括:数据层、业务层、控制层、表现层。通过这四层来全面地描述一个应用功能。所有四层设置完成后,业务应用的功能就完成了。其中数据层和业务层的内容分别来自数据模型和业务模型。
SIX平台的统一建模,分层设置开发,其分层设置开发主要体现在应用建模的过程。其详细介绍请参考后续章节。
流程建模
提供流程开发设置调试监控的工具集合。包括流程设计开发、流程调试、流程监控等工具。流程建模的过程通过流程设计工具来完成,每个流程都由节点和路由组成,根据业务需求通过设置节点和路由的属性来完成流程的功能。
Portal门户
提供对窗体、布局、模板的管理,包括使用应用建模来开发portlet,以及portal模板的定制。
SIX平台的核心服务包括:
组件服务
提供对业务组件的扩展服务,包括业务组件的注册、扩展、调试、接口等服务。
消息服务
提供业务消息通知服务,包括短信、即时消息、WEB网页消息、电子邮件消息等。消息服务提供丰富的应用接口,供业务应用需要时调用。
接口服务
提供对应用系统的接口的开发和管理,包括各种业务的接口扩展和为外部系统所能提供的业务接口。
应用服务
包括定时服务,LICENSE服务等。
模型和工具是构成SIX平台的两大要素,业务实现先从建模开始,然后使用工具进行分层设置,完成业务系统的搭建。
在平台的基础上,可以搭建各类复杂的业务应用。通过使用SIX平台,支持领域建模,统一建模,为业务系统搭建了业务模型和数据模型。
设计理念
SIX平台的设计理念是:为开发人员提供一个开放透明松耦合的应用开发中间件。主要的意义如下:
开放
开放的理念主要体现在开放的模型和开放的分层架构。
采用标准的MVC框架模型,分层设置开发的开发模式,就是一个开放的技术框架体系。按照MVC框架的分层理念,将每个业务应用的实现分四层来完成,包括:数据层、业务层、控制层、表现层。相邻各层之间可以相互调用,相互隔离的各层之间不允许调用。在平台层面,提供业务模型管理和数据模型管理,提供一个开放的建模过程和方法,完全可以为任何其他系统所重用。
透明
透明的理念主要体现在一个业务实现过程的透明,包括表现层页面的要素通过提交,传递到控制层,控制处理后调用相关的业务操作进行处理,处理完成后,返回到控制层,通过控制层的拉处理,完成信息的反馈,整个过程透明清晰,开发人员可以自由跟踪和监控。
透明还表现在开发人员可以监控到业务是如何在各层之间进行数据传递和处理。以及控制层的各种操作细节。
松耦合
松耦合就是要尽量减少业务应用系统与平台之间的耦合,做到耦合越少越好。从某种意义上来说,平台要做的应该越少越好,平台做的越少,应用的自由度越大。同时,在平台设计中,全面围绕业务应用实现的分层实现来开发,除了各层的各项参数和各层需要调用的延伸的参数,其他无关的内容全部从平台中撤消。
开发人员在使用本平台时,基本上不需要记忆一些额外的规则和方法,根据业务设计需要,先创建业务模型和数据模型,然后挂接业务就可以完成业务的搭建。
应用价值
通过大量用户应用的实践表明,SIX移动云应用开发平台能够为用户带来的不仅仅是成本的降低和开发效率的大幅度的提升,还带来了如下的应用价值:
(1)为应用延伸到云端提供了便捷途径
提供云计算的各种开发要素,是一个PAAS开发平台,能够快速实现各种SAAS应用。
(2)为业务构建了业界领先的开放式的技术架构
使用SIX平台开发业务系统,其统一建模分层设置开发的构架,为应用导入了一个业界领先的技术架构。
(3)为业务系统建立了业务模型和数据模型,实现完全意义上的应用融合,构建了一个可集成的业务体系。
(4)极大地延长了业务系统的生命周期
通过进行统一建模,实现了业务系统的跨开发工具。业务模型和数据模型的生命周期已经超过了平台的生命周期。
(5)为应用延伸到手机和移动端提供了快捷的途径
提供html5以及IOS/ANDROID的App客户端应用。
(6)业务系统的可维护性达到了前所未有的高度
采用经典的MVC四层开发模式和模型开发,整个业务系统的可维护性大大提高,构建了一个开放透明的业务系统。