
这篇文稿很长,但是如果你是做数字政务相关的软件从业者,建议你看完。
要对得起我大半夜的还在这里打字的辛苦付出啊。
公共应用支撑平台为应用系统建设提供支撑。
PaaS层的公共应用支撑平台由服务运行管理框架、底层基础开发框架、应用支撑平台集群服务、基础支撑服务、基础应用服务等构成。
其中基础支撑服务是指任何系统构建均需用到的组织身份服务、访问控制服务、身份同步服务、单点登录服务、消息服务、Java运行环境。
基础应用服务是指构建业务应用的各种中间件工具软件,包括工作流中间件、电子表单中间件、统计报表中间件等。
1.服务运行管理框架
服务运行管理框架是PaaS公共应用支撑平台的基础运行环境,提供身份认证服务、同步服务、消息服务以及其他数据交换接口服务的统一管理。
平台中的每一个基础功能、数据交换接口都是可插拔的组件。
所有组件均提供可被第三方应用系统调用的标准Web服务。
服务运行管理系统提供应用服务发布、注册、查询、调用的全生命周期管理。主要功能包括以下方面:
(1)组件化管理。
采用SOA架构,提供组件化,可扩展的应用服务。
(2)服务注册发布。
采用XML可配置方式发布服务,实现服务的自动发布和自动注册。
自动发布是将服务的描述配置在XML文件中,即可自动发布为标准的Web服务,发布的服务具有有效的WSDL地址。
自动注册是在服务的成功发布之后,自动将其在服务库中进行注册。可注册第三方应用系统发布的Web服务。
(3)跨平台调用。
服务可重用、可编排,系统之间松散耦合、随时可用。
提供的服务支持不同编程语言、不同开发平台,可以实现跨平台调用访问。
(4)动态发布。
提供服务的按需发布能力,Web服务在发生调用时按需、动态的进行发布。在系统启动时,并不需要将部署的服务全部发布为Web服务,在发生服务调用时,再将对应的实现即时发布为服务。
(5)透明调用。
提供服务的透明调用功能,调用本地服务和远程服务使用同一接口,此接口返回服务的代理对象,只有在实际执行调用时,才会根据应用服务的位置,发起本地调用或远程调用。
(6)审计日志。
提供服务的可管理性。
服务可注册、可配置、可授权,有详细的调用日志用于审计、排错、性能优化。
2.底层基础开发框架
通过PaaS公共应用支撑平台的底层基础开发框架为第三方应用开发和平台二次开发提供敏捷快速的基础开发架构。
主要功能包括:
提供采用OSGi+Spring+Struts+Hibernate的企业级应用基础开发框架;
基于OSGi开放标准,以搭积木的方式构建系统;
整合Spring、Struts、Hibernate等Java开源技术为应用系统开发提供敏捷快速的基础开发框架。
3.应用支撑平台集群
公共应用支撑平台的集群服务实现多台应用服务器的集群部署。
任何一台或多台服务器出现故障,在集群中冗余的服务器可以处理新到的请求,保证服务依然可用。
集群服务提供高可用性、负载均衡、会话保持、分布式缓存,主要功能如下:
(1)高可用。
支持服务器集群,任何一台或多台服务器出现故障,在集群中冗余的服务器就可以处理新到的请求,这样就保证了服务依然可用。
但是在服务器失败的那一刻,正在被处理的请求就可能无法得到正确的数据。
(2)负载均衡。
通过增加节点,线性提升集群的计算能力。
每个节点具备完全相同的功能,并且不需要知道其他节点存在与否。
负载均衡器来完成如何将请求分发给这些后台的服务器实例。
(3)会话保持。
支持用户在任何一台服务器上登录后,集群将在多台服务器上保持会话信息,当这台服务器出现故障后,会由负载均衡交换机的健康检查机制将用户切换到其他服务器上,将能够保持用户的会话信息,不需要重新登录,用户不会发现后台的服务器已经更换了。
(4)分布式缓存。
为实现SNA架构的集群,支持用户访问任何一台服务器都获得相同的结果,必须保证从集群服务器之外获取的信息一致,如数据库、文件、LDAP、JNDI等。
支持在多台服务器之间同步状态信息,通过底层内置的分布式缓存来实现。
4.嵌入式应用服务
嵌入式应用服务为公共应用支撑平台提供Java运行环境。
部署应用支撑平台时将不再需要购置WebLogic之类的商业应用服务器中间件产品。
嵌入式应用服务的主要功能包括:
为应用支撑平台提供内置嵌入式的高性能Web服务器Jetty,提供平台服务器端的Java运行环境;
基于J2EE的开放技术标准,提供丰富的Http服务器和Web容器功能,支持采用Ajax的Web 2.0应用程序,采用NIO和Continuation机制来处理大量的用户请求以及时间比较长的连接。
5.统一用户管理系统
在公共应用支撑平台中,统一用户管理系统提供PaaS平台所必须的基础组织身份模型管理和身份服务,主要功能如下:
(1)组织身份模型管理。
构建统一的组织身份模型,提供机构、部门、人员、角色、用户组、岗位等实体对象的管理功能,并提供实体对象关系管理。
(2)属性扩展。
对所有实体对象提供扩展属性,可以根据应用场景自定义扩展属性。
(3)组织身份管理服务。
可以将组织机构管理功能以WebService服务的形式提供,包括对组织身份模型中各个实体对象的修改、查询、删除、授权等操作。
(4)分级管理。
通过和访问控制系统相结合,能够实现组织身份的分级管理,即将上级部门的维护权限,授权给下级部门的管理员,由该管理员维护其权限范围内的组织身份数据。
(5)身份认证安全管理。
系统应具有良好的安全性和可靠性,保证数据的一致性;支持安全访问控制、安全认证、加密签名;
对非法登录或系统故障等事故能采取多种检查和处理手段;可采用故障恢复、告警和处理机制;
可保证高效、海量的数据查询性能、更新性能、批量数据插入性能。
6.身份同步服务
身份同步服务提供完善的导入、导出和数据同步功能,将组织身份数据推送到其他组织身份库中,主要功能如下:
(1)身份数据导入导出。
用户信息管理应提供完善的导入、导出和数据同步功能,用于从现存用户信息数据库导入,并支持导入、导出的格式为XML和Excel。
(2)身份数据推送。
提供组织身份推送功能,将组织身份信息管理模块中的数据推送到其他组织身份库中,同步的频率、范围可配置。
(3)实时监听服务。
实时监听对组织模型的操作(增加、修改、删除用户和部门等对象),可支持向Web服务推送数据。
(4)自动重试。
在目标系统出现故障发生同步失败,待目标系统恢复后,可自动重试。
7.统一访问控制系统
在公共应用支撑平台中,统一访问控制系统提供通用访问控制服务。访问控制服务提供对用户身份的统一权限配置和统一访问控制等服务。
能够针对各类业务资源授予相应的权限范围,将用户实体与其角色、岗位、部门等权限属性相分离,使每个人员都具备不同的应用权限,实现每级或每个用户只能在自身的权限范围之内访问相应的业务资源。
主要功能如下:
(1)权限模型。
基于RBAC模型进行角色的管理,各种应用均需在RBAC框架下,统一使用Role的概念,建立Role、Group和应用权限的对应关系。
(2)权限导入。
提供资源和权限的导入、导出功能,能够以XML格式导入、导出,实现在不同系统之间的资源和权限的数据迁移。
能支持资源的扩展属性管理。
(3)权限继承过滤。
提供权限继承和权限过滤功能。
权限的继承通过对象的父子关联实现,要求实现操作者和资源双向继承。
权限过滤功能可过滤当前资源节点从父节点继承获得的访问权限。
(4)负权限。
提供负权限功能。
负权限是指操作者不应该拥有的权限。
负权限通过权限计算叠加完成,计算时负权限优先。
(5)权限等效。
提供权限等效功能。
设置用户B等效于用户A,则用户B拥有用户A的所有权限,权限等效具有时效性。
(6)权限计算。
提供权限列表和权限计算,选择资源范围和操作者集合,权限列表将权限计算的结果形成三维矩阵,横向为操作者,纵向为资源,中间为具有权限的操作。
权限计算可计算单个操作者对单个资源具有权限的操作,并显示该权限的来源。
(7)访问控制域。
支持访问控制域,可根据应用场景划分为不同的访问控制域,可为访问控制域设置资源范围、操作者集合、域管理员,由域管理员在管理范围内进行资源、操作者的授权管理。访问控制域可划分为多级。
(8)权限日志审计。
提供权限日志审计功能。
提供权限的变更审计日志,以及权限的访问日志。
提供记录和审计所有访问尝试的能力。
8.统一单点登录服务
在公共应用支撑平台中,通过统一单点登录服务调用向办公门户以及各个业务应用系统提供通用单点登录服务,主要功能如下:
(1)身份信息获取接口。
提供标准的用户身份信息获取接口。
从单点登录认证服务器中获得用户身份信息,实现应用系统自身的访问控制。
(2)单点登录信任域。
支持单点登录信任域,完成单点登录整合后,在域内的所有应用相互之间可以实现随意跳转,不需要对跳转URL等进行改造。
支持跨域的身份认证,可以配置多个域双向或单向信任。
(3)认证监控配置。
提供认证监控配置。
初始化子系统的单点登录配置信息,监控用户的访问请求,自动判断用户是否已经通过认证。
(4)多种认证方式。
支持多种认证方式,可以与PKI/CA数字证书、指纹等强认证模块集成。可针对不同的组织身份信息存储方式同时配置多种不同的认证方式,包括数据库、LDAP、OAuth、OpenID等。
(5)监听器配置。
对于基于JEE标准构建的B/S结构的应用系统,可通过配置监听器的方式实现单点登录。
(6)一次性访问票据。
提供支持票据的REST访问协议,提供一次性的访问票据,避免重放攻击。
9.统一消息管理系统
在公共应用支撑平台中,统一消息管理系统提供消息的消费服务和管理服务。
通过统一的消息管理在用户和信息源之间搭起一座桥梁,使用户通过多种途径(包括通过内网门户、邮件系统、即时通讯工具)与统一消息服务中心“相连”,通过统一消息服务中心可以得到多种信息服务,如业务办理、公文待办、信息发布审核、行政审批等,主要功能如下:
(1)消息集成。
对于办公系统、业务系统中的各类消息进行集成。
(2)消息分类汇总。
按照需要进行分类汇总,如待办消息、催办消息、传阅消息、通知消息、系统消息、日程消息、邮件消息、短信消息等。
(3)消息展现。
根据需要,将各分类消息在指定位置展现。
(4)消息的格式、类别的可扩展。
支持消息的格式、类别的可扩展。
总体说明:(很多项目没整好,都是因为前期架构没想明白就开始搞,搞到后面都搞个半死不活)
公共应用支撑平台为智慧政府建设提供了一套进行定制化研发的中间件工具。
PaaS公共应用支撑平台提供各种服务管理利用的环境,提供可视化的接口服务管理,可通过Web服务调用数据服务接口,提供数据即服务(Data-as-a-Service, DaaS),可通过PaaS平台的工作流、电子表单等应用中间件提供业务的定制。
用户或者厂商基于PaaS平台可以快速开发自己所需要的应用和产品。
同时,PaaS平台开发的应用能更好地搭建基于SOA架构的企业应用。
基于PaaS公共应用支撑平台可以实现对机构的特定资源(组织、身份、岗位、角色、服务、资源)的统一配置和管理,提供统一身份管理、统一访问控制、统一单点登录、统一消息集成等功能。
在工程实践中可用于为新建应用系统提供基础公共支撑服务,也可用于为已建成的、第三方的应用系统提供整合支撑服务。
通过研究与实践证明,PaaS公共应用支撑平台相对传统的应用支撑架构具有显著优势。
公共应用支撑平台采用SOA技术架构开发,具有高效便捷的服务调用模式,微内核模块化的结构使系统以搭积木方式构建,具备更强的松耦合特性,稳定性强、可扩展性强。
同时SOA技术有完善的一系列国际国内标准规范,遵循标准设计的公共应用支撑平台,具有体系结构开放、兼容性强、可促进产业化合作的优势。


