iPaaS集成平台即服务建设背景
随着“数智校园”在上海财经大学的广泛建设和应用,学校的信息系统和各类平台逐渐增多,系统间的服务商及运维方也越来越多。大多数系统间的交互采用端到端直连的集成方式,新系统上线就需要与其他系统进行重复对接,导致开发和对接工作重复进行,接口标准不统一,集成效率低下。
与此同时,学校经过多年的信息化建设,已经建立了许多独立的业务系统,而API的功能分散在这些系统中。系统间的互联以及前端业务创新都需要与已有的业务系统进行交互,以实现数据和业务流程的无缝连接。但由于API接口协议各异、报文格式缺乏标准、认证方式不统一,导致接入成本高昂、联调测试困难。同时,缺乏应用的监控手段也带来了问题,无法全面评估和监控接口的工作状态,难以准确定位错误,导致数据在多个系统间出现不一致甚至错乱的情况,这也给IT运维带来了大量繁琐的工作。
解决这一系列问题,急需一个集成平台,能够将所有系统整合到一个统一的平台上,并对所有API资产进行全方位管理。并希望IT人员及第三方厂商能实现自助接入,提高集成效率,同时集中管理和监控所有接口,形成一个统一的API能力中心,为前端创新业务提供支持。iPaaS(集成平台即服务)提供了理想的解决方案。
iPaaS集成平台即服务概念
iPaaS集成平台即服务,根据Gartner的定义,是一种在云端或本地提供的服务,可以促进高校内部各种本地或基于云的流程、服务、应用和数据之间的连接与集成。它的作用在于标准化应用程序的集成方式,让开发人员、技术顾问甚至运维人员能够快速构建集成流程,实现校园内部数据的互联互通。这种解决方案有助于加速高校数字化转型发展,为高校信息化建设提供更有效的支持。
iPaaS集成平台即服务的核心是API,它能够提高整个架构的灵活性,并成为企事业单位异构系统间连接的核心载体。此外,iPaaS平台还包含以下主要模块:链接器、集成开发平台、API网关、服务编排、管理中心、监控中心等;通过引入iPaaS集成平台即服务,学校能够有效解决系统集成效率低下的问题,实现统一管理和监控接口的目标,推动数字化转型发展。同时,iPaaS平台的各项功能模块也为学校信息化建设提供了全面且可靠的敏捷支持。
iPaaS集成平台的选型与实施
平台选项
随着学校信息化建设的不断深入,为了更好地管理和整合各类应用系统间的数据交流,决定引入iPaaS集成平台,实现对API的统一管理和安全接入。在选择适合学校的平台时,团队考虑了多个因素,包括非开源商业化产品、具有自主知识产权、可扩展的Java体系、支持私有化部署、维护性强、高性能、高稳定性、安全性和成本等方面。
优先选择商业化产品,因为希望能够获得良好的厂商支持并具备自主可控的知识产权。虽然曾尝试过一些开源产品,但未能满足需求。同时,希望所选产品具备可扩展的功能,便于自主实现扩展,特别是在主要使用Java语言的情况下。产品的私有化部署、可维护性和高性能也是重要的关注点。稳定性方面,考虑到所有API调用都依赖于iPaaS平台进行中心化调用,高可用性的架构尤为重要。最后,也需要全面考虑整体费用,无论是由厂商实施还是自行实施。
管理规范
经过细致的调研和梳理工作后,首先制定了学校自身的API开发与管理规范,规定了接口的开发和使用流程;其次梳理了现有接口的情况,并制定了部分接口的改造计划,并逐步将其转移到新的平台上。最后确认所有新的接口均采用iPaaS平台进行开发、对接实施及运维管理。在具体实施过程中,规划并执行了以下关键内容。
接口梳理。首先梳理了学校当下存在的四种形式的接口,包括通过API网关对外提供的API接口、数据中心对外提供的数据库视图接口、非数据中心对外提供的数据库视图接口以及非数据库授权的系统间直接对接的接口,并制定了相应的接入原则。
API开发和管理规范。制定了学校自身的API开发和管理规范,包括URL规范、返回值规范、错误码规范、请求头规范等内容。技术人员可以从路径中清晰地查看此API所属的业务领域或应用,以及开发方式,但层级不能过多。
API调用样例。准备了常见语言比如Java、PHP、Python等的API调用示例,以便推广API网关的使用。
开发发布。所有开发测试均在开发环境中进行,经过验证无误后,由少数管理员导入正式生产环境,检查后方可发布使用。
调用申请。所有API接口均需要经过审批后方可调用,修改了所有API生成的缺省权限,设置了新接口的申请审批流程,确保接口的合理使用。需要说明的是,并非所有的接口都必须通过API来访问,而是根据具体情况来选择。通过审批流程管理,目的是逐步提升学校及开发商相关人员的信息化素养。
新接口开发。所有新接口均采用iPaaS混合集成平台进行统一集中开发,这样可以有效避免大量接口在原业务系统中开发,从而导致业务系统频繁发版,业务系统不稳定的问题。
平台部署实施
第一步,平台部署。如图1所示,原有系统及接口通过现有F5统一转发;部分接口可以注册至网关,由网关代理后,F5也可直接转发原接口。新接口需在网关内开发后,由网关统一转发。
图1 系统部署架构
当单机网关节点的日均吞吐量达到瓶颈时,可通过增加网关节点扩展并发能力,网关采用无状态集群部署方式可线性增长API并发量。
由于所有API的调用日志均需要进行全量记录以备后续审计时使用,所以当单机部署的MONGODB访问量过大时造成假死状态时,采用集群副本方式部署可以及时转移节点。
第二步,接口改造。根据接口具体的使用情况,制定了接入和改造实施方案:
查询类(数据量较少):基于DC现有的视图接口通过API网关对外提供服务。
查询类(数据量较大):基于DC现有的视图接口通过数据库提供服务。
写入类:基于原业务系统通过API网关对外提供服务。
同一数据库用户的应用(微服务)与应用(微服务)间数据交互主要在数据库中完成,跨数据库用户应用原则上通过API交互,特殊情况再特殊处理(如教学和教学服务平台)。
如果应用(微服务)A需要应用(微服务)B内带有业务逻辑的数据,建议在应用(微服务)B内完成业务处理后再通过API提供。
制定部分接口调整到API的修改计划,并逐步执行。
iPaaS的应用效果
经过以上的实施过程后,中心技术团队逐渐掌握了iPaaS平台核心模式,诸如API网关、服务编排、消息集成、API监控等的广泛使用,下面是一些实际场景中的应用效果。
数据转换与整合
iPaaS平台支持Restful、WebService、Dubbo、TCP/IP、MQ等协议和报文的转换,支持Restful转WebService、WebService转Restful、Dubbo转Restful、MQ转Restful、TCP/IP流数据转发等功能。通过平台的协议转换功能将webService接口转换为JSON格式的Restful接口,并新开发API替换webService接口,以降低资源开销。
消息与提醒管理
第一,消息包装。基于消息平台,包装了门户通知、微信通知、邮件通知、短信通知等,对外提供API调用,实现消息的统一消费和管理。在各类消息的包装中实现了灵活性策略。在实际应用中总结出了小技巧。以发送短信的场景为例:先定义了一个对外提供服务的发送短信的API,然后用服务编排了一个对接短信平台的流程,并用对外公布的API指向服务编排流程生成的API。这样做具有了很大的灵活性,当更换短信服务商的时候,只需要重新编排一个流程,然后把对外公布的API指向到新的编排流程生成的API。这样的机制对于发送短信的调用系统是无感的切换,调用系统无需做任何调整。
第二,消息提醒。基于消息集成平台,再利用服务编排,建立相应的业务监控机制,做到很多通知的提醒和业务监控。
在API网关自身运行状态监控中,当API调用出现错误时,系统立即根据相应的错误码,调用相应的API进行处理。例如:编排了把错误消息发送给多个管理员的流程,当API调用出错的时候,管理员就可以立即收到微信、短信、邮件等消息提醒。
服务编排实现业务监控与数据同步
API服务编排是把微服务发布的API或业务系统的API服务接口按照一定的业务逻辑和流程进行可视化编排及融合的能力,编排后的API流程可重新发布成为一个新的API,并可以直接打包成为一个新的微服务单元进行独立部署和运行。
在数据同步方面,通过API服务编排可以显著提升业务API服务的复用率,从而敏捷地支持新的业务应用场景。基于服务编排建立了相应的数据同步机制,用于监控组织机构、教职工和学生数据的变化,并将这些变化同步到学校的各个系统中以响应这些变化。
举例来说,以学生数据的变动为例。首先,iPaaS平台会捕获到学生数据的变动,并将此信息推送到消息集成平台。随后,iPaaS平台会监控消息平台,一旦有新的消息产生,就会调用相应的API进行处理。同时设计了一个通用的消息处理流程,生成一个API供iPaaS平台调用。在这个通用的消息处理流程中,会根据消息类型异步调用相应的具体处理API。对于学校内哪个系统对某类消息有需求,有两种解决方案:一是iPaaS平台直接调用系统注册在API网关的业务逻辑处理API接口;二是如果没有逻辑处理接口,可以使用编排进行逻辑处理,之后再由消息平台调用相应流程。
基于以上机制,包括组织机构、教职工和学生的信息等,新建的系统可以快速实现数据同步。
在业务监控方面,基于iPaaS平台,已经实现了对学工系统的一个监控应用场景。学工系统中的辅导员是设立在班级上的,一个学生对应的辅导员是通过学生的班级来关联的。学生的班级是在教学系统中调整的,当一个学生被调整到没有辅导员的班级时,该学生就没有对应的辅导员。在编排流程内编写了一个查询SQL,并将其嵌入编排的提醒流程中。每天早上7点启动流程,当流程结果发现没有设置辅导员的班级时,平台将发送微信/钉钉通知,然后与相关部门及业务人员沟通处理。这样就实现了对系统运行业务支持的监控。基于此类场景,实现了各业务系统数据完整性的监控。
系统稳定性保障
限流应用是API网关中至关重要的策略之一。限流应用可有效地避免服务器过载并保护其他系统的稳定运行。
教务选课作为学校系统应用中最具压力的场景,除了选课之外,还曾遭遇过一次导致学校服务器瘫痪的情况——成绩集中发布查询。
根据规定,学校本科生的成绩由任课教师提交一门课程,教务处随后发布一门课程。然而,部分教师未能按时发布成绩,导致学生频繁致电教务处咨询。尽管教务处统一规定了发布时间,但未将此信息同步至技术部门,其结果是服务器崩溃。原因在于此前存在多个用于查询成绩的入口,这些入口均通过视图提供查询接口。此外,所有系统数据库服务采用同一实例,最终导致整个数据库性能不足,无法访问其他系统。
在iPaaS平台上线运行后,经过改造和优化,在成绩集中发布时,关闭了除移动端入口以外的其他入口。用户可通过移动端的API进行成绩查询,并对查询成绩的API进行流量控制。一旦超过规定流量限制,API将直接返回错误并提示“当前查询人数过多,请稍后查询”。这样的机制能够有效地控制流量压力,保障其他系统的稳定运行。学生用户只需稍后刷新,便可重新查询。
系统整合与支持
新门户消息兜底。借助iPaaS平台服务编排的能力,还为新门户的上线提供了支持。封装了门户消息待办的API,供各系统调用。为了解决以往业务系统和门户消息不一致的问题,还设计了一个门户消息兜底方案。
在业务系统发送门户消息待办之前,首先将消息待办存储在本地数据库中,然后调用网关接口进行发送。发送成功后再修改本地数据库中的发送标志。然而,如果本地数据库存储失败该如何处理呢?提出了一种解决方案:在利用其他工具监控包装应用服务器具备足够空间的前提下,如果本地数据库存储失败,则记录日志。基于iPaaS平台,可以监控到各个服务器的日志变化,并将日志中的数据存储到一个专门的数据库表中。随后,由门户的兜底发送程序重新发送所有存储失败的消息待办。
新门户卡片支持。新门户首页会根据登录者的不同身份显示不同的卡片,卡片需要去系统后台读取一些数据进行展示,内容有些是统计结果,还有些需要经过计算才能得到结果。门户平台上的卡片模块是由合作的公司开发,开发进度比较慢,运行效率较低,也无法保证结果数据的正确性。
iPaaS平台上线后,门户卡片都通过API来访问数据,API由通过API网关配套的服务开发平台来实现,通过根据需求场景定制开发的API来保证数据的准确性,这样就大大加快了新门户的实施进度,同时给这些API加上限流控制,门户平台的开发公司协同添加对限流后的处理,统一给出消息提醒,并定时重试刷新,保证门户上线后的正常运行。新门户上线后第一个工作日,API网关的访问量总计110多万次。
微门户支持。学校门户的PC端和移动端是2家不同的公司的产品,随着PC端新门户的上线,微门户也要做相应的调整。借助iPaaS平台给门户做的一些API,同时也可以给微门户使用。在微门户上,也有一些其他特定的支持。比如科研系统中的一些学术报告,在经过审批后,编排了一个流程,通过微门户的接口,灌注到微门户中,作为“发现”的中的活动之一在微门户进行展示。
监控展示与统计
学校的大屏系统和iPaaS混合集成平台的通道,使得大屏不仅可以显示数据库里的结构化数据,也可以通过API网关获取显示非结构化的数据。制作了一个关于API调用统计的大屏,采用的是API网关提供的数据接口。
未来展望
iPaaS平台上线使用至今,梳理上海财经大学1500多个接口,对接管理学校48个业务系统,注册管理数百个原子API,服务编排新业务场景数百条流程,日峰值调用次数超100万,API网关策略数十项,累计调用次数超2亿次。API是实现业务敏捷集成、系统互联互通的核心要素,通过服务化支撑学校不断变化的业务需求并实现快速的业务创新。iPaaS集成平台即服务这一创新性产品在学校的落地广泛应用,在2023年度上海高校信息化建设与应用优秀案例评选结果中,“集成平台即服务(iPaaS)在上财的实践和应用”荣获特金奖。
iPaaS与aPaaS的接合
iPaaS在学校内的广泛运用有效解决了系统集成和支持新业务场景的挑战,但也认识到在前端业务创新方面还有更大的潜力。aPaaS平台的引入为此提供了新的机遇。借助iPaaS平台管理的学校API和流程编排,aPaaS能够快速响应新的业务场景需求,这将进一步加速数字校园的建设。
通过iPaaS和aPaaS的融合,能够更好地支持和推动前端应用的创新。这种整合不仅使得业务场景的快速实现成为可能,还增强了学校数字化转型的力度,使学校内部各业务领域实现更紧密的协作和创新。
iPaaS与大模型的结合
iPaaS平台的应用已经极大地促进了学校的信息化建设和运营效率,并正在探索更进一步的提升。与大模型的结合可以为学校业务能力的进一步实现提供新的可能性。
通过将大模型引入iPaaS平台,可以利用自然语言描述来驱动学校的业务能力,例如:通过AI可以驱动学校的API能力实现数据统计并迅速做出业务协同动作。这种整、合能够更智能地治理和协调业务流程,提高业务的效率和质量。这将有助于实现学校内部各业务领域的协作,并进一步推动学校数字化转型的进程。
*本文项目信息:2023年度上海高校信息化建设与应用优秀案例评选结果中,“集成平台即服务(iPaaS)在上财的实践和应用”荣获特金奖。
来源:《中国教育网络》
作者:吴建生(上海财经大学网络与信息技术中心)
责编:陈荣