PaaS是什么

运行、开发、集成、使用云平台

市场需求分析

互联网大面积普及,智能手机爆发式增长,信息消费已经离不开人们的生活,各种智能终端不断涌现,智能制造、企业信息化、智能化不断促进着企业信息化的深入应用。这种需求和应用的变化促进了数据、计算、存储、共享、融合的架构发生了质的变化,传统的软件架构已经无法满足和承载数据爆炸、计算量爆炸、用户巨量增长的新需求,基于云架构的软件为我们解决这一需求提供了理论和实践的支撑,随着时代的进步,未来的软件架构将是云架构的,传统的软件架构将会逐步淘汰。

数据爆炸式的增长,现在一年产生的数据量是过去数据量的总和,这种趋势还将持续下去,呈几何数增长。12306一天的访问量84亿次,目前Facebook有着世界最大的分布式文件系统,单个集群中的数据存储量就超过100PB;优酷土豆每天播放的视频将近10亿条,由此形成的数据量约20T;中服云设备数据采集量每天增加1亿条。

用户量剧增 ,信息化正在改变着人们的生活方式和生产方式,缩短了空间的距离,模糊了时间的概念,每天有大量的人在用着手机购物、出行、看新闻、看视频、沟通等,工作离不开电脑,用系统进行着工作安排、开会、监控、复杂计算、设计、排产等。网络的普及,系统边界的增大,也促进了用户量的巨量增长。

计算量巨大 ,由于使用人数的增多,数据量的增大,对数据的查询、计算并发量急剧增长,需要短时间做出响应。优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿;微信每天有9.02亿的人登陆,日均发送微信次数达到380亿次;2017淘宝双11交易额1682亿,物流订单量4.67亿。

这些需求的变化,需要打破传统的软件的架构,建立可伸缩、支持大并发、大负载、峰值、节约资源、可集成、能共享的软件架构,并能适应快速升级、易运维、个性化支持的要求,要开发这样的软件,需要有云平台基础架构的支撑,降低开发云架构软件的复杂性,提高开发效率。传统的中间件架构时不能适应这种伸缩性要求的。

中服CServer PaaS云平台三角生态架构

blob.png

中服CServer PaaS云平台是一个支持分布式计算、分布式存储、多租户共享的云架构基础支撑平台;是连接平台开发者、应用开发者和最终用户的生态平台,是支持开发者快速、高效、方便的开发和部署云应用的开发平台,是支持开发者快速云化传统应用、自主部署传统应用的云化平台;为不同使用者提供开通、使用应用的门户通道,并支持私有门户、公有门户、多租户、移动等多种使用方式;平台开发者为平台的运行、开发提供了能力支撑、开发工具支撑、运营支撑和弹性支撑。 

中服CServer PaaS云平台体系架构

blob.png

l  服务器集群层

由应用服务器和数据服务器(数据库、文件系统等)构成,服务器可以是虚拟机也可以是物理机,服务器的数量根据负载量弹性扩展,服务器的用途由上层的服务器集群管理程序调度使用。

l  分布式大数据存储层

主要由HDFS文件系统、HBase nosql数据库和关系型sql数据库构成。HDFS是hadoop的分布式文件系统,能进行PB级的文件存储,可海量扩展,主要存储非结构化数据,安全性高;Hbase是基于HDFS文件系统的nosql数据库,用于存储半结构化数据,可以存储海量数据,也可以存储由巨量列构成的数据库表,便于海量数据记录的存储;中服CServer PaaS提供了统一的关系型数据库存储接口,不需要用户了解底层数据库的类型和群集情况,只需要用接口就可以。分布式的大数据存储层为开发者提供了标准的结构化非结构接口,屏蔽了存储的细节,开发者不用关心数据存到哪里了,是否分片,是否磁盘不够用等问题。

l  分布式计算群集计算层

分布式计算层提供WEB访问的应用服务器群集支撑、容器群集的并发访问和大数据计算的各种算法的并行处理,为大量的计算负载提供分布式计算支撑,采用大量低端PC服务器一起完成大量计算的方法,大大降低了计算成本,避免了单点故障,能够根据计算量动态伸缩。

l  多租户引擎层

中服CServer PaaS云平台提供了两种多租户隔离方式,一种是docker隔离,主要提供程序和数据的隔离,每个租户有自己独立程序和数据,满足不同租户个性化的要求,满足小规模租户数的隔离要求和共享使用硬件资源;组件化路由隔离引擎,主要提供了数据的隔离,程序是所有租户共享,通过组件化组装和配置,完成租户的个性化需求,满足大规模组户数的隔离要求,满足大规模租户数升级更新。

l  中间件群集层

不同的中间件为开发不同的应用提供了能力支撑,中服CServer PaaS云平台提供中间件群集的管理框架,同时内嵌了多租户工作流引擎、消息中间件、表单工具、大数据展示工具等,为开发这些业务逻辑和展现提供了基础的支撑。多租户工作流提供了WEB可视化流程建模工具、多租户工作流引擎、WEB表单设计工具、流程监控工具、流程负载群集、流程仓库等功能。

l  云应用接入层

云应用接入层主要提供第三方软件的云化接入、设备上云的接入和新的云应用开发。中服CServer PaaS云平台提供了6中传统软件快速云化的方法,在很少的改动下,接入PaaS平台,成为多租户或单租户在线SaaS软件;设备上云主要提供了不同协议设备的上云接入,设备状态云端监控、数据采集上云、设备报警、及设备数据的应用开发;中服CServer PaaS云平台提供了基础的云设施和开发工具环境,把开发复杂的云应用变成简单的传统开发,降低了开发人员的难度和要求,是一般的开发人员能够快速高质量的开发出复杂的云应用软件。

l  应用门户层

中服CServer PaaS云平台提供了一个通用的门户层,解决云应用和用户的接口的共性问题,其主要功能包括:PC应用框架、移动应用框架、单点认证服务器群集、云应用展示和开通工具。PC应用框架提供了组织机构模型、权限分配模型、数据字典管理、功能点管理、个性化Portal布局、基本设置、各种模板管理等功能;移动应用框架提供了后台服务器和前台手机端通讯的一个基本框架,以及手机端业务组件组织的基本框架,包括H5微信移动端框架和APP框架;由于云平台有大量的用户访问,同时对不同的应用系统需要单点认证,门户提供的单点认证服务器群集就充当了这个角色;云应用展示和开通工具提供了云化接入的第三方应用、新开发应用在2分钟之内为不同租户快速开通的自动化组装通道,同时对应用的状态、分类、权限、关注程度、关联关系等进行管理。

l  运维监控平台

运维监控平台是中服Cserver PaaS云平台的管理中枢,负责硬件资源监管、平台的监管、云应用的监管、租户用户的监管、交易的监管、安全监管、客服、报警等。

