基于SOA的小学新生入学注册系统分析与设计

2021-03-12 05:25李厚民
中国教育信息化·高教职教 2021年2期
关键词:调用入学架构

李厚民

摘   要:在“互联网+政务服务”的背景下,文章针对政府部门间存在的“数据孤岛”问题,提出了一种基于面向服务体系结构(SOA)的“小学生新生入学注册系统”。该系统充分利用Web服务技术,高效、安全地整合、共享了各政府部门的政务数据,实现了“零材料、不见面”审批,为小学生新生入学注册提供了安全、便捷的在线注册报名服务。文章论述了如何使用UML等建模工具,运用面向对象和面向服务分析、设计技术相结合的方法对该系统进行建模,对系统中的相关服务功能、编排组合关系进行了定义,并对系统的安全性及整体架构进行了设计。该系统设计充分发挥了SOA多种技术特性,实现了数据共享,同时也为数据安全问题提出了解决办法,对基于SOA架构的相关信息系统设计具有重要的借鉴意义。

关键词:面向服务体系结构(SOA);Web服务;面向对象分析(OOA);面向服务分析与设计(SOAD);统一建模语言(UML)

中图分类号:TP315 文献标志码:B 文章编号:1673-8454(2021)03-0083-05

一、引言

在“互联网+政务服务”的背景下,为进一步疏导堵点、解决难点,充分利用政务大数据、信息化手段,我市设计开发了“小学新生入学注册系统”,让“数据”替群众跑腿,解决小学入学注册报名的堵点和难点,提升人民群众的幸福感。该系统基于面向服务的架构(Service Oriented-Architecture,SOA),通过整合、共享多部门政务数据资源,免去了适龄儿童入学注册时需现场核验户口本、出生证明、不动产登记证等材料的麻烦,实现了该政务服务事项的“零材料、不见面”审批。

二、面向服务的架构

面向服务的架构是一种粗粒度、松耦合、可组合及可重用的分布式系统架构。它将应用程序的功能进行拆分,并通过定义良好的接口和标准规范实现不同单元应用之间的联通,从而实现对现有系统和数据的整合,打破了“信息孤岛”,与其相关的技术有UDDI、WSDL、SOAP等。其中,UDDI提供了一种服务发现、查找和定位的方法;WSDL是对服务进行描述的语言,它基于XML的语法定义;SOAP定义了服务使用者和提供者之间信息交互的标准。

Web服务是SOA的主要实现方式,具有平台独立性、低耦合性等特点。通过使用开放的XML标准来对应用程序进行描述、发布、发现、协调和配置。Web 服务主要由服务提供者、请求者和注册中心三个角色组成,它们之间的交互操作构成了SOA的一种实现架构,实现了服务的发布、查找、绑定和调用操作。Web服务模型如图1所示。

三、系统建设目标

该系统应充分解决小学新生入学注册时,家长需携带户口本、出生证明、不动产登记证等材料现场核验、登记的麻烦,提升招录学校受理、审批的准确性和效率。主要实现以下几个功能。

1.在线申请功能

报名家长实名登录政务服务平台,在线填报身份证,然后通过“信息调用功能”获取居住证、出生证明、户籍及房产等信息,实现适龄儿童入学注册的在线申请。

2.在线审批功能

学校招录人员通过登录该系统后台,在线核验入学申请的详细信息,实现在线审批,并通过该系统的“短信通知功能”将审批结果发送至申请人。

3.短信通知功能

该系统应具有短信通知功能,能及时将审批结果等信息通过手机短信的方式发送至申请人。

四、系统建设原则

为确保系统建设目标的顺利实现,充分利用Web Service技术,实现居住证、户籍、出生证明及房产等数据的安全、可靠共享和使用是系统建设成败的关键。同时,该系统还应能快速响应业务变化,所以对系统建设提出以下原则性要求。

1.安全性原则

