首页  /  SIX平台

SIX平台技术

2013-05-23 23:08:02  

 

技术路线

   SIX移动云应用开发平台基于J2EE技术路线,采用面向SOA服务架构,把业务和IT架构更加紧密地联系起来。
下图是一个通用的标准J2EE构架图:

 

 

 

 

总体架构

    SIX移动云开发平台的总体框架如下图所示:
 

 

 

    SIX平台在通用的JAVA开发框架进行了类似MVC框架的扩展,是一种MVC框架结构的实现。SIX平台分开发平台和运行平台,其中开发平台的实现,也是基于以上框架。各种建模工具正是通过开发平台进行自我实现的。开发平台上开发的应用部署到SIX平台的运行平台上后,就能够运行所有业务功能了。SIX运行平台为各种应用模块提供分层解析,根据各层的设置,进行业务调度和业务实现。
    SIX平台需要部署到J2EE应用服务器上,通过底层技术框架,为每个业务模块提供一个四层结构的应用运行容器,无论哪一种模块的实现过程,都必须使用这四层结构,运行平台负责管理各层的请求和返回。
    SIX平台采用了一套自主开发的MVC框架进行业务功能的实现。不包括当前任何流行的开源框架,如STRUTS/SPRING等。SIX平台MVC架构包括如下几层:
 数据层
负责数据的存储和持久化。管理数据的增、删、改、查操作,包括对XML、文件的读写操作等。也包括对消息、邮件、部分外部SOA的操作。
 业务层
管理业务处理规则和业务处理逻辑。在操作方式上分为推业务和拉业务,对于业务处理的颗粒度,SIX平台以域集合的方式进行了划分,通过设置每个业务相关的域集合的操作方式来完成各种业务功能。其中域集合在业务处理中,直接映射成POJO元数据类,业务层可以设置对某个POJO的各个部分进行操作。业务层的所有业务操作项都直接发布成服务。所有外部应用都可以访问某个模块的任何业务操作。
 控制层
介于表现层和业务层之间,负责将表现层的请求调度给某个业务处理项进行处理,对于处理完成的业务返回到表现层去。控制层的处理以域集合为单位进行设置,一个域集合相当于一个POJO的主体部分(不包含子POJO类的部分)或一个数据库表。对于数据集合,SIX平台提供独立的数据集合组件,独立地进行业务控制和处理。
 表现层
表现层是直接与最终用户进行交互的操作界面,SIX平台使用组件技术及动态模板技术,将界面以模板形式生成,最后转换成JSP文件,通过应用容器进行解析运行来完成业务功能交互。表现层的请求和返回只与控制层打交道,不直接调用业务层的任何逻辑。
对于基于手机移动APP的智能客户端,大多数情况下,其请求的处理直接与运行平台的控制层交互。基本上是基于WEB SERVICE,调用对应模块的控制层,进行请求的交互。

    SIX平台的云部署模式:
    在云部署模式中,SIX平台是作为PAAS平台,部署在IAAS层之上,SIX平台提供运行平台软件和部署SAAS所需要的资源和容器。
    对于SIX平台包括两个方面的内容,一个是提供软件或应用所需要的资源或容器,这些软件应用可以托管或驻留到我们提供的资源中。
    另外一个是业务应用本身提供各种业务服务或业务能力。资源层提供的能力是为业务应用服务,而业务应用提供的能力是为最终业务服务。或者我们简化了SIX平台管理两个方面的能力,一个是资源,一个是应用。

 

技术框架