l  开发工具及接口

为了提高云应用的开发效率和质量,降低开发难度,中服Cserver PaaS云平台提供了完善的云应用开发环境、工具、接口;支持程序员用传统的开发方法开发云应用,不必考虑计算的弹性扩展、海量数据的分布式存储、多租户、基础能力等基本支撑。主要包括:eclipse开发工具、WEB流程建模工具、表单开发工具、大数据展示工具、应用框架、各类基础组件、单点、数据库、文件、流程、分布式计算等API接口。

中服CServer PaaS云平台开发和云化接入方式

l  2类云化接入:单租户和多租户云化接入

l  6种接入云化方式:组件化接入、系统整体接入、远程SaaS接入、docker容器接入、C/S接入、下载接入

 

blob.png

 

l  基于中服CServer PaaS开发云应用流程

 

blob.png

 

以中服CServer PaaS平台为核心的产品系列

 image.png

 

当前流行的PaaS 平台分类

image.png

 


docker容器PaaS云平台

docker容器PaaS云平台

 为了在充分利用云计算优势的同时保护企业前期已经购买的遗留软件应用资源,CServer PaaS平台实现了一种基于容器的应用系统云化技术,实现了多应用间的资源复用,应用可以根据请求数动态伸缩自身计算资源,将请求响应时间维持在较低水平,这样就把云计算的多租户、高可扩展性、低运维成本等特点赋予企业目前正在使用的应用系统,从而减少企业云计算化成本。

CServer容器型PaaS云平台基于docker容器技术开发的集成PaaS云平台,主要用于应用的快速部署和隔离,用于传统应用的SaaS化,SaaS服务的快速部署监控,多租户,弹性自动伸缩等。整体架构如下:

多租户引擎

PaaS多租户SaaS引擎

PaaS多租户引擎是基于构件化、微内核的SaaS应用系统运行环境,为多租户SaaS软件提供了统一的服务生命周期管理、模块生命周期管理、系统生命周期管理、模块更新管理、系统配置管理、租户数据隔离、数据切换等公共功能。

PaaS多租户引擎实现了SOA和EDA结合的交互模型,具有高度可扩展性,提供了智能装载、卸载、热插拔组件的高级能力,并提供了高级容器级API,提高了应用开发的效率。

PaaS多租户引擎实现了用户、租户、租户系统、组件或系统资源池、数据各层次的独立管理,实现了不同层次的按需组合,从而实现了租户能够根据需要从平台的资源池中选择自己需要的资源,组装成自己的系统,并添加能够访问本系统功能的用户到系统中使用系统。

SaaS核心引擎的关键技术包括:

1、系统管理微内核

提供租户系统统一生命周期管理、配置、更新管理以及系统服务、事务、事件、数据处理、系统完备性维护等公共功能。支持无缝系统升级、动态系统更新,支持系统的的个性化定制和动态组装。

2、服务管理微内核

提供服务统一生命周期管理、配置、更新管理以及事务、事件处理、服务性维护等公共功能。支持无缝服务升级、动态服务更新、服务实时监控、服务负载均衡、维护服务依赖关系。

3、核心引擎规范

PaaS核心引擎定义了功能集、接口、API、事件、事件注册与响应机制、管理规范、约束、内部代码、错误代码、服务方式、链接参数、id生成策略等。PaaS核心引擎规范抽象的定义了SaaS核心引擎的功能和表现,没有规定实现这些规范的技术细节。从而使得PaaS核心引擎成为一个可以更换的标准器件。PaaS核心引擎体系架构图如下。

1)用户管理

所有用户信息由平台统一管理,管理用户的登陆验证(用户名、密码),用户具有唯一标识。这样实现了一个用户可以访问多个系统,管理多个系统。

可以在平台上注册用户,也可以在系统中注册用户。注册信息存储在平台的用户信息表里。为了便于维护ID的唯一性,可以采用Email作为用户的唯一标识。无论是在平台上还是在系统中注册用户,都调用统一的用户注册接口。

平台上管理使用系统的所有用户,用户分为订购者和普通用户。平台只管理用户的基本属性信息,包括用户的登陆名,密码等信息。

为实现租户系统的个性化,可以在租户系统中保存用户的扩展信息,如用户的学历、职称、职务等。

为了满足用户透明的在不同系统之间切换,以及在同一系统的不同模块间切换,需要实现单点登录。

2)租户管理

租户管理主要实现租户信息的统一管理以及和租户系统间的对应关系。一个租户可以租用一套系统或多套系统,一个租户可以包括多个系统的使用者。维护着租户的基本信息及状态,租户的系统个数,租户系统的使用情况及租户和用户的从属关系。

租户可以在租用系统的同时建立租户信息,也可以在平台中独立注册。租户系统的创建者会自动成为该系统的管理员,管理员可以邀请或直接添加本租户系统的用户。

多租户体系结构的实现采用SaaS成熟度模型第三级。第三级的成熟度模型就是multi-tenancy架构,在第三级的成熟度模型中,通过运行一个应用实例来为所有的租户服务,同时通过可配置的元数据来给每一个租户提供不同的用户体验和功能。可配置的安全控制和策略确保了每一个租户的数据被单独存放且与其它租户的数据相隔离。

3)数据路由

CServer PaaS多租户架构采用的是每个租户对应一个逻辑数据库。程序运行实例只有一个,不同的租户使用系统时要动态的切换到对应的逻辑数据库。系统访问对租户是透明的。数据路由是为了解决租户数据源的管理和运行时各租户数据源的动态切换。

   

每个租户都拥有独立的逻辑数据库,应用程序与租户数据库建立连接,需要有连接定义及属性信息。每个租户都会对应至少一个数据源,所有数据源需要进行管理,管理内容包括数据源连接的建立和缓存等。系统运行时要根据租户的不同动态的切换到不同的数据源上。

负载均衡

PaaS负载均衡

服务器集群将许多台服务器集合起来共同进行同一种服务,在客户端看来像是只有一台服务器。集群能够使用多台计算机进行并行计算从而获得比较高的计算速度,也能够使用多个计算机做备份,从而保证整个系统能够在任何一台机器坏了的情况下保持正常运行。在服务器上安装并运行集群服务就能够动态地把服务器加入集群。集群化操作能够减少单点故障数量,而且能够实现集群化资源的高可用性。

CServer PaaS负载均衡集群具有以下优势:能够解决服务器的硬件故障,当某一台服务器出现了故障,包括硬盘、主板、内存、CPU或者I/O板等,运行在这台服务器上的应用就会切换到其它的服务器上;能够解决软件系统故障,集群实时监控应用的故障,如果应用停止运行,其它的服务器就会接管此应用;能够解决因人为失误而造成的应用程序停止工作的情况;当用户访问量很大时,能够根据权重和调度算法动态分配较为空闲的服务器处理请求,从而满足用户访问的及时响应;能够根据用户量的大小随时增加服务器或减少服务器,满足用户访问的需要,而不浪费资源;通过应用程序模块的分布式部署,降低多个模块部署到单台服务器的压力。

