边 超 贺 虎 易广军
(1.南水北调中线信息科技有限公司,北京 100038;2.北京中水科工程总公司,北京 100048;3.中国电建集团西北勘测设计研究院有限公司工程实验监测院,陕西 西安 710065)
随着云计算生态圈的逐步完善,云计算产业链不断壮大推动了SaaS服务的快速发展。企业应用软件的服务商为了吸引更多的客户,在不断提升产品质量、拓展产品功能的同时,纷纷开启了企业应用的SaaS服务模式。在国外,Salesforce.com的产品和服务为全球企业用户提供云端软件应用及开放平台,最终使得企业与消费者、企业员工之间的信息交流、分享和软件开发变得更加社会化、移动化和开放化,仅2015年第一季度收入就达到10亿美元;2008年成立的Zendesk,提供基于互联网的SaaS客户服务/支持管理软件,2013年客户数即达4万,次年即在纽约交易所上市。在国内,用友软件从“全面人力资源管理”角度出发,应用SaaS技术为HR管理搭建个性化、规范化、网络化、动态化的工作平台,为客户提供人力资源全产业链的产品和服务;“管家婆”抓住SaaS平台发展契机,推出了特有的电子商务平台软件,实现了电商与传统型ERP的完美结合。
工程安全监测领域,传统的数据管理和应用模式仍占主要地位。近年来,云计算和大数据等信息技术逐渐成为发展趋势,各单位积极开展了相关研究和实践活动,但与其他行业基于SaaS模式的应用还有一定差距,如中国科技大学谢谟文教授提出了工程安全监测数据托管服务;Oficina公司进行了库群管理研究;大坝安全监察中心计划开发新一代基于云服务的可视化、专业化、智能化的全国水电站大坝安全远程在线监控和应急管理信息平台等。
综上所述,基于SaaS的软件应用模式已经成功应用于客户管理、人力资源管理、电商平台,而在工程安全监测领域的应用研究还比较滞后。在传统的监测系统技术不能有效实现大数据量的信息化管理、信息共享、风险管控和应急处理的现状下,SaaS模式在该领域的应用研究将为工程安全监测的可视化、专业化和智能化提供有价值的参考。
SaaS[1]全称为Software-as-a-service,意思是“软件即服务”。在业内,SaaS被称为软件运营或简称软营。它与“on-demand software”(按需软件)、the application service provider(ASP,应用服务提供商)、hosted software(托管软件)具有相似的含义。
SaaS是一种基于互联网提供软件服务的应用模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户无须再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无须对软件进行维护,服务提供商会全权管理和维护软件。有些软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它免去了企业购买、构建和维护基础设施和应用程序的需要。SaaS作为21世纪开始兴起的一种完全创新的软件应用模式,为不同规模、不同类型的企业带来了很多好处。
a.快速实现。随时随地,只要连通互联网,企业从任何计算机或移动设备上都可以获得SaaS应用程序。由于人们对互联网的使用越来越熟练,借助互联网搜寻自己所需的软件服务也是人们所擅长的事情,因此,在SaaS平台上选择适用的应用程序比起传统的安装、设置、运行软件具有更加高效的优势[2]。而由于使用共享基础设备,企业也无须额外花费时间对这些设备进行维护。
b.使用成本低。SaaS应用程序基于订阅收费、无须购买软件意味着初始成本比较低。而由SaaS提供商负责管理IT基础架构,则意味着在硬件、软件和相关管理方面,企业无须付出额外的维护成本。
c.无痛升级。因为SaaS供应商负责管理所有的更新和升级,企业无须自行下载或安装补丁。同时,SaaS供应商还负责应用程序的可用性管理,所以企业无须添加硬件和软件,也不必随着用户的增长而提高带宽。
d.无缝整合。SaaS厂商拥有真正的多租户架构,并且可以无限地扩展,以满足客户的需求。大多数SaaS供应商也提供定制功能,用以满足用户的特定需求。此外,许多供应商还提供应用程序接口,让您轻松整合现有的企业资源规划系统或其他企业的生产力系统。
新兴的SaaS模式软件在用户使用角度来看,与一般基于B/S架构模式没什么不同,但从企业使用和技术角度来看,是不同于B/S的全新服务模式,是在线为企业提供服务,并使用户能按需获取的软件模式,使软件授权和分发更加灵活。所以,在深入研究SaaS模式前,有必要对传统软件系统结构的不同进行对比分析。
传统的软件系统结构有C/S、B/S,其中C/S即客户机和服务器结构。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、MySQL或SQL Server。客户端需要安装专用的客户端软件。该结构的系统可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通信开销。B/S即浏览器和服务器结构。客户机上安装一个浏览器(Browser),服务器上安装数据库和专用软件。它是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,用户界面完全通过浏览器实现。按分层设计思想开发的系统一般将业务逻辑放在服务器端实现,也有一些不是太复杂的系统会将一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现。浏览器通过Web Server同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下的数据库应用,相对易于把握,成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在众多的工程安全监测系统中,C/S与B/S的系统应用主要有5点不同。
a.部署环境不同。C/S一般部署在专用的网络上或局域网里,通过专门服务器提供数据存取服务。B/S部署在网络环境中,可以是局域网也可以是广域网,比C/S的部署灵活,客户端通过浏览器可以直接访问。
b.系统架构不同。C/S系统可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度有多重的考虑,建立在更加优化的基础之上,比C/S有更高的要求。
c.系统维护不同。由于C/S系统部署环境,其升级较难,一般用户不易操作,不如B/S简单易行,B/S可以非常便捷地实现在线的无缝升级。
d.开发周期不同。C/S多是建立在Windows平台上,界面展现方式有限,开源控件的选择有限,而B/S建立在浏览器上,有更加丰富和生动的表现方式与开发社区,减低了难度和开发成本。
e.接口开放程度不同。C/S系统一般是打包的程序模块,动态库的引用、接口的使用受系统环境的影响较大,而B/S模块化开发,有丰富的接口设计形式,可以非常方便地与其他系统进行对接。在工程安全监测领域,仪器厂商一般提供C/S的软件供用户使用,如北京基康的BGK-Logger[3](Access数据库)和BGK-Logger.NET(SQLServer数据库)、南瑞的DMIS[4]、南京水利水文自动化研究所的DG-2010[5](Access数据库)、美国Campbell的LoggerNet(Access数据库)等;有些企业也提供B/S系统,通过VPN确保系统的安全性,一定程度上能满足日常工作的需要,但在数据共享、数据利用方面的工作不足,致使企业数据资产长期闲置,不能发挥必要的安全保障作用。
从以上介绍可以看出,C/S与B/S系统有着明显的不同,B/S系统是发展的趋势。有鉴于此,SaaS模式软件在充分汲取B/S结构优越特性的同时,创造性地发展出符合商业运营的软件解决方案(见图1),在企业软硬件购置、专业人员培训、运营维护等方面表现出极大的优势。
图1 云计算SaaS模式的软件解决方案
在工程安全监测领域,为了解决传统软件在集中管理、数据共享、减少企业运行成本等方面的不足,各相关科研院和仪器厂商做了很多尝试,但总体来说,仅简单地将数据库及相关软件系统部署到一台服务器供有限的人员使用,并未做出实质性的改进。随着互联网速度的提升,高速网络连接得以普及,基于Web的应用将SaaS应用推上了历史的舞台。围绕业务需要,将资料录入人员、专业技术人员、企业管理者和特聘专家均纳入平台,赋予相应的权限,实现流程化管理才能使系统发挥应有的作用,使运行管理处于高效、可控状态。SaaS的多租户、按需取用、个性化定制让长期受资金不足、专业技术人员短缺、管理水平难以提高等众多问题困扰的工程安全监测管理迈上新的台阶。
未来,基于SaaS 模式开发的工程安全监测数据管理及分析云服务系统(见图2),将充分考虑水电、风电、火电、轨道交通等工程安全监测需要,设计开发可配置、可伸缩的架构,用户无须再购买软件以及部署软件所需的软硬件资源,只需使用浏览器或移动终端即可随时随地使用软件上的所有功能,能够让用户以低成本、低门槛和低风险的方式使用软件服务[6]。
图2 工程安全监测数据管理及分析云服务系统
在广阔的应用前景下,SaaS模式在工程安全监测领域不可避免地面临很多难题需要解决,切实做好以下针对性的研究工作将有利于该模式系统的成功应用。
a.设计通用性风险及数据集成风险的管控。在需求上既要满足初始用户的需求,又要考虑其他通用性需求。对3个以上的项目进行应用场景的检查,确保通用性。提供专家知识预置、用户自定、偏好动态跟踪等,注重专业性的同时提高个性化、智能化程度。系统应对业已建成的自动化采集系统、技术体制和数据库进行深入、细致的分析,采用多技术多手段尽可能降低数据集成的难度。
b.统一数据。SaaS模式下的系统面临的数据源将比传统单一的应用系统复杂很多,数据来源多种多样,包括关系数据库、WebService、文件、数据立方体等,甚至还有一些通过程序运算得到的外部数据。这便要求SaaS系统有很强的数据访问和处理能力,并且从统一数据模型的角度,将这些异构数据源转换成一种统一的数据模型。
c.多租户多角色的权限管理。多租户是SaaS模式的基本特征,租户间数据有2种隔离方式,一种是每个租户使用独立的数据库,另一种是租户共享数据库,用租户身份标识区分。多角色权限管理的解决方案也很多,但在实现中应该为除系统管理员、专业技术人员以外的企业特聘专家、主管领导和公众角色赋予相应的权限,使各个角色能够在统一的平台上根据需要获取足够多的数据信息,并可通过上传、下载、订阅、推送的方式实现数据的利用和流通。
d.远程监控。设计通用的命令收发模块,对不同厂商数据采集模块的通信协议进行深入研究,在系统中提供实时的数据采集、状态查询,减少对不同采集系统进行维护的复杂性,确保系统高度集成。
e.发布API。系统应充分考虑对外提供数据的便利性,在授权的状态下,为第三方应用的集成提供所需的接口,实现应用的扩展和数据的实时共享。
f.门户网站。进行工程安全监测数据整编分析时有很多图形报表需要制作,SaaS系统有必要对图表模板的共享进行深入研究,让所有租户都可以便捷地获取有用的模板、上传自己制作的模板,“不重复造轮子”可以大幅提高用户的工作效率。同时,必要时可提供专家问答、规范资料、经验总结等板块,加快用户专业知识的积累。
g.智慧服务。结合GIS、BIM、虚拟现实等技术,将数据信息在二维、三维实景中叠加展示,对异常报警信息进行动态定位与导航,引导工作人员完成管理工作。
h.预警预报及应急管理。在现阶段的单一阈值报警的基础上,研究多物理量多尺度的分析模型,实现预警发布与应急管理协同进行,提高安全处理能力。
SaaS模式经过诸多行业的实践,已经成为成熟的软件应用模式,工程安全监测系统不能继续停留在传统的C/S或B/S结构下,仅实现基本的数据管理、图形报表输出、离线分析和阈值预警,而应淘汰落后的数据获取和处理方式,融合虚拟现实、GIS、实时监控、应急管理、流程管理等技术方法,将人、物、数据信息资产全部纳入系统,对SaaS模式充分研究,切实解决其在工程安全监测中应用的问题,助力工程安全监测平台建设和实现规范化管理、智慧化决策的目标。