在准备架构师考试过程中发现可供参考的论文范围非常少且内容陈旧给学习带来很大烦恼,通过考试后把我准备的论文共享出来水平有限但内容格式迎合考试,希望给大家一个参考。范文以“论面向服务架构设计及其应用”为题书写,希望对大家有所帮助。
【摘要】
5月,我参加了某省质量技术监督局“生产制造一体化监管平台”项目(以下简称一体化平台),担任系统架构师职务,负责整体架构设计与中间件选型。该系统以监管企业生产制造为主线,旨在帮助各级监督部门解决监管企业生产、报审、送检、勘验、巡检和执法等问题。本文以一体化平台为例,论述了面向服务架构主要的技术和标准及每种技术和标准的具体内容,并说明在构建面向服务架构中遇到的问题及具体实施效果。实践证明采用面向服务架构设计,降低了系统的耦合度、使软件具有了更好的开放性和扩展性满足了客户业务要求,使开发工作取得了成功。一体化平台于10月验收上线,目前已稳定运行1年时间,得到了各级监管部门和企业一致认可和好评。
【背景】
质量技术监督在生产领域、市场流通领域等方面都起到至关重要的作用,关乎到企业生产和人民日常生活。某省质量技术监督局在信息化方面起步较早,先后建设了数套专项系统,但缺乏对业务的统一监管,为贯彻落实国家市场监督总局《关于加快推进质量体系监管信息化建设要求》,一体化平台的建设工作受到各级领导的关注。项目建设目标覆盖省、市、县区三级质量监管部门及全省三十多万家企业,为工业生产、报审、送检、勘验、巡检和执法工作提供支持。我所在公司长期从事相关行业的软件开发,对质量监督领域有着丰富经验,因此顺利中标承建了该项目,初期投入15名技术人员和5名测试人员,由我担任架构师职务,负责软件架构设计和中间件选型。
项目启动后通过对业务的梳理,初步将一体化平台划分为四大模块,其中政务服务模块针对的是通过互联网访问系统的企业用户,在功能上主要包括报审、送检、公示和政策法规宣传等功能;而其它三个模块针对的是通过电子政务外网访问系统的监管部门和事业单位用户,其中运行管理模块主要功能包括审批、勘验、颁证、建档;企业监管模块主要功能包括巡检、执法;电子监察模块主要功能包括实时监控、预警纠错和效能评估。
【论点】
在架构设计开始阶段,我意识到选择合适的架构风格对架构设计的重要性。由于客户单位已投入使用的数套业务系统,因建设年代不同、委托开发公司不同,导致这些系统的开发语言、架构设计、执行标准都各不相同,成为了各自为政的信息孤岛。客户为适应新形势下的监管工作急需进行业务整合,要求一体化平台打通从生产到监管的全业务流。而这其中就涉及到与特种设备、单兵监控、检验检疫及档案归档等多套专项系统进行交互。因此在综合考虑了标准化、松耦合、粗粒度服务和可移植性等多方面因素后,我决定使用Java作为开发语言,并采用面向服务的架构设计(Service-Oriented Architecture,SOA),来满足客户对系统的要求。下面说明实现SOA主要的技术和标准及每种技术和标准的具体内容。
【回应论点一】
SOA是一个组件模型,它将应用程序的不同功能单元进行拆分,并通过服务之间定义良好的接口联系起来,它强调服务共享和重用。与 SOA 紧密相关的技术主要有UDDI、WSDL和SOAP。其中UDDI(统一描述、发现和集成)提供了一种服务发布、查找和定位的方法,是服务的注册规范,主要包含数据模型、API和注册服务三项内容;WSDL(服务描述语言)是对服务进行描述的语言,它有一套基于 XML 的语法定义,包含服务实现定义和服务接口定义;SOAP(简单对象访问协议)定义了服务请求者和服务提供者之间的消息传输规范。SOAP 用 XML 来格式化消息,用HTTP来承载消息。通过SOAP应用程序可以在网络中进行数据交换和远程过程调用。SOAP主要包括封装、编码规则、RPC和绑定四个部分。
SOA主要的实现方式有WebService、ESB和服务注册表,本次在项目中使用的是WebService方式实现SOA。在该方式中包含三个重要角色,分别是服务提供者、服务请求者和服务注册中心,下面说明具体的构建过程及遇到的问题和实施效果。
【回应论点二】
1.服务提供者,主要完成服务的设计、描述、定义和发布工作。通过对客户业务的分析梳理,并综合考虑粗粒度、松耦合、自包含等特点对服务进行了设计。同时为了避免服务间通信量过大、交互频繁,尽量减少了服务的数量。经设计初步提炼出送检、勘验、建档和年审四项主要服务。其中送检服务和勘验服务由原质检系统和单兵监控系统提供,建档服务和年审服务由一体化平台提供。其中建档服务实现提供对来自多个系统的企业信息进行汇总,并按照档案局要求标准进行编目、分类、案卷等标准化操作保存为电子档案以备查阅;年审服务实现验证许可证到期处理,如已到期须从新审定,合格者自通过之日起12个月内有效,对有特殊情况暂不能进行年审的可延续3月有效期,对受到违规处罚的撤销年审资格接受整改。以上服务设计完成后,首先使用WSDL进行服务描述,然后使用UDDI技术将其发布到服务注册中心,公布定位服务的方法。
2.服务注册中心,服务注册中心是连接服务提供者和服务请求者的纽带,服务提供者在此发布服务描述,服务请求者在此查找需要的服务。虽然在某些情况下服务注册中心是可选角色,但注册中心的存在可使服务提供者和服务消费者进一步解耦。本项目为了保证系统中各服务间松耦合和相互独立性,在架构设计中使用了该技术,注册中心内包含已发布的送检、勘验、建档和年审四项服务,其描述信息主要包括服务功能描述、参数描述、接口定义等相关内容。
3.服务请求者,服务的请求者即是服务的消费者,通过服务注册中心可查找、绑定和调用服务。在审批过程中涉及到两处体外循环阶段,分别是专家实地勘验生产环境阶段和送检产品到质检中心检验阶段。一体化平台利用服务注册中心获取对应的服务接口、参数和返回值实现动态绑定。在勘验阶段调取服务并根据返回踏勘报告内容拟定整改意见,通知企业限期整改完成;同样的方式在送检产品阶段调取服务获取产业检验报告,并根据报告参数与国家标准进行对比判断是否符合审批标准。在服务调用期间请求者不需要关心服务提供者的业务处理和技术实现,只需需关注自身业务,简化了开发流程提升了工作效率。
【结尾】
实践证明SOA架构的使用,降低了系统的耦合度,使软件具有了更好的开放性和扩展性,各方面均表现优异。但在开发过程中也遇到过问题,由于SOAP是基于XML方式通信效率较低,在企业每年11月集中年审时,服务间猛增的消息交互造成了大量积压,导致企业报审不能得到及时处理。我组织了客户和参与厂商进行了专项讨论,最终根据我提出的压缩消息体和增加硬件负载的方式及时解决了该问题,没有对项目造成实质影响。
通过项目组全体成员的共同努力,一体化平台于10月完成验收工作正式上线,截至目前系统运行稳定运维工作量可控,得到了用户的一致认可和好评。通过这个项目本人更进一步了解到系统架构设计的重要性,同时积累了很多宝贵的经验。在今后的工作中我将不断总结和提升专业技术能力,争取为我国信息化事业贡献一份力量。