CServer PaaS负载均衡主要采用了一下方法实现:

1)Nginx

Nginx 是一款轻量级的高性能Web和反向代理服务器,与Apache相比,Nginx占用更少的内存及资源,处理请求是异步非阻塞的,在高并发下Nginx 能保持低资源低消耗高性能,高度模块化的设计,编写模块相对简单。Nginx目前支持5种方式的集群分配:轮询(默认)、weight、ip_hash、fair和url_hash。

2)Memcached缓存

Memcached是一个高性能、分布式的内存对象缓存系统,它在内存中维护一个巨大但统一的hash表,能够存储各种格式的数据,包括图像、文件、视频或者数据库检索的结果等。它的分布式缓存指的是允许不同主机上的多个用户同时访问这个缓存系统, 用户不需要关心数据存储在哪里,只要调用相关接口即可。Memcached不仅解决了只能单机共享内存的局限性, 同时缓解了数据库检索的压力,并且提高了获取数据的速度。存放在内存中的数据使用LRU算法进行淘汰,同时能够通过删除和设置失效时间来淘汰存放在内存的数据。

3)单点认证服务器的负载均衡

单点认证服务器集群主要支持认证的大并发问题,需解决两个问题,一是解决CAS服务端集群环境下各种Ticket信息的共享;二是单点退出时,CAS如何将退出请求正确转发到用户session所在的应用服务器,而不会转发到其他服务器上。

 

4)应用服务器的负载均衡

CServer应用服务器的负载均衡采用应用切片+负载分发实现应用的负载。大量的软件包会超出单个应用服务器的承载能力,也使得应答速度难以让人接受,仅仅使用分发技术,还无法解决应用服务器的负载过重问题,CServer采用了切片部署方式:将大量的应用包根据业务功能分开部署到多个应用服务器上去,再用代理服务器将这些服务器整合起来,达到统一请求和响应。切片部署方式解决了单个服务器负载过重问题,也使资源的管理更加简便。其架构如下图所示。

 

5)数据库的负载均衡

CServer采用租户数据库分组的方法实现负载,把一组租户数据库部署到一台服务器上,把另外一组数据库部署到另外一台服务器,这种部署是由平台动态分配。

6)中间件负载均衡

总之,CServer PaaS云平台的负载均衡是为了提高系统的吞吐量、响应速度、单点失效而设计,其总体示意图如下: 

 

资源池

PaaS资源管理平台

资源池是PaaS平台管理内容的核心之一,主要管理者平台上的各类软件资源,CServer PaaS云平台的资源池能够分布式管理上万的软件资源,这些软件资源可以由不同的软件开发者提供,资源池中的软件资源由平台管理员可以动态的分类,标识每个资源的状态,软件资源由组件、系统模板、物理系统、外部链接、下载软件、基础服务、基础组件等构成,资源之间有依赖和互斥关系,这些软件资源是用户构建自己SaaS应用系统的基础。

CServer PaaS资源池对资源的注册、分类、调度、分配、状态、查看、接口进行管理。通过一致的共享和访问控制策略,向用户提供统一的访问接口,屏蔽对租户敏感的资源访问细节,提高资源利用率。

资源管理的基本功能之一是接受来自租户的资源请求,并将特定资源分配给资源使用者。合理地调度相应的资源,使请求资源的任务得以运行。为了实现上述需求,资源管理系统主要由资源注册、资源分类、资源部署、资源调度、状态监控、资源检索、资源设置、资源权限和资源统一接口等基本服务组成。如下图所示:

在PaaS平台中,汇聚了多种类型的数据资源和应用资源。这些资源不仅种类繁多,使用和管理方式各异,并且对于不同的租户,具有不同的共享和访问控制策略。为了更好地利用系统中的逻辑资源,比如数据资源、应用组件资源等,需要通过统一的资源管理框架进行集成和管理。

在CServer PaaS平台中,软件资源池包括应用系统资源池、应用组件服务资源池、基础组件资源池和基础服务资源池。

分布式存储

分布式存储

分布式存储主要解决不同租户的文件存储服务,云服务的文件存储具有以下特点:

数量巨大

并发量大

租户隔离

数据安全性

数据保密性

针对以上特点,CServer文件存储采用了分布式文件存储,由单独的文件服务管理用户系统产生的文件。资源文件可以通过SystemContext URL 和物理路径两种方式访问。文件管理的功能包括附件的上传下载,文件的传输等。文件服务的实现同时兼顾到文件的访问权限控制。

文件存储服务对上提供简单的访问及授权接口,透明的从文件存储服务器中读取、存储、传输、交换、检索文件。使用者不关心服务本身的实现,为SaaS服务软件的开发提供良好的文件服务支撑。

SaaS系统下的文件要根据不同的系统进行隔离存储,服务底层解决文件的物理存储和逻辑存储的映射,解决大文件及海量文件的安全存储。

单点认证

单点认证

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

CServer PaaS采用CAS作为认证服务器,并支持认证的负载均衡,认证角色包括: User (多个)、 Web 应用(多个)、 SSO 认证中心( 1 个 ),实现不同Web应用的一次认证登录。CServer PaaS平台的认证包括两种:

单一应用系统的基本认证:用户与应用系统进行交互,并进行登录操作,应用系统将用户提供的用户名、密码等转发给统一身份认证系统以检验其是否通过授权,流程如图所示。

 

单点登录原理图

多应用系统间切换的认证:用户通过单一应用系统的基本认证流程首先登录某个应用系统,并获取权限令牌,然后使用这个权限令牌访问其它应用系统,应用系统接收该权限令牌时应当与统一身份认证系统进行交互,以检验访问的合法性。

运营监控

PaaS运营平台

为保障CServer PaaS平台的高可用性,平台专门提供了运维监控系统,科学准确的帮助运维人员提高运维效率,保障系统的正常运行。集中监控系统以主动监控、集中管理、统一运维为目标,主动发现并定位平台中存在的故障和隐患,降低运行维护的潜在风险,为应用系统的良好运行提供可靠的保障,进而提高效率,降低运维成本,减少营运损失,提升IT资产价值,功能包括:

(1)对网络、主机、数据库、中间件和应用系统等各类IT对象的状态和变化进行实时监控。

(2)通过对采集的信息进行合理的过滤、压缩、分析和关联,及时准确地生成故障报警、事件报告和性能提示,并提供灵活的视图展现。

(3)对采集到的事件和性能数据进行存储、预警、分析,形成管理服务的报告和报表。

(4)对SaaS服务的各种资源进行管理。

