基于微服务Spring Boot框架的公共投诉系统后端应用程序的设计与开发外文翻译资料

 2022-11-25 14:54:08

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


可在 www.sciencedirect.com 在线浏览

ScienceDirect

Procedia Computer Science 124 (2017) 736–743

2017年第四届信息系统国际会议,2017年ISICO,2017年11月6 - 8日,印度尼西亚巴厘岛

基于微服务Spring Boot框架的公共投诉系统后端应用程序的设计与开发

Hatma Suryotrisongko*, Dedy Puji Jayanto, Aris Tjahyanto

Institut Teknologi Sepuluh Nopember, Kampus ITS Sukolilo-Surabaya 60111, Indonesia

摘要

电子政务是信息通信技术(信息和通信技术)在治理领域的实施,旨在改善政府或公共部门对公众的服务。例如,智能城市,在线许可服务,社区投诉服务等。本研究的目的是开发基于web应用的基于spring boot微服务架构的公共投诉服务应用。微服务架构被用于将应用程序功能划分为许多部分,或许多基于业务流程和服务的微服务是相互关联的,从而成为具有完整业务流程的单一应用程序。这种架构的优点之一是可以添加更多的微服务而不会影响其他服务。该应用程序部署在可通过浏览器访问的云环境中。

copy;2018作者。 Elsevier B.V.出版

2017年第四届信息系统国际会议科学委员会负责评议。

关键词: 电子政务; 微服务; 投诉服务; Spring Boot

介绍

电子政务包括使用互联网等电子通信技术来改善公民获得公共服务的能力[1]。 电子政务的实施提供了报告管理系统的管理效率和速度,以及政府管理过程的透明度。 通过它,出现了一个被称为善治的方面。 然而,印度尼西亚电子政务的实施面临许多问题,例如如开发和运营电子政务应用的费用问题

*通讯作者。 电话: 62-31-5999-944; 传真: 62-31-5964-965。

电子邮件地址:hatma@is.its.ac.id

1877-0509copy;2018作者。 Elsevier B.V.出版

第四届国际信息系统国际会议科学委员会负责同行评审10.1016 / j.procs.2017.12.212

,安全问题,隐私,系统更新等技术问题以及缺乏能力的人力资源问题 管理它。 云技术成为解决这些问题的备选答案之一。 该模型允许消费者通过供应商在线使用云中存在的应用程序,这些供应商可以在各种设备中访问,而无需担心这些问题。

微服务技术的使用可以为云中的电子政务系统带来一些优势。 微服务中的模块化概念允许管理应用程序中单独存在的服务。 对特定服务发展的影响是它不会干扰其他服务。 可以区分服务的能力建设和其他服务,以便资源得到适当的使用。 另外,服务的开发可以用不同的编程语言来开发 [2].

相关工作

Sam Newman [3]开发一个微服务应用程序,首先要确定环境或边界的边界。简单地说,就是指定应用程序业务流程中可以看到的应用程序的有限上下文,然后可以根据用户的功能分组对其进行分组,例如,财务部门负责支付,仓库部门从事在客户订单中。然后将每个功能放在一个模块中。然后模块成为有限的上下文来创建与模块制作目的相匹配的微服务。已经制作的微服务将应用其他模块之间松散耦合的概念以及与所制作的模块互连的高内聚微服务。最后,可以确定将数据写入数据库并从数据库读取数据的部分。

Purnama&Yatini [4]使用Node.js开发了一个论文管理应用程序,其目的是避免经常出现抄袭情况的主题或论文标题的任何相似性。 Node.js是使用微服务架构构建的,旨在简化应用程序的开发。当有新功能添加的情况时,不需要重新创建应用程序,并且可以独立添加功能。它需要更少的时间进一步发展。

Janssen&Joha [5]解释说,在公共部门使用软件即服务(SaaS)模式仍然很少。虽然公共/电子政务领域的SaaS有许多优势,比如成本节约和有效性,但挑战非常严峻,例如质量,安全性,隐私以及在该地区定制不同系统的需求与其他领域。

技术分析

    1. 功能需求分析

表1. 功能需求.

ID

角色

功能需求

FR1

管理员

客户注册

FR2

管理员

市民ID管理

FR3

管理员

种类管理

FR4

市民

ID 验证

FR5

市民

发送一个投诉

FR6

市民

检查投诉

FR7

政府工作单位

显示投诉回顾

FR8

政府工作单位

回复一个投诉

FR9

政府工作单位

删除一个投诉

FR10

供应商

浏览所有客户

通过查看一些类似的应用程序进行功能需求分析。 例如,Kediri市的公众投诉网络应用[6]。 分析是通过查看应用程序的设计文档来实现的。 此外,还从文献研究中进行了分析,以找到与电子政务公共报告应用程序的功能要求有关的一些信息。

功能需求由角色需求和功能需求组成。 角色是将使用该应用程序的用户。 很少有使用该应用程序的演员包括管理员,供应商,公民和政府单位。 功能需求本身是应用程序的功能。 表1列出了该应用程序的一些功能要求。

    1. 微服务建模

在完成功能需求之后,下一步是对微服务进行建模。 这一步将功能需求(也称为有界上下文)分解为一些与有界上下文的用途相匹配的微服务。 换句话说,微服务是由一个或多个微服务组成的组,并且它们互连以执行业务流程或功能。 这个应用程序中的微服务在表2中。

表2. 微服务需求.