由于该系统在使用過程中需调用户籍数据、出生人口数据、房产登记数据等。为确保信息安全性和个人隐私保护,系统在设计、实现过程中需充分考虑系统的安全性和数据的保密性。

2.易修改性原则

为了能更好、及时地适应小学新生入学注册政策的变化,该系统应易于修改,并能及时对业务规则变化做出调整。

3.可靠性原则

由于该系统在线上注册报名期间会出现短时间内集中的并发请求,且当访问中断时,会造成极坏的社会影响。因此,在系统设计过程中,应加强系统可靠性、可用性设计的考虑,确保访问质量。

五、系统分析与建模

通过运用面向对象和面向服务分析技术相结合的方式,使用统一建模语言UML对系统进行分析建模。在充分了解系统是“做什么”的情况下,分析具体需要哪些服务,以及如何组合这些服务,最终实现系统功能。

1.面向对象分析与设计

首先运用面向对象分析(OOA)方法对该系统的问题域进行分析和理解,识别其中的事务及其之间的关系,并借助Visio工具,利用统一建模语言UML对问题域和系统功能进行描述。OOA的主要任务是了解该系统是“做什么”的,以及具体流程是“怎么样”的。该系统在OOA阶段主要通过用例图和活动图实现系统建模,如图2至图5所示。

2.面向服务分析与设计

在完成面向对象建模,了解系统是“做什么”的、流程是“怎么样”的以后,开始进行面向服务建模。在服务建模过程中,参考目前主流“面向服务的建模和架构方法”(Service-Orient Modeling and Architecture,SOMA)和主流“SOA方法”(Mainstream SOA Methodology,MSOAM),根据该系统的特点,对分析、设计流程进行优化。通过细化业务流程、识别候选服务、对服务进行编排组合等过程实现系统的面向服务建模。

在面向服务建模的过程中,服务的粒度、层次的切割是考虑的重点。粗粒度的服务在调用效率和可靠性方面有优势,但深度定制化的服务难以实现服务的复用,也不便于未来业务的扩展;细粒度的服务虽在复用度、扩展性方面优势明显,但是多服务、多层级的服务组合调用也将给系统带来性能和可靠性方面的问题。因此,需在服务的划分过程中,实现服务的复用度、调用效率、可靠性和扩展性等多方面的平衡。下面将对主要的服务划分及服务间的组合方式进行说明,如图6所示。

(1)入学注册申请服务

该服务实现注册信息的填报功能。申请人填写身份证号后,通过调用“信息调用服务”自动获取居住证、户籍、出生证明及房产数据相关信息,并实现房产与学校之间的自动匹配,从而完成信息的填报工作。

(2)信息调用服务

该服务为编排组合后的业务服务。以申请人证件号为参数,通过调用“户籍信息服务”“房产信息服务”“出生证明信息服务”等基础服务单元来获取户籍、房产和出生证明等相关信息,再通过调用“房产学籍匹配服务”实现房产与学校的匹配,完成注册信息的填报,如图7、图8所示。

(3)入学注册审核服务

该服务在获取入学注册申请信息后,先经后台人工核验,然后提交审核结果,并通过“短信通知服务”将审核结果通知申请人。

(4)短信通知服务

该服务通过调用运营商短信网关发布短信通知。

六、系统安全设计

系统运用了户籍、出生人口、房产登记等重要数据,故在设计中对数据的安全性进行了加强。除使用网络防火墙、应用防火墙和入侵检测等安全防护设备外,为确保Web 服务数据交换的安全性,还采用了以下防护技术。

1.安全套接层(SSL)技术

为确保数据传输过程中的安全性,使用SSL(Security Socket Layer,SSL)加密套接字加密传输链路,通过创建虚拟局域网确保点对点的安全。

2.数据加密技术

SSL虽实现了点对点的安全,却无法满足对消息内容的保护。需采用SM2非对称加密技术对数据加密,客户端使用公钥对请求数据进行加密,服务端接收到请求数据后使用私钥进行解密处理,确保端到端的安全。