(5)对监控平台自身各部分的运转状态进行管理。

(6)通过角色、权限和功能的划分,实现不同用户的安全访问管理。

(7)为运维管理平台等其他管理工具提供接口。

系统实现了对平台运行情况的采集、处理、加工、汇总,集中反映各平台系统的运行、业务营运方面的信息,并具备集中展现、管理定制等功能;在此基础上,对平台的运行数据做出统计分析,预测关键数据的变化趋势,识别出对系统有重大影响的事件,为日常维护管理和运营决策分析提供必要的依据。主要功能包括:

监控平台运行状况

监控SaaS应用运行状况

监控租户、用户状态

提醒公告通知

备份恢复

计费

客服

部署升级

参数配置等

多租户工作流

PaaS中间件支撑平台

BPM中间件集成了端到端业务流程的建模、执行和监控环节,能支持实时的业务流程优化,旨在帮助用户固化业务流程、优化业务流程、改造业务流程。提供了专注于BPM业务用户经验的功能集,能够为用户、系统和事件开始的业务流程提供完整的支持。它拥有改进的协作和业务智能功能,能够帮助业务参与者共享知识、更有效地配合业务进程,并指导实时的流程模拟,以获得理想的流程结果。

BPM由流程梳理功能、业务建模功能、页面建模工具、工作流引擎、仿真度量工具、组装部署工具构成。通过对各类业务流程的归类、梳理,形成针对不同业务的流程集合,便于业务人员和最终用户的管理和使用。提供了业务流程设计工具,以图形化的业务流程设计界面描述管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系。它是业务人员和IT人员之间沟通的桥梁。

 

BPM中间件采用SOA架构,符合WFMC、JMS等国际规范,并且符合OSGI规范接口,可以动态集成在平台上,进行灵活的组装。面向管理领域的中间件引擎可以为开发者提供方便的开发支持,以现有的成熟工作流中间件产品为基础,支持多租户方式,以租用的形式为信息化管理应用提供流程及规则服务。多租户工作流引擎组成结构图如下:

 

工作流支持多租户模式,以云模式发布,为多个单位同时提供开发和运行支撑。

动态多数据源:多租户工作流架构采用的是每个租户都对应一个逻辑数据库。程序运行实例只有一套,不同的租户使用系统服务时要动态的切换到对应的逻辑数据库。对于租户使用,是透明的。

支持多组织机构:传统的工作流只支持单一的组织机构,只能为一个应用系统服务。多租户工作流可以实现对多组织机构的支持,可以同时为多个应用系统提供支撑。

支持多租户代办列表:代办事项可以根据系统进行隔离,每个系统中只见到自己的代办列表。也可以拉取租户级的代办列表,可以把多个系统的代办集中到一起展示处理。

BPM各部分功能如下:

      工作流引擎是应用控制和运行的中心,负责解释、控制并协调各种复杂工作流程的执行、同步各个客户端的反应,对外提供各类服务。

      包含以下的功能及特性:

符合WfMC标准

      在设计和开发过程中,我们仔细研究了国际工作流管理联盟制定的工作流标准,除了某些扩展之外,系统中采用的概念符合WfMC标准定义的概念;同时我们还完全实现了interface1、interface2、interface3、interface5,使用图形化的方式,实现了我们的自己独创的过程定义模型到WfMC定义的模型wpdl的完全转换。

强大的流程描述执行能力

      引擎不仅支持顺序流程的流转,而且还支持分支、并发、循环、子过程、同步、异步、竞争、多工作流、同步活动组、异步活动组、静态活动等,在分支上可以定义条件,实现按条件自动流转,条件转移之间还可设置逻辑关系;在并发流转中,多个活动节点可以同时激活;在某些活动节点上,也可以通过创建子过程来完成任务。

工作流API

      工作流引擎对外提供了灵活、丰富的工作流API,外部程序可以通过对这些API的调用,控制流程的运行,查询流程的运行状况以及BPM系统的运行状况,从而实现自己的业务需求。

DLLAPI

     为了让非java编写的客户端程序也能访问工作流的API,工作流引擎提供了动态库SynchroBPMAPI.dll。该动态库利用Java的JNI原理实现,可以在C/C++、VB或PB做的程序中调用该DLL,实现与工作流引擎的交互。

组织机构接口

      工作流引擎提供了标准的组织结构接口,开发商只要根据该组织机构接口开发接口程序,就可以使工作流系统使用已有的组织机构模型,而不需要对原有组织机构进行任何修改。

流程监控

      工作流引擎对外提供了直观的流程监控功能,以图形的方式再现工作流引擎中各流程实际运行状态,并提供了对各流程状态及数据控制的操作。

数据库服务

     工作流引擎提供了通用的数据库RMI服务,使用健壮的数据库连接池,可以访问目前市场流行的所有数据库例如:Oracle、SqlServer、Sybase、Mysql、DB2…。

支持分布式应用

      完全实现WfMC规范WFMC-TC-1012(Interoperability Abstract  Specification)定义的工作流服务器之间协作工作的规范,亦即所谓的分布式工作流规范。实现了参考模型同步远程子过程调用和异步远程子过程调用两种调用方式;不同工作流引擎上运行的工作流可以相互协作、交换数据,从而提高工作流系统处理业务流程的灵活性和适用范围。

支持消息服务

     引擎支持通用的JMS消息服务器;实现了异步的消息传输,采用XML消息格式,工作流引擎定义一种基于XML的标准消息格式,用户可以通发送xml消息,可实现对工作流服务的调用。

支持与遗留的系统之间的应用集成

    这里的应用指已经在运行或已经成型的应用系统。对每一种应用系统,对其要开发一个消息适配器(MessageAdapter),其表现形式可能是一个动态库或可执行程序,按消息适配器把应用系统的任务指令转变为BPM的标准XML消息格式,通过JMS发给MOM消息中间件。工作流引擎从MOM获取消息指令,执行相应的工作项,并把结果再转换成标准消息格式发给MOM,由消息适配器获取,实现与遗留系统的有机集成。

支持自动活动节点

     工作流引擎支持自动活动节点,在自动活动节点引擎会自动调用后台应用程序来自动完成活动节点上的任务,用户可以定义一个全部由自动活动节点组成的自动化流程,流转过程中可以完全不需要用户的干预;流程的自动化程度可以由用户随意控制。

高效可靠的线程池和对象池

      工作流引擎内部的处理中,使用了线程池和对象池,从而具有很强的解释和执行能力,可提供稳定可靠的高并发支持能力。

支持JAVASCRIPT脚本

      工作流建模工具在转移条件、参与者等环节可以使用JAVASCRIPT脚本进行描述,引擎对这些地方的脚本均能正确的解析、执行。

