e-works数字化企业网  »  文章频道  »  基础信息化  »  移动应用

基于“云服务”的分布式系统移动应用中心建设

2017/5/18    来源:中国科学院大学    作者:岳轩宇  陈远平  杜义华  李镇阳          
关键字:移动应用  云服务  ARP  
ARP系统采用的是“院-所”两级分布式部署架构,每个上线单位(各研究所)均拥有一套独立的物理服务器环境并部署了相应的业务管理系统, 各所级业务系统通过数据交换平台与院级业务系统进行交互。
    中国科学院资源规划项目(Academia Resource Planning, 简称ARP),是从院所两级治理结构出发,以科研计划与执行管理为核心设计并开发的资源配置管理平台。 历经十余年的建设与应用,ARP系统逐渐形成了十大业务系统(人力资源管理、综合财务管理、科研项目管理、科研条件管理、基本建设管理、知识产权管理、国际合作系统、院地合作管理、教育资源管理和评估评价)、两大应用平台(公共事务处理和信息资源服务),院所两级联动的应用格局. 到目前为止,ARP系统在中国科学院内共有130个上线单位,为院所各级领导、管理人员、科研人员提供科研管理核心业务支持, 核心用户近4000人,其中员工自助、网上报销、日常事务管理等子系统涉及全体员工, 直接服务总人数达5.5万人,在提高管理工作效率、促进管理方式变革等方面发挥了重要作用。
 
    ARP系统采用的是“院-所”两级分布式部署架构,每个上线单位(各研究所)均拥有一套独立的物理服务器环境并部署了相应的业务管理系统, 各所级业务系统通过数据交换平台与院级业务系统进行交互。 ARP系统院-所两级结构如图1所示。
 
“院-所”两级系统结构图
 
    图1 “院-所”两级系统结构图
 
    此外,在院级系统层面组建了信息资源中心(IRC),负责完成全院各所级节点业务系统日常运行过程中产生的各类科研管理数据的汇聚任务,并通过ETL(抽取、转换、加载)操作构建形成中心数据仓库及数据资源池,为院、所两级决策者、业务管理人员及科研人员提供信息资源服务。
 
    1:ARP系统面临的移动应用需求
 
    目前我们正身处移动互联网时代,智能手机、平板电脑已普及千家万户,各类雨后春笋般出现的移动应用正逐渐地改变人们的生活和工作方式。 ARP系统作为中国科学院科研管理信息化的重要支持平台,旨在利用移动终端平台提供业务审批、课题经费查询、个人工资信息查询等常见功能,使得用户可以随时随地的进行业务处理及信息服务获取,进一步提高工作效率及工作体验。
 
    2012至2013年,作为运维支撑部门的ARP中心曾尝试开发并实现了ARP移动办文项目,然而由于该项目的部署模式仍采用分布式结构,需要在各ARP上线节点部署相应的程序包,最终由于部署过程复杂、功能拓展不便及系统升级困难等各方面因素导致项目的应用效果并不理想。
 
    随着办公人员对移动应用需求的不断变化和拓展,若依然按照分布式系统结构进行系统功能应用部署、拓展、升级等操作,则不可避免的需要在各上线单位持续地增加服务器,在未来的运维过程中还需反复下发程序补丁,并要求各ARP系统上线单位系统管理员及时部署程序升级包。可以预见的是,分布式架构下复杂和繁琐的工作流程势必将严重限制着ARP系统应用功能的发挥,更重要的是分布式架构下不能充分利用院级信息资源中心汇聚的各ARP上线单位的数据资源,从而无法为不同类别用户提供定制服务进而严重影响ARP系统整体效益的发挥,此外,使用分布式架构将面临着系统平台的统一管理的一系列挑战,诸如用户行为数据的收集、系统安全的统一控制等。
 
    近年来,伴随着“云服务”概念的兴起以及相关开发技术的日趋成熟,依托于“云架构”及相关技术在院级系统层面统一开发和部署“云服务”模式的ARP移动应用中心,将能更合理、有效的解决前述问题,更加充分地利用院所两级的整体资源。
 
    2:系统建设方案
 
    针对目前已经存在的大规模分布式结构的所级ARP系统,建立起一个基于“云服务”模式并能充分兼容原有分布式系统结构的集中式移动应用中心势必充满着一系列的挑战及困难,主要包括以下几个方面:
 
    ①如何实现分布式系统下ARP用户的统一登录及权限验证问题;
 
    ②如何解决分布式环境下业务数据的实时访问、处理问题;
 
    ③如何解决移动应用VPN访问及分布式现状下业务用户应用路由问题。
 
    2.1系统整体结构
 
    针对上述提出需要解决的问题, 综合考虑设计系统整体结构如图2所示。
 
系统整体结构图
 
    图2 系统整体结构图
 
    系统由移动“云服务”中间平台、所级业务管理系统、中转路由三部分组成, 针对系统所需要处理的业务而言, 构建伪代码描述如下:
 
    GetTheRequestFromUser();
 
    if (CaVerifyNoPassed(userId))
 
    return falseInformationToUser();
 
    else
 
    FindTheInformationForUser();
 
    FindWebServiceAddressFromXml();
 
    CallOnWebServiceAndProcessRequest();
 
    “云服务”模式的集中式移动应用中心处理的典型
 
    业务请求如下:
 
    ①处理涉及读写操作的业务数据请求(如公文批示)时, 移动“云服务”中间平台将充当认证门户,进行统一用户认证保证系统的安全性及控制权限. 若用户没有通过验证,返回错误提示信息, 若用户通过认证,通过查询路由信息表判断业务请求数据源,调用“云服务”中间平台内保存的对应所级业务处理系统WebService接口进行请求转发,在所级系统内进行更进一步的业务逻辑处理;
 
    ②处理仅涉及读操作的业务数据请求(如个人工资查询请求)时,集中式服务平台为通过统一认证的用户从平台持有的数据库连接池中动态创建JDBC连接,连到远程相应所级数据库,并为该请求创建一个对应所级数据库系统最小权限(只读)的用户,通过该连接直接查询远程分布式数据库的数据作为查询结果返回。
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