3.时间戳技术

为进一步提升服务的安全性,在数据传输过程中引入时间戳。客户端将发起请求的时间添加到请求数据中,经加密后传输。服务端接收到请求数据后,解密获得时间信息,通过时间信息的合理性判断请求的合法性。时间戳的引入,可有效避免重放攻击,提升了服务运行的安全性。

4.日志审计技术

开发Web Service请求日志功能。对Web Service请求进行登记,并通过数据分析功能,对请求进行分析和审计,对异常请求及时提示报警,并对安全攻击进行追溯。日志除了在系统安全方面的作用外,还为系统的故障检测、性能监控等提供了重要的参考依据。

5.敏感数据脱敏技术

为确保数据的保密性,对数据中的姓名、身份证、手机等涉及个人隐私的敏感信息,通过运行一定的脱敏规则对敏感数据的部分字段用“*”号隐藏,实现对敏感信息的可靠保护。确保敏感数据调用的保密性,是系統开发的难点和重点。为切实做好敏感数据的保密工作,系统采用了面向切面编程(AOP)与正则表达式相结合的技术对Web服务调用结果中的身份证号、手机号等敏感数据进行脱敏处理,确保敏感数据的保密性。

七、系统架构设计

按照该系统的建设目标和建设原则,为了更好地整合和调用出生医学证明信息、户籍信息、房产信息和不动产登记信息等。该系统引入了面向服务的架构(SOA),采用层次化的分布式结构,将系统划分为表示层、业务逻辑服务层、基础服务层、数据存储层、基础设施层等五层,其架构如图9所示。

1.表示层

表示层是面向用户的系统界面,实现与用户的交互,接受用户请求,返回处理结果等。该系统提供了PC端Web页面和移动端APP等2种交互方式。

2.业务逻辑服务层

业务逻辑服务层充分应用了SOA的服务可组合特性,依据业务规则、业务流程的要求,对基础服务层中由Web服务技术封装好的服务单元进行调用和编组,形成业务逻辑服务,支撑业务功能。如“入学注册申请服务”“入学注册审核服务”“短信通知服务”等。

3.基础服务层

基础服务层是该系统体系架构的核心,主要是利用Web服务技术,编制基础服务单元,并对数据存储层进行操作,向业务逻辑服务层提供基本的服务单元。如“信息调用服务”中的“户籍信息服务”“房产信息服务”“出生证明信息服务”等都作为基础服务单元为业务逻辑服务层提供支撑。

4.数据存储层

数据存储层主要用于实现对系统中的数据进行存储,一般包括数据库系统、文本文档和XML文件等。该层实现各部门业务系统数据的汇聚、格式转换、清洗和共享等。按照数据的汇聚和共享操作,可将该层细分为数据汇聚层和数据共享层。

(1)数据汇聚层

数据汇聚层主要实现系统数据的汇集和存储。

(2)数据共享层

数据共享层根据系统的数据需求,对汇聚层中的数据进行标准化、清洗和抽取,然后同步至共享数据库中,供系统使用。

5.基础设施层

基础设施层主要由网络资源、计算资源、存储资源和安全设施等组成。

八、系统功能界面设计

软件界面的设计直接影响用户使用体验。设计良好的界面不仅美观,而且能够很好地引导用户完成相应操作,且对系统的运行效率和安全性也起到了很大的作用。系统APP界面设计如图10所示。

为了在界面设计上达到上述目标,坚持以用户为中心,采用简洁、美观、一致的设计风格,易于用户的理解和使用。在安全性方面,运用正则表达式技术对界面输入框中的输入信息进行规范性验证。在运行效率方面,考虑系统采用了大量的服务调用来获取数据,交互过程中,界面的响应速度会受到网络连接、服务响应及数据处理能力等因素的影响,故为系统交互界面增加了等待响应的提示,从而提升了用户的使用体验。

九、结语