支持事件功能

      工作流引擎支持事件功能,事件是引擎外部与引擎进行交互的场所。每一个事件都可以为其添加一系列动作,动作由JavaScript脚本写成。这些脚本可以访问工作流API、访问数据库、发EMAIL消息、发MSN消息等各种操作。

支持流程仓库

支持一个模块拥有多个流程模型,一个流程模型为默认流程,使用该模块时,自动启动默认流程模型,用户在使用时,可以更改或选择其它流程模型使用,业可以在线修改流程模型。

跨平台能力

      工作流引擎采用JAVA语言开发,可在不同的平台上正常运行。

 

应用框架

应用框架

应用框架是用户使用系统功能的入口,是对用户使用功能的直接聚合管理,实现了用户访问系统功能的身份认证和权限控制,实现用户显示界面的个性化设置,实现系统常用功能的默认接入,实现了不同系统功能的集成展示,应用框架是CServer PaaS平台的基本组成部分,用户在使用PaaS平台上的SaaS服务时,都是通过门户实现的。应用框架的基本构成:

l  个性化设置

框架中的个性化设置根据需要时可以添加的,目前内置的个性化设置有:

1、Portlet块添加

2、Portlet块布局设置

3、背景设置

4、色调设置

5、界面模板设置

6、退出

7、帮助

l  单点认证

平台在统一管理和统一授权的基础上实现单点登录功能,单点登录能够简化使用流程,用户只需要登录一次,即输入一次统一的用户名称和用户密码,就可以多次使用多个应用系统。只有达到系统安全策略边界条件时,用户才需要重新登录。

单一应用系统的基本认证:用户与应用系统进行交互,并进行登录操作,应用系统将用户提供的用户名、密码等转发给统一身份认证系统以检验其是否通过授权,流程如图所示。

单点登录原理图

多应用系统间切换的认证:用户通过单一应用系统的基本认证流程首先登录某个应用系统,并获取权限令牌,然后可以使用这个权限令牌访问其它应用系统,应用系统接收该权限令牌时应当与统一身份认证系统进行交互,以检验访问的合法性。

l  组织机构管理

对一个企业系统而言,组织机构和人员管理是用户使用系统的基础,每一个应用系统都需要对企业的组织机构和用户属性给予设置,应用框架给出了组织机构的基本模型,在系统创建后,就生成了组织机构模型,便于管理员设置自己企业的组织机构,组织机构模型包括:部门、岗位、人员、角色、工作组、领导等。操作有:新建、修改、删除、导入、导出、合并、拆分、查询、树形设置、图示等

l  权限管理

权限管理在统一用户目录和统一资源目录的基础上,实现针对不同角色的用户提供对统一的信息资源目录的授权策略;实现统一的分级分类授权等一系列管理。用户访问门户时,通过授权访问接口来确定该用户被授权的所有可访问资源。

用户授权管理体系架构如下图所示:


l  Portlet集成

应用框架的桌面上使用Portlet显示用户常用的一些信息,这些Portlet根据需要可以开发不同Portlet块,系统内置了多个默认的Portlet块,供用户添加到自己的桌面,Portlet块中的数据可以通过单点认证来自不同的系统。Portlet块的标题、颜色、高度、字体、风格等用户可以自行设置。可以对Portlet块放大、缩小、删除、刷新等。

l  内置基本服务

应用框架内置了很多基本的服务功能,这些内置功能有:

功能点管理:对功能添加、修改、重命名、图标设置、重新分类等

快捷键设置:对每个功能点都可以设置快捷按钮

消息提醒

待办提醒

即时消息:能够和在线离线的用户交流

用户设置

待办已办列表

登陆时间

Logo和系统标题设置

 门户设置

流程参与者设置

流程监控

流程查看

流程统计

日志管理

报表组件

开发工具

PaaS开发工具

CServer PaaS平台除了提供在线开发配置工具外,为了支持复杂应用场景的开发,还提供了离线开发集成环境,其中包括丰富的开发工具和组件以便开发者能够快速开发应用,主要包括以下工具:

1)流程建模工具

        用图形化的方法,通过拖拽方式建立业务流程模型,并将图形化的流程模型与模型文件对应起来,自动生成XML格式的流程模型文件。让开发者用最少的时间设计或修改企业工作流程,建模工具提供了丰富的流程逻辑表达方式,可以表示非常复杂的流程,和界面开发工具相结合可以方便地设定每个流程步骤要执行的功能界面,和组织机构建模工具相结合,可方便地选择每个活动的参与者,通过资源管理服务进行设计结果的保存与打开,并进行一致性的有效控制。

工作流建模工具的功能包括:工作流建模、参与者设置、相关数据设置、组织机构接口、参与者函数、流程分层设计、模型合法性检查、工作流事件、脚本编辑等。

 

2)表单设计工具

PaaS平台包括两种表单开发工具:

离线开发工具:有大量的AJAX组件和后台框架构成,可开发复杂的应用

在线开发工具:通过拖曳式可视化开发WEB用户界面,开发速度快,适合简单应用的开发

基于Web的在线表单开发工具包括列表定义工具、表单页面定义工具及用户视图定义工具。

表单开发先从表单页面定义开始,表单定义工具包括布局定义、字段定义以及验证定义。表单中可用的组件包括基本组件、客户化组件及企业级组件。基本组件中包括Hidden Field、Text Field、Password Field、Text Area、SelectBox、CheckBox、Radio、Date Picker、File Upload及Sub Form组件。客户化组件包括Grid、Custom HTML、ID Generator组件。企业级组件包括Multi Paged Form、Multi Select Box、Poput Select Box、Calculation Filed、AJAX Sub Form、Image Upload、Rich Text Editor、Form Grid、List Grid等组件。设计器界面如下:

 

3)报表设计工具

       PaaS平台提供了交叉式报表工具,通过定义表头、分类、数据集,能够快速生成统计报表

 

 

单租户开发环境

单租户开发环境

CServer PaaS平台为企业用户提供了多租户云运行环境和开发者开发SaaS应用的本地单租户环境,多租户环境能够支持多家企业同时互不干涉地使用云端SaaS应用,实现企业应用间的隔离。单租户环境是为开发者开发SaaS应用提供的开发环境,在开发环境下,开发者开发SaaS应用就像开发传统应用一样,不需要了解云的相关知识和底层架构,开发完成后,通过部署工具部署到云端环境,就自动变为云应用。

CServer PaaS云平台的开发环境提供了必要的开发工具和丰富的基础开发组件、服务,帮助开发者快速开发云应用,云端平台和开发环境遵循同样的接口规范。

图片1.png

CServer PaaS云平台开发环境包括:可视化集成开发客户端DStudio和开发运行环境DServer,具体功能如下:

