摘要:
2019年8月,我作为系统架构设计师,在某市政府数字化集中文印项目中担任重要角色,负责整体架构设计与中间件选型。通过该项目,开启了政务数字化改革中公文文印服务网络平台建设最重要的一步,为后续其他行政单位文印业务数字化改革提供了样板作用。
本文以该文印项目为例,主要论述了SOA在企业集成架构设计中的具体应用。服务提供者主要完成服务的设计、描述、定义和发布等相关工作;服务注册中心保证系统各个模块、服务的相互独立与松耦合;服务请求者通过webservice技术调用服务。实践证明,通过以上技术的应用有效实现了资源共享和系统间的互操作性,提高了系统的灵活性,最终系统顺利上线,获得用户一致好评。
正文:
为迎接十四五规划,政府数字化深化改革的全面启动,政府文印领域从单一数字化到部门协同一体化,依托政务内网,建设公文文印服务平台,实现自身业务与政务办公业务的协同融合,提升服务效率,助力政务数字化改革,完成从单一文印角色向公文制作服务平台运维的角色转变。2019年8月,我作为项目负责人、系统架构设计师,在某市政府集中印务项目中担任重要角色。该项目为期1年,总投资约1200万人民币,通过该项目,开启了政务数字化改革中公文文印服务网络平台建设最重要的一步,为后续其他行政单位文印业务数字化改革提供了样板作用。该项目时间紧任务重,具有较强的挑战性。一是业务模式升级,按照最新的排版科与印制科需求,实现更高级别的安全权限控制,以及对印务流程进行工作流的改造。二是技术要求高,要实现集中印务系统的集群化处理、分布式部署,一旦服务失效需要在半小时内做到整体可用,同时满足性能需求。三是数据整合难,需要将上一代系统中历时数十年的数据,按其有效性进行分类、整合、转化,实现历史存续业务数据在新系统环境下,按照新模式正常运行。四是设计组织人员多,直接研发团队成员27人,内核组、中台组、web组、QA组、需求组、产品组及其他支持部门总计近70人。同时上游承接政务内网入口系统,下游承接印刷流程系统,涉及外部配合协作公文排版、设备厂商等多组织外协人员50余人。我作为主要技术负责人,负责项目整体技术方法评估、立项论证以及项目管理工作。在项目启动前,负责分析项目的预期经济效益、可选技术方案,分析关联项目影响,向公司提交立项报告。项目启动后,作为主要项目负责人,牵头与公司内部技术专家、外部架构师一同建立技术架构组,设计项目整体技术架构,同时挑选项目内部成员,建立需求分析组、系统开发组、系统测试组、运维支持组,开展业务需求分析、系统设计、数据迁移方案、上线切换方案工作。一方面,我个人接受各组工作汇报,指导团队研发工作,监控整体工作进度。同时,我及时向公司领导、项目客户方、相关项目团队汇报沟通工作进展、阐明关键技术点。
SOA是一种应用程序架构,在这种架构中,所有功能都定义为独立的服务,服务之间通过交互与协调完成业务的整体逻辑。SOA指定了一组实体,包括服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约,这些实体详细说明了如何提供和消费服务。服务提供者提供符合契约的服务,并将它们发送到服务代理,这些服务时自我包含的、无状态的实体,可以由多个组件组成。服务代理者作为存储库,目录库以及票据交换所,产生由服务提供者发布的事先定义的标准化接口,使得服务可以提供给在任何异构平台和任何用户接口使用。这种松耦合和跨平台技术实现,使各服务在交互过程中无需考虑双方的内部实现细节、实现技术、以及部署在什么平台上,服务消费者只要提出服务请求,就可发现并调用其他服务得到答案。SOA作为一种粗粒度、松耦合的架构,具有粗粒度、松耦合服务、标准化接口、位置和传输协议透明、服务的封装和重用、服务的互操作等几个特点。
该系统要求开发周期短,系统灵活性高等,结合SOA的特点,我们最终采用了面向服务的、基于SOA的企业集成应用,下面论述其具体应用过程。
1,服务提供者
服务提供者主要完成服务的设计、描述、定义和发布等相关工作。经过对政府政务数字化建设的深入分析,经查阅有关技术资料以及整合以往项目经验,根据政企应用集成的要求,对历史集中印务系统整体业务流程进行梳理。综合考虑服务粗粒度、松耦合、自包含和模块化等特点进行服务的设计。为了避免服务通信期间,信息量过大,服务之间交互过于频繁,尽量减少服务的数量。同时,为了保证服务自身的完整性,尽可能的减少服务与系统之间的通信,在xx市政府集中印务系统的分析与开发过程中,先行设计,提出了两个个重点模块,急需的服务便于日后集成使用,其中包括智能排版服务与规范化服务。智能排版服务根据用户所选择的公文模板,将可变数据部分填充公文内容,在服务端经过加密处理程序生成加密电子文档。规范化服务为将加密电子文档经处理为符合印刷规范的印刷加密文档,支持多种格式的规范化,为后续送印提供基础参数、字体、转曲、拼版、折手等操作提供必要支撑。
2,服务注册中心
在政务数字化文印中心系统采用了服务注册中心。服务注册中心,并不是一个必选角色,但是为了保证该系统各个模块、服务的相对独立性与松耦合,在该系统中依然保留了服务注册中心,同时,服务注册中心的存在也使得服务请求者与服务提供者之间进一步解耦,在服务注册中心包含,有已发布的智能排版服务与文档规范化服务的描述信息,其描述信息主要包括服务功能描述信息主要包括服务功能的描述、参数描述、接口定义、信息传递等信息。集中文印项目包括业务相关的智能排版、校对、投递服务与印前相关的规范化、折手、公章红头等服务。系统支持向不同单位提供一体化公文办公与文印服务体系,保证党政工作制作标准与业务规范化,电子公文与纸质公文统一呈现,支持用户大规模集成应用,智能排版,只能校对、智能文印。最终生成文印服务、制作服务、模板服务、产品服务、统计服务、技术服务等。
3,服务提供者
服务请求者通过webservice技术调用服务。当服务完成发布,当服务请求者要使用已发布的服务,规范化服务利用webservice技术,通过服务注册中心获取公文排版服务以及其相关功能、接口、参数以及返回值等相关服务信息,之后使用webservice技术传递服务所需的排版文件生成的参数,进而调用该服务的运算、处理和分析。利用webservice技术,在规范化阶段,通过服务注册中心获取拼版服务定义的接口、功能、参数与其返回值等信息,之后根据是否折手等需求决定是否调用其他服务。
经过我和团队的不懈努力,历史一年,项目终于于2020年12月顺利通过了验收,并得到了一致好评,运行至今,用户反馈良好。总体来说,选用SOA有如下优势:1,系统更易维护,当需求发生改变时,不需要修改提供业务服务接口,只需要调整业务服务流程或者修改操作即可。2,更高的可用性,该特点是在于服务提供者和服务请求者的松散耦合关系上得到发挥与体现。这种没有绑定的特定实现上,具有中立的接口定义的特征称为服务间的松耦合。松耦合有两个明显的优势,一是它的灵活性,其独立于实现的硬件平台,操作系统和编程语言。二是当组成整个应用程序的每个服务的内部结构和实现逐渐的发生改变时,它能够继续存在。3,更好的伸缩性,依靠业务服务设计、开发和部署所采用的架构模型实现伸缩性。使得服务提供者可以彼此互相独立的进行调整,以满足新的服务需求。实践证明,SOA技术的使用大大提高了系统开发效率,节省了开发和维护成本,使得系统具有更好的开放性、易扩展性和维护性。