Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/24992
Title: Utilizando Protocol Buffers para facilitar a colaboração no projeto DadosJusBR.
Other Titles: Using Protocol Buffers to facilitate collaboration in the DadosJusBR project.
???metadata.dc.creator???: SOUZA, Joeberth Augusto Cordeiro de.
???metadata.dc.contributor.advisor1???: ANDRADE, Nazareno Ferreira de.
???metadata.dc.contributor.referee1???: GOMES, Reinaldo.
???metadata.dc.contributor.referee2???: MASSONI, Thiago Lima.
Keywords: Dados jurídicos;Transparência de dados;Libertação dos dados;Projeto DadosJusBr;Serialização de dados;Codificação em Python;Protocol buffers;Legal data;Data transparency;Data release;DataJusBr Project;Data serialization;Python coding;Protocol buffers
Issue Date: 20-Oct-2021
Publisher: Universidade Federal de Campina Grande
Citation: SOUZA, Joeberth Augusto Cordeiro de. Utilizando Protocol Buffers para facilitar a colaboração no projeto DadosJusBR. 2021. 14f. Trabalho de Conclusão de Curso (Artigo), Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2021. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/24992
???metadata.dc.description.resumo???: O DadosJusBr é um projeto sem fins lucrativos com o objetivo de apresentar de forma detalhada e consolidada as informações de remuneração dos órgãos que constituem o sistema de justiça brasileiro, formado pelos Ministérios Públicos, Defensorias, Procuradorias e o Judiciário com os tribunais e conselhos, juntos somam 156 órgãos. Esse processo é chamado de ‘Libertação dos dados’ e possui quatro estágios: Coleta, Validação, Empacotamento e Armazenamento. É no estágio da coleta que o crescimento do projeto está associado, pois é necessária a codificação dos coletores, um para cada órgão. O DadosJusBr é um projeto de código fonte livre aberto, sendo assim a comunidade pode participar, escrevendo coletores em múltiplas linguagens de programação, como Go e Python. Com o uso de mais uma linguagem de programação, englobando também a tipagem dinâmica onde é mais difícil forçar um esquema considerando o tipo, surgem diversos problemas para restringir o esquema de dados. O principal deles é a consistência na serialização dos dados coletados, que é muito importante para armazenamento e transmissão entre estágios, pois o modo padrão que as linguagens serializam dados é diferente. Neste trabalho propusemos e implementamos a utilização de Protocol Buffers (PB) para tornar mais fácil manter, transmitir e armazenar dados consolidados pelo DadosJusBr. Atualmente temos 52 órgãos coletados, dentre eles o MPPB, codificado em Golang, o site do Conselho Nacional de Justiça (CNJ), codificado em python, que foram os nossos coletores de dados que utilizamos neste trabalho. Adaptar os crawlers e parsers, alterando todos os campos desses coletores para lidar com o novo formato de transmissão de dados, acarretou em dificuldades inesperadas, como lidar com timestamp entre as duas linguagens e transmitir o dado em PB no formato de texto, conseguindo assim a serialização dos dados em todos os estágios. Assim, consolidando a serialização e transmissão dos dados entre coletores de diferentes linguagens, tornando o DadosJusBr mais democrático e abrangente, facilitando a contribuição.
Abstract: DadosJusBr is a non-profit project with the objective of presenting in a detailed and consolidated way the remuneration information of the agencies that make up the Brazilian justice system, formed by the Public Prosecutors, Defenders, Attorneys and the Judiciary with the courts and councils, together add up to 156 agencies. This process is called ‘Libertação dos dados’ and has four stages: Collection, Validation, Packaging and Storage. It is in the collection stage that the growth of the project is associated, as it is necessary to coding the collectors, one for each agency. DadosJusBr is an open source project, so the community can participate, writing collectors in multiple programming languages, such as Go and Python. With the use of another programming language, also encompassing dynamic typing where it is more difficult to force a schema considering the type, several problems arise to restrict the data schema. The main one is consistency in the serialization of collected data, which is very important for storage and transmission between stages, as the standard way that languages serialize data is different. In this work we proposed and implemented the use of Protocol Buffers (PB) to make it easier to maintain, transmit and store data consolidated by DataJusBr. We currently have 52 agencies collected, among them the MPPB, coded in Golang, the website of the National Council of Justice (CNJ), coded in python, which were our data collectors that we used in this work. Adapting crawlers and parsers, changing all fields of these collectors to deal with the new data transmission format, resulted in unexpected difficulties, such as dealing with timestamp between the two languages and transmitting the data in PB in text format, thus achieving the serialization of data at all stages. Thus, consolidating the serialization and transmission of data between collectors of different languages, making DadosJusBr more democratic and comprehensive, facilitating the contribution.
Keywords: Dados jurídicos
Transparência de dados
Libertação dos dados
Projeto DadosJusBr
Serialização de dados
Codificação em Python
Protocol buffers
Legal data
Data transparency
Data release
DataJusBr Project
Data serialization
Python coding
Protocol buffers
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/24992
Appears in Collections:Trabalho de Conclusão de Curso - Artigo - Ciência da Computação

Files in This Item:
File Description SizeFormat 
JOEBERTH AUGUSTO CORDEIRO DE SOUZA - TCC ARTIGO CIÊNCIA DA COMPUTAÇÃO 2021.pdfJerberth Augusto Cordeiro de Souza - TCC Artigo Ciência da Computação CEEI 2021433.54 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.