可视化集成开发客户端DStudio

       DStudio是集面向组件应用的设计、开发、组装、调试于一体的集成开发环境,提供对SOA应用和服务全生命周期的开发、维护和管理。在DStudio中,以Project的形式组织应用开发资源,提供相应的向导、视图和编辑器等工具供开发人员在开发过程中可视化开发各种组件,并提供了调试及团队开发功能。

DStudio依托开发人员熟悉的Eclipse插件化平台,提供了丰富的SDK和API、基于Ajax的可视化UI组件、流程、报表、表单等丰富功能的IDE集成开发环境,支持java语言和标准的Spring+Struts+Hibernate框架,是一个集开发、调试、部署于一体的完备开发环境。开发者可以方便的在本地进行开发和调试工作。开发完成后,将开发的应用部署到PaaS云平台。

开发运行环境DServer

        DServer是支撑模块化应用和服务的运行环境,DServer由组件化容器、组件运行环境、流程引擎、系统服务、基础服务等核心模块组成。DServer是一个面向SOA的基础设施,实现了WEB编程模型的标准规范。DServer保障了组件化应用或服务的稳定、安全、可靠、高效、可扩展地运行。

      DServer&DStudio提供的基础服务、组件、工具和开发环境包括:

        1)提供了数据库服务、中间件服务、消息队列、多租户工作流、组织机构、任务调度、日志、文件存储、缓存、短信、邮件等基础设施服务;

        2)封装上述服务,对开发者提供标准的SDK和API接口,供其开发应用时直接调用;

        3)提供了基于Web和多租户方式的在线开发工具集,包括流程建模工具、流程仿真工具、流程监控工具、参与者配置工具、动态表单开发工具、报表开发工具等;

        4)CServer PaaS平台提供的应用开发环境支持两种开发模式:离线服务开发模式和在线服务开发模式。

 图片2.png

离线开发模式是指在开发者本地机器搭建开发环境、系统运行时环境,根据开发规范,调用本地服务,上述Dstudio、DServer就是离线开发环境。在离线环境下,和传统的软件开发模式一样,可以在本地调试及测试。系统开发完成后将开发包部署到PaaS云平台上,即可实现云应用。在线开发模式是指开发者直接登录PaaS云平台,基于Web在线方式使用PaaS平台提供的各种开发工具和服务进行应用开发,在多租户环境下进行调试和测试,开发完成后直接部署到PaaS平台上。适合于简单的开发配置。

基础组件及服务

基础组件及服务

1)PaaS平台为开发者提供了丰富的基础组件和基础服务。

典型的基础组件有:

附件上传组件

 图片1.png

选人组件:选择部门或人

 图片2.png

个性化Table组件:灵活定义Table的展现,可以实现显示、隐藏列、列排序、改变标题内容等。

 图片3.png

动态查询组件:灵活自定义查询器,可建立快捷查询功能。

 图片4.png

审批意见组件:富文本输入,灵活定义常用审批词。

 图片5.png

审批列表组件:方便查看历史审批过程

 图片6.png

审批列表组件

音频视频组件:可以录音、视频,将媒体信息存入信息系统,方便使用。

 图片7.png

组织机构组件

 图片8.png

组织机构视图组件

 图片9.png

树组件Trees:支持树组件数据显示,包括排序、分级展示、拖拽、查询功能

 图片10.png

日历组件Calendars:支持日历数据显示,包括按月、周、天查看功能

 图片11.png

布局组件Layout:支持表单布局定义,包括Filling、Nesting、Portal Layout、Form Layout、Windows、Tabs、Sections等布局功能

  图片12.png图片13.png

报表组件Grids:支持报表数据显示,包括排序、分页、查询功能

 图片14.png

 图片15.png

 图片16.png

2)基础服务有:

文件服务

实现了文件的统一管理。支持文件的存储、传输及检索服务。提供公共的文件服务接口,用于存储各类型文件、根据id读取文件、根据id删除文件。

实现文件服务集群,高并发性下文件传输稳定性。其架构图如下所示:

 图片17.png

定时服务

平台提供定时任务管理功能,对需要定时处理的业务进行配置管理。定时任务包含以下功能:

新建定时任务:创建新的定时任务,包括:任务名称、实现函数(url),任务描述、任务触发时间、备注等。

注册定时任务:启动定时任务,按照定时规则执行实现函数。

修改定时任务:修改定时任务的属性信息。

删除定时任务:删除已创建的定时任务。

定时任务中有两个关键点:实现函数和定时设置,如下:

实现函数:其中系统采用rest方式编写定时任务函数,开发人员写好后台的定时任务方法,平台管理员通过rest方式调用这些方法,并且将url配置到定时任务中。

定时设置:系统采用quartz定时服务,其中定时时间设置规则采用cron表达式规则

缓存服务

网络应用的响应时间是考验网络服务是否可用的标准之一。当网络访问用户达到一个量级的时候,服务器的CUP和I/O都会呈现出很大的压力,网络响应时间会明显变长,为解决这个问题,通常采用的技术就是缓存。

缓存通常实现为硬盘级缓存和内存及缓存。

平台在组织目录等应用上采用缓存服务。缓存管理对使用缓存的情况进行管理。主要包括一下操作:

新增缓存节点:创建新的缓存节点。

删除缓存节点:删除已有的缓存节点。

分配缓存节点给应用:分配缓存节点给应用服务器,便于应用服务器使用。

变更应用缓存节点:修改缓存节点属性信息,包括:名称、状态等。

回收缓存节点:回收已分配的缓存节点。

查看缓存节点列表:以列表查看所有缓存节点,并可根据属性查询。

查看缓存节点当前状态:查看缓存节点的状态,是否在用、哪个服务器在用等。

获取缓存节点监控信息:获取缓存节点的监控状态、缓存信息等。

消息服务

系统采用消息中心服务器提供统一的消息服务,各应用系统可以直接通过消息中心提供的接口进行各项提醒,包括:短信、邮件、统一消息、待办等。

提醒中心包括:应用调用接口API、提醒引擎、前端提示区、提醒处理四部分。

应用调用接口API提供调用接口,供各业务系统进行调用。

提醒引擎是服务的核心,支持多种提醒模式,包括短信、邮件、待办、统一消息,并将业务系统推送的提醒消息推送到前端显示区。

前端提示区在应用桌面,直接向被提醒的用户展示提醒内容。

提醒处理:用户点击提示后,触发的处理,这通常通过Web超链进行处理。

全文检索

系统提供对关键字、正文、附件内容的全文检索。用户可以选择检索的范围、检索关键字匹配规则来检索正文。检索关键字匹配规则分为全词匹配、断词匹配。全词匹配需完全匹配才能检索出正文,断词匹配是将关键词拆分开后在正文中全文检索。正文检索出后,根据匹配程度对正文进行排序。

 

在线开通

在线开通

CServer PaaS云平台资源池中的SaaS服务资源包括两大部分:后台的资源管理、前台的资源展示及租用。本节主要介绍前台的资源展示及租用。

