A Citizen-Centric and Multi-Curator Document Automation Platform: the Qbox and Further Interoperability Aspects
Total Page:16
File Type:pdf, Size:1020Kb
A Citizen-Centric and Multi-Curator Document Automation Platform: The qBox and Further Interoperability Aspects Daniel Jose´ Matias Caramujo Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Supervisors: Prof. Doutor Alberto Manuel Rodrigues da Silva Prof. Doutor Joao˜ Paulo Pedro Mendes de Sousa Saraiva Examination Committee Chairperson: Prof. Doutor Francisco Joao˜ Duarte Cordeiro Correia dos Santos Supervisor: Prof. Doutor Alberto Manuel Rodrigues da Silva Member of the Committee: Prof. Doutor Andre´ Ferreira Ferrao˜ Couto e Vasconcelos October 2019 Acknowledgments I would like to thank my parents and family for their support and encouragement over all these years, without whom this this project would not be possible. I would also like to acknowledge my dissertation supervisors Prof. Doutor Alberto Silva and Prof. Doutor Joao˜ Saraiva for their insight, support and sharing of knowledge that has made this Thesis possible. Last but not least, to all my friends and colleagues that helped me grow as a person and were always there for me. To each and every one of you, thank you. Abstract Interoperability is an important aspect of complex information systems that have to interact and integrate with a multitude of other systems and services. New interoperability norms and frameworks are being promoted, and in this thesis we discuss some of them in the scope of eGovernment and document automation systems. This thesis explores integration aspects of qDocs, a citizen-centric document automation platform. qDocs aims to make bureaucratic documents (e.g., ID cards, forms, certificates) easily curated by multiple organizations and easily available to citizens. A key challenge of the proposal that is the foundation of this thesis is the correct integration of these organizations’ systems with the qDocs because they have to collect/provide data from/to the documents. The solution presented in this thesis is named as qBox, which is a software component to be deployed at each organization’s environment that supports both interoperability and security requirements. It was designed with a strong focus on document datasets and their specifications, to be developed as an independent module called qBox and integrated with the qDocs platform. The integration evaluation based itself on three tests to analyse its capabilities, namely the qBox module connection to the qDocs platform, the document request and approval process and the ability to change dataset configurations. The evaluation yield positive results that allow to conclude that the qBox works as a proof of concept and the qDocs is ready for basic curator integration via the qBox. Keywords E-Government; Interoperability; Public Administration; Document Automation. iii Resumo A interoperabilidade e´ um aspecto importante dos sistemas de informac¸ao˜ complexos que precisam de interagir e ser integrados com uma infinidade de outros sistemas e servic¸os. Novas normas de interop- erabilidade e estruturas estao˜ a ser promovidas, e nesta tese discutimos algumas delas no ambitoˆ dos sistemas de eGovernment e de automac¸ao˜ de documentos. Esta tese explora aspectos de integrac¸ao˜ do qDocs, uma plataforma de automac¸ao˜ de documentos centrada no cidadao.˜ qDocs tem como obje- tivo disponibilizar uma facil´ gestao˜ de documentos burocraticos´ (por exemplo, cartoes˜ de identificac¸ao,˜ formularios,´ certificados) por varias´ organizac¸oes˜ e facilmente dispon´ıvel para os cidadaos.˜ Um dos principais desafios da proposta que e´ a base desta tese e´ a correta integrac¸ao˜ dos sistemas dessas organizac¸oes˜ com o qDocs porque eles precisam recolher/fornecer dados de/para os documentos. A soluc¸ao˜ apresentada, desenvolvida e avaliada nesta tese e´ denominada qBox, que e´ uma componente de software a ser integrado no ambiente de cada organizac¸ao,˜ que suporta tanto os requisitos de inter- operabilidade como de seguranc¸a. A qBox foi projetada com um forte foco em conjuntos de dados de documentos e as suas especificac¸oes,˜ para ser desenvolvido como um modulo´ independente chamado qBox e integrado com a plataforma qDocs. A avaliac¸ao˜ da integrac¸ao˜ baseou-se em tresˆ testes para analisar as suas capacidades, nomeadamente a conexao˜ do modulo´ qBox a` plataforma qDocs, o pro- cesso de pedido e aprovac¸ao˜ de documentos e a capacidade de alterar as configurac¸oes˜ do conjunto de dados. A avaliac¸ao˜ obteve resultados positivos que permitem concluir que o qBox funciona como uma prova de conceito e o qDocs esta´ pronto para uma integrac¸ao˜ basica´ do curador atraves´ do qBox. Palavras Chave E-Government; Interoperabilidade; Administrac¸ao˜ Publica;´ Automac¸ao˜ de Documentos. v Contents 1 Introduction 1 1.1 Motivation.............................................3 1.2 qDocs...............................................4 1.3 Problem..............................................4 1.4 Proposal..............................................4 1.5 Research Methodology.....................................5 1.6 Dissertation Structure......................................5 2 Related Work 7 2.1 E-Government..........................................9 2.2 ISA2 ................................................ 10 2.3 Document Automation...................................... 11 3 Development Tools and Environment 15 3.1 Development Environment.................................... 17 3.2 Development Technologies................................... 18 3.2.1 IdentityServer4...................................... 18 3.2.2 SPA............................................ 19 3.2.3 Web API......................................... 19 3.2.4 ASP.NET Core...................................... 19 3.2.5 Angular.......................................... 20 4 qDocs Overview 21 4.1 General Architecture....................................... 23 4.2 Security.............................................. 24 4.2.1 Privacy.......................................... 24 4.2.2 Confidentiality...................................... 25 4.2.3 Authentication and Authorization............................ 26 4.3 Document Evaluation Process................................. 26 4.3.1 Document Request.................................... 26 vii 4.3.2 Document Request Approval.............................. 27 4.3.3 Document Consultation................................. 28 5 qBox Design and Development 31 5.1 qBox Architecture......................................... 33 5.2 qBox Domain Model....................................... 34 5.3 Development Process...................................... 35 5.4 qBox Solution Implementation.................................. 37 5.4.1 qBox Development.................................... 37 5.4.1.A qBox/Citizen.................................. 38 5.4.1.B qBox/Curator.................................. 39 5.4.1.C qBox/Curator Data Manager......................... 40 5.4.1.D qBox/qBox................................... 40 5.4.2 qDocs - qBox Integration................................ 40 6 Evaluation 43 6.1 qBox Connection......................................... 45 6.1.1 Services Configuration (Curator Data Manager).................... 45 6.1.2 Templates Configuration (Curator Templates Editor)................. 47 6.2 Document Request and Approval................................ 48 6.2.1 Document Request (Citizen).............................. 48 6.2.2 Document Approval (Curator Templates Manager).................. 49 6.2.3 Document Consult (Citizen)............................... 50 6.3 Changing Dataset Configurations................................ 52 6.3.1 Creating new Document Specification......................... 53 6.3.2 Adding Attributes to Existing Document Specification................. 53 7 Conclusion and Future Work 55 7.1 Conclusion............................................ 57 7.2 Future Work............................................ 58 A qBox API Documentation 63 viii List of Figures 4.1 qDocs general architecture model (archimate diagram) - adapted from [1].......... 24 4.2 Example of the multiple roles a citizen entity can have - adapted from [1].......... 25 4.3 qDocs BPMN model demonstrating the alignment of the processes............. 26 4.4 qDocs and qBox interactions on for the task “Request/Create New Document” (repre- sented in BPMN).......................................... 27 4.5 Example of qDocs and qBox interaction on for a Curator Document Approval, represented in BPMN.............................................. 28 4.6 Example of qDocs and qBox interaction on for a Citizen Document Access, represented in BPMN.............................................. 29 5.1 qBox ArchiMate design of interaction.............................. 33 5.2 qBox base Domain Model..................................... 34 5.3 qBox Document State Diagram.................................. 35 5.4 Cumulative Flow Chart from Azure DevOps........................... 36 6.1 Create Service Interface..................................... 46 6.2 View Methods Interface...................................... 46 6.3 Edit Method Interface....................................... 46 6.4 Form Objects Interface...................................... 46 6.5 Edit Form Object Interface.................................... 47 6.6 Form Object Default Value Interface............................... 47 6.7 Edit Template Content Interface................................. 47 6.8 Edit Template Metadata with Associated Output Template Interface............. 47 6.9 Create New Document Save and Submit Interface......................