SIX平台是一个应用开发中间件平台,具备应用开发中间件的各种特性,SIX平台必须部署在JAVA应用服务器中,通过应用容器来运行各种应用服务,SIX平台包括开发平台和运行平台,开发平台的技术架构如下:
 

 

 

    SIX开发平台通过统一建模分层配置的方式来构建应用模块。
    SIX平台在开发过程中,提供两大模型的建模:
 业务模型
    统一管理领域建模后,设计的元数据类和业务操作类。对元数据类(POJO)进行属性管理,包括约束、长度、大小、关联等。对业务操作类的管理包括操作方法、参数、注释、引用、版本的管理。
 数据模型
    对RDMS关系型数据库系统的数据结构进行管理,包括表、视图、字段、约束、规则等进行管理。
    SIX开发平台通过一系列的建模工具和基础系统,来完成应用的构建,在应用构建中严格按照分层方式进行配置。主要包括三大建模工具:
 组织建模
    组织建模用于构建应用的组织结构和权限,包括登陆帐号身份的管理。主要包括:组织、部门、角色、帐号、群组、人员、岗位等的管理。组织建模是应用的基础,在开发过程中会多次调用,这一章详细介绍组织建模的全部功能。
    针对复杂的企业应用,本平台引入了时间区段的概念。对于部门、帐号、岗位、角色、群组增加了时间区段描述。时间区段是系统中定义的一个时间段,表示所描述的主体只在某个时间区段内是有效的,一个系统可以描述多个时间区段,但当前只有一个时间区段有效。每次登陆时,只根据当前有效的时间全段的设置起作用。引入时间区段主要为了便于进行大规模的组织结构调整后,应用系统的正常稳定运行,以及历史数据的可追溯。
 应用建模
    应用建模是一个以应用开发实现为目标,从模型的维度,来搭建应用的过程。从全局的维度,提供了数据模型管理和业务模型管理,统一管理应用设计层面的数据和业务。在两个模型的基础上,进行应用构建。
    平台采用“统一建模,分层开发”的理念进行设计实现。作为应用开发中间件,其主要功能是进行应用的实现,前面要承接系统设计阶段的各种总体设计元素,并能将设计的内容直接反应到开发平台上,落实各个系统设计要素。这一承接过程首先包括数据模型和业务模型的对接。然后,根据系统原型,进行业务实现。
   本平台使用了统一建模的思想,将数据层业务层进行集中统一的管理,使用工具来完成数据层和业务层的管理。对于模块的功能实现,平台提供了统一的分层,通过配置完成分层开发。确保每个模块的透明实现,实现了最大程度的解耦。
   平台提供了一套完整的工具,为每个模块提供了如下图所示的统一结构:



 
    应用模块框中的四层都通过设置完成。只需要挂接外部的数据模型和业务模型。在进行模块开发时,根据情况,分两种方式进行开发,有些模块需要采用两种方式混合的方式进行。 
 
 流程建模
    流程建模提供开发流程的各种应用,包括流程设计、流程调试、流程监控等功能。流程建模需要挂接应用建模中定义的流程模块,使用流程模块来处理内部逻辑和界面显示。流程建模仅仅是定义流程环节和路由的各种属性,流程中的各种业务处理在模块的业务层进行定义。

 

独创技术

    SIX平台开创了一系列独创的技术,确保了平台的透明开放。其关键技术包括:分层配置开发技术和域集合请求推拉处理技术。通过这两大关键技术,使得SIX平台成为真正实现完全意义上的MVC配置开发的首家平台,开创了业界的先河。
(1) 分层配置开发技术
    从MVC框架理论出发,每个业务模块分四层:表现层、控制层、业务层、数据层。SIX平台在进行模块开发之前,先建模,如果需要书写业务处理类时,先将业务处理类开发完成。然后导入到平台,平台根据设计,先创建业务模型和数据模型。各层相互独立,完成特定的功能,不允许隔层调用。
    SIX平台是在两大模型的基础上分四层进行配置,最终完成开发工作。平台从始至终围绕参数转换和传递进行配置,最终完成功能开发。
    SIX平台认为,任何模块的实现必须分层来完成,即使是简单的数据库操作,都必须遵循统一的标准分层配置。
   平台每层完全开放,外部应用可以通过SOA直接访问到某个模块的某层接口,既可以访问控制层,也可以访问业务层。

 


 


(2) 域集合请求推拉处理技术
    SIX平台以域集合为单位,进行请求的分区处理,一个域集合为一个逻辑区域。域集合可以与元数据或元数据类直接进行双向映射。
    SIX平台以域集合为最小处理单元,将复杂业务简单化,极大地提升了业务处理的灵活性,能够更加简单地处理复杂应用业务,为平台的分层配置打下了技术基础。
    SIX平台以域集合为单元的推拉业务处理技术,也真正实现了系统的开放和透明,为简化开发过程,提升开发工作效率打下了坚实的基础。
(3) 动态虚拟角色
    动态虚拟角色用于帮助平台处理记录级权限功能而建立的。在复杂业务开发过程中,经常存在根据身份等一定规则,来判断操作人员是否具备某种操作权限的需求。
    比如电话号码维护,管理员可以修改所有人的号码,本人可以修改自己的电话号码。
    SIX平台处理这种应用时,可以先设置一个动态虚拟角色,名称为:owner,所有者。在编辑操作控制请求中,添加一个动态虚拟角色载入业务处理,在这个业务处理中进行判断是否是当前owner角色并返回。在进行控制授权时,直接将权限授予owner角色为可编辑权限,所有开发过程都正常开发完成。这时,如果是本人,业务处理就能够在授权中动态添加当前操作员为owner角色,当然就能够编辑当前的电话号码了。


 

北京思序软件有限公司
010-82781089
business@sixosoft.com
海淀区信息路甲28号科实大厦C座13层13A-2-1
扫描关注我们