中服云门户http://www.cserver.com.cn SaaS超市是平台SaaS服务的集中展示平台,按不同类型展示资源池中的可租用软件资源,资源包括两大类:应用系统资源和组件资源.

资源池中还有一类更细粒度的资源:组件资源,用户可以直接选择组件,自定义构建个性化系统.

用户进入中服云门户http://www.cserver.com.cn,选择系统或组件,如果没有登录,则出现注册界面,如果是新用户,直接注册,如果是已有用户,直接登录.

用户注册后,即进入开通系统阶段,平台后台自动查找选定的资源,计算逻辑关系,建立逻辑数据库,建立有关系统的各种配置.

系统开通后,用户立即可进入系统初始化数据、添加组织机构及其它用户,开始使用系统,并对用户发送开通邮件。

系统集成

系统集成

CServer PaaS云服务平台在满足基础功能和最基本的业务功能外,还提供了一个综合应用集成平台,包括各类集成的基础设施,实现系统间不同的集成需求,主要集成设施有:

数据共享

门户集成

流程集成

数据集成

集成接口

组织机构集成

代办集成

统一消息集成

数据导入导出

PaaS云平台提供的这些统一接口体系架构,统一接口标准规范,集成对接工具能够满足各类集成的需求。应用集成平台是实现应用系统整合,系统间无缝信息交换的核心。平台运用消息队列、API、REST和Web Service等技术,在遵循国际通行的开放标准的前提下,在各应用系统之间扮演了一个消息交换中间件角色,各应用系统通过应用集成平台与其他应用系统实现互联互通。

 

(1)数据共享

PaaS平台提供了一个统一公用的数据库和文件存储,用于保存系统级数据、各系统的公用数据、不同单位系统的公用数据,这样实现不同系统间公用数据的高度一致性和访问效率,保证系统间数据的互联互通。

(2)门户集成

PaaS平台提供标准的门户平台和单点认证服务器,并且提供基本的门户框架,可以快速实现单位内不同系统间的门户集成:

实现用户身份统一认证,单点登录

实现不同用户界面显示的个性化

实现不同系统的信息在统一门户的不同portlet中一并显示

实现不同系统、不同组件的安全性

(3)流程集成

PaaS平台提供不同系统间流程的调用关系及其数据同步机制,通过界面设置,就能实现一个流程的某个活动调用另外一个系统中的某些流程,调用分为同步调用和异步调用,通过这种设置可以实现同一个系统内部、不同系统间的父子流程调用关系,从而实现流程的集成贯通。

流程集成是系统间集成的核心功能,主要是解决平台上各系统间业务流程间的组装。流程组装包括流程共享、流程对接、规则调用、集成配置几个部分。

流程共享是流程集成的基础,系统会默认设置共享流程的集合。

 

流程集成是将源系统和目标系统的流程对接起来,分别定义为父系统和子系统。

 

选定父系统中的指定公文流程的具体节点,集成子系统中的具体一条流程。父系统指定特定流程的具体节点触发子系统的具体流程,可以设置流程流转相关规则,包括是在活动完成前后阶段调用、同步异步触发方式以及数据集成接口方式等。

(4)数据集成

PaaS云平台提供服务API接口集成、DataService工具集成、流程携带方式三种方式。包括结构数据和非结构数据同步。

流程携带是最便捷的一种实现方式,把结构化业务数据直接自动匹配到流程参数中,通过流程和业务交互API实现数据的互通。

服务API接口集成是某些业务对外提供服务API,供其它业务调用,从而实现数据的同步。

DataService工具集成定义了大量集成组件,并能实现不同组件间流程串接,从而实现数据从某几个系统经过设置的流程流向其它系统,这些组件能够实现数据的合并、分拆和清洗,可实现复杂的多个系统间的数据同步。

 

(5)集成接口

一个系统中的某些业务模块对外提供REST和Web Service接口,供其它模块调用,模块间需要检查权限认证,通过接口调用实现一个模块的数据在需要时传递到另一个模块。

 

建立统一的接口体系架构,定义统一接口标准规范,提供系统集成对接工具,在此基础上实现和云平台中其他业务系统的集成。

(6)组织机构集成

PaaS平台提供不同系统间组织机构的组装挂接功能组件,通过简单的挂接,就可实现组织机构的全局通览,对于企业私有云,集团需要全局浏览下属各单位的组织机构,就可用这种方式实现。

组织机构集成界面部分:

组织机构装配

 

维护组织机构树形结构:

实现顶级组织机构的维护功能,对选定的组织可以绑定具体的系统的组织机构

 

集成后的显示效果

 

(7)待办集成

PaaS平台提供综合待办组件,用户能够统一浏览和处理本人有权限的所有系统的待办,从而很方便在一个入口查询待办和处理待办。

(8)统一消息集成

PaaS平台底层实现统一消息总线,能够实现可靠的消息传输、持久化、多方式提醒和展示,不同消息可以通过微信、APP、邮件、短信、系统弹出、统一消息Portlet提醒、呈现和处理,应用模块只需要调用接口,传递消息和提醒方式、周期就可以实现消息集成。

(9)数据导入导出

PaaS平台拥有通用的导入导出组件、能够导入导出excel、word等格式文件,用于实现外部系统不能直接接入时的数据传递集成。

手机移动框架

手机移动框架

传统应用系统受限于办公地点和使用时间,只能通过PC机访问系统,处理日常事务必须在办公室电脑前进行。领导、员工经常出差、开会、培训,会造成很多工作不便,无法及时了解到公司的相关信息、重要事项无法及时申请、审批,严重影响了办公效率。同时也无法利用碎片时间通过手机查看、处理公司相关信息和业务,造成时间的浪费、机会的丧失。当前智能手机、IPAD等移动设备越来越普及,尤其是手机,经常带在身上,公司的业务处理、信息查看,可以根据自己的时间随时调整方便处理。

PaaS平台的移动框架是一个通信、事务处理、业务展现的基本框架,是一个支持组件化开发的支撑框架,使开发者不用考虑基础的通用功能,以组件化的方式注重应用功能的开发,降低开发难度,提高开发效率。PaaS平台的移动框架和PaaS平台无缝集成,支持电脑和手机数据处理的一致性。

移动框架基本功能包括:

提供H5和APP两种支持方式;

支持H5微信客户端的融合;

统一的插件式客户端框架;

内置通用的业务服务支撑:待办推送、信息提醒、功能展现、快捷等;

实现各集成系统的信息统一展现,单点登录;

支持安卓、IOS手机,并与PC数据同步;

支持应用的插件式扩展。

部署升级工具

部署升级