本文主要论述了运用面向对象建模与面向服务建模相结合的方法,使用UML等建模工具对“小学生新生入学注册系统”进行分析建模。该系统充分发挥了SOA的重用性、组合性等特性,通过对基础服务单元的编排、组合,实现相关业务逻辑服务,为各项功能需求提供支撑。同时,该系统在实现部门间数据共享的基础上,对数据共享操作的安全性进行了加固设计。

实践证明,该系统安全可靠、运行稳定,达到了设计要求。该系统基于SOA的多种特性,不仅实现了多部门之间的数据共享,而且提升了系统设计、开发和部署的便利性和灵活性,提高了小学生新生入学注册的效率,也为日后适应业务调整做足了准备。

但在系统运行的高峰时段,还存在服务调用延时的情况。为了解决该问题,下一步将引入服务调用监控机制和负载均衡技术,加强对服务运行情况的监控,及时掌握服务运行状况,并有效利用负载均衡技术解决服务高并发和单点故障问题,提高系统的整体性能和用户体验。

参考文献:

[1](加)托马斯·埃尔著;李东,李多译.SOA架构:服务和微服务分析与设计[M].北京:机械工业出版社,2017.11.

[2]何源.基于SOA的应用系统集成模型研究[J].信息化建设,2019(11):106-107.108.

[3]王炎.基于SOA架构的数字化校园系统设计[J].微型电脑应用,2018,34(1):36-39.

[4]吴小娥,刘萍萍.SOA—ESB服务总线技术在企业应用中的研究与实践[J].电脑知识与技术,2019,15(6):34-35.

[5]李波,杜景林,李正方.基于SOA的气象数据共享平台研究[J].电子设计工程,2019,2(4):25-29.

[6]王进华,陈火荣.基于SOA的数字校园应用建设与服务集成研究[J].电子技术与软件工程,2018(17):26-27,28.

[7]林玉风.基于SOA的学校信息系统集成研究[J].湖南工业职业技术学院学报,2018,18(4):19-22.

[8]刘保汛,刘文杰.基于SOA架构的ESB在商业银行中的研究与实现[J].信息技术与信息化,2018,2(3):19-21.

[9]徐晓光等.SOA的服务建模研究及其应用[J].洛阳理工学院学报(自然科学版),2013,23(2):52-55,61.

[10]王旭辉,李廷全,覃勇.面向服务的门诊药房系统建模[J].电子设计工程,2012,3(20):57-58,62.

[11]张亮.“互联网+政务服务”彻底解决群众办事难[EB/OL].http://www.drc.gov.cn/xsyzcfx/20180629/4-4-2896455.htm.

[12]徐隽.深化“互联网+政务服务”做实做细网上政务平台[EB/OL].http://www.chinanews.com/ll/2019/04-25/8819423.shtml.

[13]Phan C. Service oriented architecture(soa)-security challenges and mitigation strategies[C].MILCOM 2007-IEEE Military Communications Conference.IEEE,2007: 1-7

[14]Kou S, Babar M A, Sangroya A. Modeling security for service oriented applications[C].Proceedings of the Fourth European Conference on Software Architecture: Companion Volume,2010:294-301.

[15]Altaani N A, Jaradat A S. Security Analysis and Testing in Service Oriented Architecture[J]. International Journal of Scientific & Engineering Research, 2012,3(2): 1-9.

[16]Balasubramaniam S, Lewis G A, Morris E, et al. Challenges for assuring quality of service in a service-oriented environment[C].2009 ICSE workshop on principles of engineering service oriented systems. IEEE, 2009:103-106.

[17]Eric Pulier and Hugh Taylor. Solutions to SOA Security[EB/OL].https://www.developer.com/java/ent/article.php/3607471.

(編辑:王晓明)

猜你喜欢
调用入学架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
入学面试
LSN DCI EVPN VxLAN组网架构研究及实现
基于系统调用的恶意软件检测技术研究
入学第一天
一种基于FPGA+ARM架构的μPMU实现
利用RFC技术实现SAP系统接口通信