ID 微服务需求

FR1 创建一个新的用户数据

FR2 创建市民ID数据

FR2 展示市民ID数据列表

FR2 删除一个市民ID数据

FR3 创建一个种类

FR3 删除一个种类

FR3 展示种类列表

FR4 获取一个市民ID数据

FR5 创建一条投诉

FR5 获取一条票号

FR6 根据票号展示投诉状态

FR7 展示所有投诉列表与特定状态

FR8 在投诉数据中新增回复

FR9 删除一条回复

FR10 展示所有注册的客户

    1. 设计用户用例

设计用例来自功能需求分析。 用例显示了参与者与应用程序之间的交互,如图1所示。

    1. 应用开发

这个阶段是基于功能需求,微服务需求和用例对应用进行编码的过程。 本研究着重于使用java编程语言和springboot框架开发后端应用程序。 Springboot框架受到青睐,因为它有几个优点。

Spring已经支持MVC并提供了RESTful Web服务功能。 Spring包中也提供了数据库连接。 Spring框架也支持依赖注入。 依赖注入是应用程序中配置依赖的容易程度,因此在应用程序开发过程中变得更加方便。

每个Spring框架还支持面向切片编程(AOP)[7]。 使用spring boot的另外一个优点是tomcat服务器很容易被包含在内并且可以直接运行[8]。

开发前端应用程序也需要与后端进行沟通以进行业务流程。 前端开发使用typescript编程语言和Angular2框架。

图. 1. 应用用例.

    1. 微服务黑盒测试

黑盒测试是一项测试,用于检查功能应用程序是否正确运行,而不知道应用程序中发生的进程[9]。 在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息黑盒测试是通过创建一个测试用例来完成的,测试用例以功能应用程序的测试输入和输出的形式出现。 可以对不使用算法或低粒度级别的应用程序进行测试[10],因此不需要太多时间[11]。 尽管为了测试微服务,需要进行两种测试,即白盒测试和黑盒测试,但这项研究仅执行黑盒测试,因为应用程序不使用任何复杂的算法,并且具有较低的粒度细节,那么黑盒测试就足够了。

应用业务流程

公共投诉申请由特定单位或团队管理和运营。 在某些情况下,在诸如万隆市等地区[12],这种应

用程序在指挥中心进行操作和管理,以使其工作达到最佳状态.。

此公共投诉应用程序是一个基于云的应用程序。地方政府可以通过向供应商支付一些钱来租用应用服务。政府可指定管理员操作应用程序。管理员可以上传公民身份证数据。

公民通过网络上的应用程序创建投诉。首先,公民必须根据管理员上传的数据ID验证其身份。之后,他们的投诉将被保存在数据库中,并准备由政府单位管理。首先,系统有一个选择阶段来过滤投诉的内容。选拔过程由指挥中心的政府单位管理。有效的投诉内容将按照管理员创建的类别进行分类,然后发送到指挥中心外部的正确政府单位,以便可以通过正确的答案和现场的正确后续行动回答投诉。如果投诉人的报告在现场得到解决或处理,那么发出投诉的公民可以将投诉状态更改为完成状态,以通知政府投诉已得到充分解决。

应用架构

图. 2. 应用架构.

使用云技术的公共投诉应用程序具有如图2所示的云架构。前端应用程序将存储在云中以及后端应用程序以及同一云服务中的应用程序数据库,以节省资源使用量。 该应用程序可通过浏览器在网络上公开访问。 通过网络应用程序提交的投诉将被发送到数据库供政府进一步管理,在这种情况下,政府是指挥中心和其他政府单位。 供应商访问应用程序后端或前端以对应用程序执行维护。

微服务架构

有一个工具可以让开发人员更容易地看到应用程序中所有可用的微服务。 该工具被称为招摇。 Swagger是一个标准框架,它允许开发人员无需访问程序代码,应用程序开发文档,也不需要检查应用程序服务网络,即可迅速找到并理解应用程序上的所有服务[13]。 Swagger基于使用springboot框架创建的控制器类来映射微服务。 类控制器(或称为控制器)是springboot中的一个类文件,它由根据业务需求执行输入输出过程的方法组成。 在控制器类中,可以将这些方法制作成REST API。 Swagger显示应用程序中创建的所有控制器。在每个swagger控制器中,可以使用所用方法的描述来访问REST API(所使用的REST方法通常是GET,POST,DELETE,PUT),然后是REST API URL,和方法名称。 前端应用

程序将使用REST API作为使用预定义的通信方法访问微服务的方式。

    1. 控制类

表3显示了应用程序中存在的关联微服务的类控制类.

表 3. 控制类.

控制类 微服务需求

客户控制类 创建一个新用户数据 市民控制类 创建一个新市民ID数据

市民控制类 展示市民ID数据列表 市民控制类 删除市民ID数据

种类控制类 创建一个种类

种类控制类 删除一个种类

种类控制类 展示种类列表 市民控制类 获取一个市民ID数据

投诉控制类 创建一个新投诉投诉控制类 获取一个票号

投诉控制类 根据票号展示投诉状态

投诉控制类 展示所有投诉列表与特定状态 投诉控制类 在投诉数据中新增回复

投诉控制类 删除一条回复

客户控制类 展示所有注册的客户

    1. Rest 方法

表4是一个表,其中包含存在于具有关联的微服务的应用程序中的REST方法信息。

表 4. REST 方法.

RES

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[22507],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。