由于云端有大量的服务器,服务器资源池中有很多软件资源,这些资源在使用过程中要不断部署升级;还有一些新开发的软件系统或模块要部署到服务器中去;同时还要更新大量租户系统的数据软件;要侦测资源池、租户系统的软件和数据状态,以及他们的差异,自动的部署或升级已经存在的组件或系统。部署升级是一个复杂的过程,要保证各要素的正确性,如果出错,要能够回滚。

云端服务的部署升级是一个量大高频、高质量、高重复、高精细的工作,手工工作容易出错,导致客户满意度降低,CServer PaaS提供了一个自动化的部署升级工具,批量、定时、准确的部署和升级云端服务,主要包括一下功能:

服务打包

服务上传

服务探测

租户系统服务和数据识别

启动部署升级

出错回滚等

图片18.png

1.启动部署客户端:打开部署客户端,在配置管理系统中选择要部署的分支和版本。

2.上传部署文件到部署服务器:支持多版本并存和部署回滚,所有上传到部署服务器的部署组件都按版本号分文件夹存储。

3.获取当前部署环境的配置:部署服务器获取云端环境的服务器、数据库等配置,获取目标资源池的状态和要升级的租户系统的服务。

4.初始化部署目标基础设施:根据当前选中的服务器,初始化部署脚本。

5.启动部署:执行部署升级。

 

组织机构与权限

组织机构 权限

1)组织机构管理

    统一组织机构管理是统一应用支撑平台缺省提供的组织机构管理系统,给用户提供一个快速建立组织机构的框架,为用户迅速搭建本企业组织机构。PaaS平台根据国内的组织机构习惯,定义了一套灵活通用的组织模型,模型结构如下:

 图片19.png

上述模型中定义出了部门(Department)、岗位(Post)、职员(Employee)、工作组(Group)、角色(Role)、级别(Level)等要素,涵盖了企业中组织管理的各个方面。

部门(Department)是组织中的关键要素,以树形结构存在,一个组织或部门下可以有多个部门。一个部门下面,会有多个岗位。

树型的层次化结构基本满足绝大多数的组织模型,但是却无法解决矩阵式组织结构的问题:把按职能划分的部门和按项目划分的小组结合起来,组成矩阵,同一人员保持原组织和业务关系的同时可以参加产品或项目组的工作。引入工作组(Group)概念:为特定任务所组成的人员集合。具有树形关系,是一个临时的组织机构。

组织机构中引入角色这一概念,把在不同部门的人放在同一角色下,扮演一定的角色,完成相同的任务。

一个人,可以存在于多个岗位上,一个人,可以在不同的工作组中,扮演不同的角色。

 图片20.png

在组织模型的基础上,统一应用支撑平台提供了一个维护工具,并在平台级抽取出了特定的服务,以适应第三方组织机构接入的需求。

a)组织机构管理工具

提供对整个系统的组织树的管理,根据实际情况,设置组织机构树,提供添加部门、添加下级部门、修改、删除、拆分、合并、查看及给部门分配用户等功能。一个用户可以从属于多个部门,可以为部门设置主管领导和分管领导,部门下可以定义岗位,部门下用户可以从属于岗位。

提供对角色树的维护管理,角色可以分层次进行管理,提供添加角色、添加下级角色、修改、删除及给角色分配用户等功能。

提供对工作组的维护管理,以团队的方式,将人员进行组合,适合某些场合的应用。提供新建工作组、删除工作组、修改工作组、查看工作组属性的功能。可以为工作组设置主管领导及分管领导,工作组也可以从属于某个固定的部门。

提供用户管理,可以添加用户、修改用户、删除用户、查询用户、注册系统用户、注销用户、锁定用户、用户所属部门及添加用户时可以给用户指定角色和级别。

提供组织机构分级管理机制,可以为部门或分支机构设置分级管理员,分级管理员可以对分管范围内的组织进行维护管理。

 图片21.png

图 组织机构运行图

图片22.png

图添加用户

 

b)支持第三方组织管理

如果用户已经建设有完整的组织机构系统(DB、LDAP、NDS、Domino等),平台的组织机构管理提供了标准的组织结构接口,可以快速的适配到原有组织机构系统,而不需要对原有组织机构进行任何修改,方便实现组织机构统一维护,保护原有的IT资产。

 图片23.png

图 第三方组织机构接入图

 

c)组织机构接口

CServer PaaS组织机构管理提供了完善的组织结构接口,接口分为读取接口和保护级操作接口。提供组织机构的Web Service接口,开发人员通过接口可以获取用户、部门、机构等相关属性。

d)组织机构视图

为组织机构维护工具提供了多种展现视图,通过组织架构树可以很方便直观的查看到现行组织的层次结构。

 图片24.png

图组织架构展示图

2)权限管理

菜单及功能管理

提供功能菜单维护管理功能,菜单可以按模块组织分类,支持多级模块结构,可以定义挂接管理多个应用的链接地址,可以定义快捷操作。

提供多种菜单展现形式,包括树形、OutLook形式、横向下拉等多种。

 图片25.png

图菜单管理

权限管理

权限管理,包括权限设置(授权)和权限验证(鉴权)两大部分。权限设置(授权),是用户可见的,用户通过界面进行操作。权限设置又包括功能级权限设置和数据级权限设置权限认证(鉴权),是用户不可见的。由系统后端进行权限判断。

 图片26.png

图  权限管理设计图

 

权限管理作为独立的服务,是RBAC权限管理模型的标准实现。在RBAC中,权限与角色相关联,用户通过成为指定角色的成员而得到这些角色的权限。简化了权限的管理。在一个组织中,角色是为了完成某种工作而创造,用户则依据它的责任和资格被指派相应的角色,用户可以容易地从一个角色被指派到另一个角色。角色可重新赋予新的权限,而权限也可根据需要从某角色中回收。通过角色与角色的关系可以建立起更广泛适应性。权限验证与业务逻辑判断分离。

 图片27.png

图 RBAC原理图

 

功能级权限控制使用通用的RBAC模型,即给用户赋予角色(权限组),给角色赋予权限。通过对RBAC模型做简单扩展实现数据级权限,即给每个权限赋予一条或多条权限策略。

当权限验证API被请求时,权限引擎会首先验证当前用户是否有功能权限;如果有功能权限,然后继续验证数据级权限。

租户系统的角色由管理员动态添加,系统初始化时,仅提供一个默认的系统管理员角色。每个角色可以对应任意功能点的组合,角色对应功能点支持:权限、添加、修改、删除、查询等任意组合。平台同时也支持给角色分配用户的功能,为当前角色分配用户。

 图片28.png

图  权限管理图【图1】

 图片29.png

图   权限管理图【图2】

Copyright©2008-2018 CServer Corporation, All Rights Reserved

地址:陕西省西安市高新区高新二路协同大厦三楼 电话:029-88386725 建议邮箱:support@cserver.com.cn ICP备11002812号-1