Universidade do Minho
Departamento de Sistemas de Informação
Rui Miguel Dias Quintas
Desenvolvimento de um Perfil de Aplicação para o Empoderamento de Agentes da Economia Social e Solidária
Projeto de Dissertação de Mestrado
Mestrado integrado em Engenharia e Gestão de Sistemas de Informação
Desenvolvido sob a orientação da
Prof. Doutora Ana Alice Baptista
Janeiro de 2018
Agradecimentos
Os agradecimentos serão para ser definidos mais tarde.
Resumo
A Web Semântica (WS), os dados ligados, dados abertos, é um paradigma da Web que surgiu com o grande objetivo de ter dados estruturados na Web que sejam interoperáveis e sejam facilmente relacionáveis e manipuláveis, permitindo assim que esta Web de dados se possa tratar como uma grande base de dados. Publicar dados, sejam eles de origem pública ou privada, em formato aberto e baseado em estrutura semântica, tornou-se um dos grandes desafios, não apenas das pesquisas em Sistemas de Informação, mas também da comunidade que tem a necessidade de consumi-los (Segundo, 2015).
Neste contexto, em pareceria com o NIT (National Institute of Technology Durgapur) e o BPPIMT (B.P. Poddar Institute of Management & Technology) da Índia, pretende-se centrar numa modelagem de Web Semântica e de dados ligados baseados numa tecnologia, como a criação de uma aplicação, para consolidar o setor não organizado, permitindo causar uma mudança positiva de paradigma para o desenvolvimento de uma economia social e solidária (ESS), também chamado de terceiro setor. Juntamente com este, iremos também ter um parceiro do Brasil, o professor Ricardo Santana que irá entrar neste projeto como observador.
Para o desenvolvimento do projeto de trabalho irá ser utilizada a metodologia do Me4MAP, uma metodologia para o desenvolvimento de Perfis de Aplicação, baseado no
Singapore Framework for MAP e no Rational Unified Process, um processo dedesenvolvimento de software.
Até ao momento, foram feitas várias pesquisas no âmbito da Agricultura, tanto a nível do mercado, como a nível de aplicações para o setor, bem como algumas reuniões com parceiros deste projeto.
Palavras-chave: Web Semântica; Aplicação; Perfil de Aplicação de Metadados;
Rational Unified Process; Interoperabilidade Semântica; Economia Social e Solidária.
Abstract
Semantic Web (WS), data bound, open data, is a Web paradigm that has emerged with the great goal of having structured Web data that is interoperable and easily relatable and manipulable, so that this Web of data can be treat as a large database. Publishing data, whether public or private, in an open format and based on semantic structure, has become one of the great challenges, not only in Information Systems research, but also in the community that needs to consume them (Second, 2015).
In this context, in partnership with the NIT (National Institute of Technology Durgapur) and BPPIMT (BP Poddar Institute of Management & Technology) of India, it is intended to focus on Semantic Web modeling and related data based on technology such as creation of an application, to consolidate the unorganized sector, allowing to cause a positive change of paradigm for the development of a social and solidarity economy (ESS), also called third sector. Along with this, we will also have a partner from Brazil, Professor Ricardo Santana who will enter this project as an observer.
For the development of the work project will be used Me4MAP methodology, a methodology for the development of Application Profiles, based on the Singapore Framework for MAP and the Rational Unified Process, a software development process.
So far, several researches have been carried out in agriculture, both at the market level and at the level of applications for the sector, as well as some meetings with partners of this project.
Keywords: Semantic Web; Application; Metadata Application Profile; Rational Unified
Process; Semantic Interoperability; Social and Solidarity Economy.
Índice
Agradecimentos ... iii
Resumo ...v
Abstract ... vii
Índice ... ix
Índice de Figuras ... xi
Índice de Tabelas ... xii
Siglas e Acrónimos ... xv
1 Introdução ... 17
1.1 Contextualização ... 17
1.2 Motivação e Interesse... 18
1.2.1 Na Área Científica ... 18
1.2.2 No Domínio da Aplicação ... 19
1.3 Objetivos e Resultados esperados ... 20
1.4 Organização do Projeto de Dissertação ... 22
2 Procedimentos Metodológicos ... 23
2.1 Estratégia de Pesquisa ... 23
2.2 Me4MAP ... 24
2.2.1 Modelo de desenvolvimento do ciclo de vida do Me4MAP ... 26
2.3 Levantamento de Requisitos ... 27
3 Fundamentos Teóricos ... 30
3.1 Estratégia de Pesquisa ... 30
3.2 Web Semântica e Linked Open Data ... 30
3.3 Metadados e Esquemas de metadados ... 31
3.4 Perfil de Aplicação de metadados e Interoperabilidade Semântica ... 33
4 Estado de Arte ... 37
4.1 Estratégia de Pesquisa ... 37
4.2 O domínio de aplicação: os pequenos agricultores no âmbito da ESS ... 43
4.3 Software para a promoção e visibilidade dos produtos agrícolas ... 44
4.4 Perfis de aplicação para a promoção e visibilidade dos produtos agrícolas ... 45
4.5 Métodos para o desenvolvimento de Perfis de Aplicação de metadados ... 47
5 Calendarização ... 49
6 Considerações Finais ... 51
Referências ... 52
7 Anexos ... 56
Índice de Figuras
Figura 1 - Fases do Method for the Development of Application Profiles [retirada de Malta,
M. C., 2014] ... 25
Figura 2 - Ciclo de vida Me4MAP [retirada de Malta, M. C., 2014] ... 26
Índice de Tabelas
Tabela 1 - Calendarização afeta à Dissertação de Mestrado ... 50
Tabela 2 - Tabela com os Perfis de Aplicação e aplicações no âmbito da Agricultura ... 56
Tabela 3 - Perfil de Aplicação de metadados AGRIS AP ... 60
Tabela 4 - Perfil de Aplicação de metadados FiMES ... 61
Tabela 5 - Perfil de Aplicação de metadados Ag-Event AP ... 62
Tabela 6 - Perfil de Aplicação de metadados Ag-job-AP ... 63
Tabela 7 - Perfil de Aplicação de metadados Ag-LR AP ... 64
Tabela 8 - Perfil de Aplicação de metadados Ag-Org AP ... 65
Tabela 9 - Perfil de Aplicação de metadados AgMES ... 66
Tabela 10 - Perfil de Aplicação de metadados LOM-Based AP ... 68
Tabela 11 - Perfil de Aplicação de metadados CG LOM Core... 69
Tabela 12 - APP para a agricultura TrAgLor ... 70
Tabela 13 - APP para a agricultura OELOM AP ... 71
Tabela 14 - APP para a agricultura Point of Sale ... 73
Tabela 15 - APP para a agricultura ROI Calculator ... 74
Tabela 16 - APP para a agricultura SST Software ... 75
Tabela 17 - APP para a agricultura iSOYLscout ... 76
Tabela 18 - APP para a agricultura AgVault Mobile ... 77
Tabela 19 - APP para a agricultura GrainTruckPlus ... 78
Tabela 20 - APP para a agricultura AgriSync... 79
Tabela 21 - APP para a agricultura Ohio State Plots ... 80
Tabela 22 - APP para a agricultura Yara ImageIT ... 81
Tabela 23 - APP para a agricultura Agrible ... 82
Tabela 24 - APP para a agricultura AgCareers ... 83
Tabela 25 - APP para a agricultura FARMapper ... 84
Tabela 26 - APP para a agricultura ID Weeds ... 85
Tabela 27 - APP para a agricultura mAgri Solutions ... 86
Tabela 28 - APP para a agricultura Descartes Labs ... 87
Tabela 29 - APP para a agricultura Ag Guardian ... 88
Tabela 30 - APP para a agricultura Praxidyn ... 89
Tabela 32 - APP para a agricultura Agricultural Survey App ... 92
Tabela 33 - APP para a agricultura Bee Hive Inspection Log ... 93
Tabela 34 - APP para a agricultura Pesticide Tracking App ... 94
Tabela 35 - APP para a agricultura IEMI ... 95
Tabela 36 - APP para a agricultura Vineyard Drip Irrigation System Startup ... 96
Tabela 37 - APP para a agricultura Rural-eGov IEE LOM ... 97
Siglas e Acrónimos
APP - Aplicação
BPPIMT - B. P. Poddar Institute of Management & Technology DCAM - Dublin Core Abstract Model
DCAP - Dublin Core Application Profile DCMI - Dublin Core Metadata Initiative ESS - Economia Social e Solidária
FCT – Fundação para a Ciência e a Tecnologia INE – Instituto Nacional de Estatística
LOD - Linked Open Data
MAP – Metadata Application Profile
Me4MAP - Método para o desenvolvimento para Perfis de Aplicação NIT - National Institute of Technology Durgapur
PA - Perfil de Aplicação
PAM – Perfis de Aplicação de Metadados RDF - Resource Description Framework RUP - Rational Unified Process
UM - Universidade do Minho
VAB – Valor Acrescentado Bruto
W3C - World Wide Web Consortium
WS - Web Semântica
1 Introdução
Este capítulo tem como objetivo fazer a contextualização da dissertação, abordando o enquadramento, finalidade e objetivos do trabalho, assim como a organização do documento. Descreve, ainda, a motivação e pertinência do trabalho, tanto na área científica como na situação experimental. Posteriormente, define a natureza e o âmbito do estudo realizado. Por último, descreve a estrutura da dissertação, referindo os capítulos que constituem a mesma.
1.1 Contextualização
A “interoperabilidade” corresponde à capacidade de diferentes tipos de computadores, redes, sistemas operativos e aplicações trabalharem em conjunto com eficácia, sem comunicação prévia, e de forma a trocarem informação útil e com significado (DCMI, 2011). Este trabalho centra-se no contexto da Web Semântica (WS), onde existe uma forma particular de “interoperabilidade”, a “interoperabilidade semântica”. A Web Semântica (WS), os dados ligados, dados abertos, é um paradigma da Web que surgiu com o grande objetivo de ter dados estruturados na Web que sejam interoperáveis e sejam facilmente relacionáveis e manipuláveis, permitindo assim que esta Web de dados se possa tratar como uma grande base de dados.
A “interoperabilidade semântica” é baseada no uso da Resource Description Framework (RDF), incorporada num modelo de dados em grafos e em vocabulários baseados na linguagem RDF, como os termos de Metadados DCMI. A utilização de metadados e de ontologias, e de tecnologias da Web Semântica (WS), tais como a linguagem padrão RDF, permite que o verdadeiro sentido dos dados partilhados seja entendido pelas máquinas sem que haja um mínimo de intervenção humana (Nagamori and Sugimoto, 2006; Shadbolt et al., 2006; Scholl, 2005). Um esquema de metadados específico da comunidade, pode perder interoperabilidade com outros esquemas.
A Dublin Core Metadata Initiative (DCMI) é, provavelmente, a mais conhecida e
influente iniciativa mundial no que respeita aos metadados. A fim de fornecer “uma base
para o desenvolvimento de especificações de sintaxe independentes de aplicações e
linguagens de restrição”, o DCMI desenvolveu o Dublin Core Abstract Model (DCAM) (Powell et al, 2007) que apresenta componentes e construções usadas nos metadados DCMI. Segundo a DCMI, possuir um MAP (Metadata Application Profile) como referência e ligação para descrever os recursos de uma comunidade é essencial para que essa mesma comunidade atinja o mais elevado nível de interoperabilidade semântica. O MAP é um esquema que consiste em “elementos de dados procedentes de um ou mais namespaces, combinados pelos implementadores e otimizados para uma aplicação local em particular”
(Heery and Patel, 2000). Daí o MAP ser um constructo muito importante e, por isso, é um ponto essencial no centro deste trabalho. Para potenciarmos um nível de interoperabilidade máxima, precisamos de definir Perfis de Aplicação, porque os PA são modelos de dados interoperáveis (DCMI, 2009), sendo que o objetivo é maximizar a interoperabilidade, justificando assim, a necessidade da criação de um PA.
1.2 Motivação e Interesse
1.2.1 Na Área Científica
Para o desenvolvimento deste PA, irá ser utilizado o Me4MAP, um método para o desenvolvimento de perfis de aplicação. Para esta área, a comunidade científica poderá estar interessada em saber porque foi criado o Me4MAP, porque poderá ser interessante a sua criação e a sua respetiva utilização, quais os resultados e para que efeitos foi criado, bem como o interesse por parte das autoras, Ana Alice Baptista e Mariana Curado Malta, em saber qual o desempenho do mesmo, e o que poderá ser melhorado e desenvolvido neste contexto.
Em estudos complementares efetuados até ao momento, pode verificar-se que existe já um método para o desenvolvimento de um MAP, o Me4MAP. É um método para o desenvolvimento de perfis de aplicação numa perspetiva de engenharia de software e de metadados e foi um ponto de partida para o estudo e o desenho de métodos para o desenvolvimento de PAM.
O Me4MAP é um método que define o caminho que se deve seguir, informa sobre
que atividades podem ser desenvolvidas, quando as desenvolver, como é que elas estão
É um método que permite também informar sobre a equipa de trabalho ideal para um projeto que tenha um gestor do mesmo, um analista de sistemas, o desenvolvedor Semântico, o editor técnico, o especialista do domínio de aplicação e um utilizador final, como perfil. Ou seja, informa sobre os papéis que cada um dos elementos da equipa de trabalho vai desempenhar.
Este baseia-se nos métodos de desenvolvimento de software, mas também tem como base o Enquadramento de Singapura, que definiu o que é um perfil de aplicação.
1.2.2 No Domínio da Aplicação
Dentro deste domínio, será interessante, para nós desenvolvedores, para os consumidores dos dados, quais os dados que existem e poderão vir a ser criados, quais os dados que estes podem esperar da aplicação que irá ser aqui desenvolvida e como é que os dados estarão restritos.
A aplicação deste projeto de trabalho irá ocorrer no seio da Economia Social e Solidária (ESS). Até ao momento, tanto quanto foi possível apurar, existem algumas aplicações e perfis de aplicação direcionadas para o âmbito da agricultura, mais precisamente.
Este contacto com a Economia Social e Solidária (ESS) é recente, daí, ser uma excelente oportunidade para aprimorar o trabalho e as capacidades nesse sentido, e também é algo que é novo e pode ser melhorado. Deste modo, pretendemos entrar em contacto direto com os agricultores da parte da Índia, fazendo duas deslocações ao País, e eles fazendo uma deslocação a Portugal, com o intuito de nos darmos a conhecer e deles se darem a conhecer a nós, bem como o estabelecimento do contacto ser mais fácil e direto, agilizando todo o trabalho ainda por desenvolver ao longo deste Projeto.
A comunidade ESS tem vindo já há algum tempo a ser muito estudada por áreas
científicas como as de sociologia e as da economia, e só recentemente começou a ser
estudada por áreas ligadas à tecnologia, como foi o caso do trabalho feito por Ana Alice
Baptista e Mariana Curado Malta, com a criação do método Me4MAP. Com este projeto de
dissertação, é esperado que este estudo continue e seja aprimorado, e o objetivo é dar
continuidade a este trabalho, à criação deste método e aos estudos que têm vindo a ser
feitos em torno da comunidade ESS, neste caso, no ramo da agricultura. Com esta ligação entre a Universidade do Minho e a comunidade ESS, com a Índia, e o Brasil como observador, coloca-nos num contexto muito positivo no que respeita o nível mundial do conhecimento e dignificação do trabalho que se pretende desenvolver com este projeto, ganhando uma grande credibilidade perante todas as entidades envolvidas nele, e externas ao projeto, que tenham alguma ligação com o mesmo, ainda assim.
Dentro do contexto da ESS, torna-se importante fazer o aproveitamento do poder das redes sociais para identificar e inferir as interações entre as partes interessadas que serão reprocessadas e enriquecidas com Linked Open Data (LOD) para a construção da sua estrutura. A experiência adquirida pelos parceiros indianos e portugueses são igualmente fortes no campo da Web Semântica, também estendidos ao design de ontologias, extração de entidades e suporte. Em Portugal, os parceiros apresentam uma forte experiência na modelação de aplicações em LOD e aplicaram já algumas dessas competências no domínio da ESS para o qual foi criado um MAP, como já foi referido. Por outro lado, os parceiros da Índia já estão a trabalhar na área de Web Semântica, em bases de dados, em vários domínios. Constatando, por isso, que todos juntos, adquirimos já um vasto conhecimento dentro do que é o ramo da Web Semântica e temos o necessário para alcançar os objetivos deste projeto, delineados inicialmente.
Estamos, e estaremos até ao final, em contacto com dois parceiros, agricultores pertencentes a Guimarães, o Carlos e o Nuno, para desenvolvermos e delinearmos em conjunto os requisitos funcionais que surgiram até ao momento. Mais à frente irá ser explicado como está esta união de esforços e o que se pretende para o futuro.
1.3 Objetivos e Resultados esperados
O principal objetivo deste projeto de dissertação é desenvolver uma aplicação de
dados abertos ligados que resulte numa melhoria para os produtores com foco no
escoamento dos seus produtos, bem como a divulgação dos mesmos através de redes
sociais. Pretende-se melhorar a vida dos produtores, ajudá-los a melhorar as suas vendas.
Com isso, este projeto de dissertação insere-se no âmbito de um projeto apoiado pela FCT, que é um projeto de mobilidade entre Portugal e a Índia.
Inicialmente, será aberto um nível mais amplo da interoperabilidade semântica através da aplicação criada e baseada em princípios de Linked Open Data (LOD), com o conjunto de requisitos delineados em conjunto com os parceiros. Com a realização deste projeto, é possível abranger diferentes setores não organizados, realizada com a extração de dados em fóruns sociais e capacitá-los para tomar as decisões.
Os resultados esperados após a realização deste projeto de dissertação são os seguintes:
• Criação de uma ontologia e de vocabulários para o compartilhamento de informações, e para a gestão e interoperabilidade entre as várias organizações e setores;
• Adaptação do DCAP-SSE à realidade específica da agricultura local – contribuição para padrões/recomendações;
• Desenvolvimento de uma plataforma de armazenamento, de busca (ferramentas de visualização e de alto desempenho) e software (web services e interface final do SPARQL);
• Publicações em conjunto com os parceiros da Índia.
O DCAP-SSE proposto, o esquema de metadados e os vocabulários, foram
desenvolvidos levando em consideração os pontos de vista dos principais players globais
da ESS, mas, contudo, eles precisam de ser validados para os utilizadores da comunidade
e, possivelmente, atualizados também. Esta validação que é referida aqui, será feita
aplicando o método Me4MAP, ou seja, com base em informações extraídas de redes
sociais. Assim, será esta uma oportunidade para também validar e, possivelmente, ajustar
o Me4MAP de formas e de contextos completamente diferentes e melhorados.
1.4 Organização do Projeto de Dissertação
Nesta secção é descrita a organização do presente documento.
No primeiro capítulo, Introdução, é feito o enquadramento do trabalho, são apresentados os objetivos subjacentes e, de forma sintetizada, é apresentada a estrutura do desenvolvimento do projeto de dissertação a nível da apresentação do seu documento.
No segundo capítulo, é explicada a Abordagem Metodológica, é explicada toda a estratégia de pesquisa que foi utilizada e encontra-se a definição e o propósito do processo de investigação e do instrumento de investigação utilizado no desenvolvimento do projeto de dissertação.
No terceiro capítulo, é também apresentada a estratégia de pesquisa utilizada na pesquisa do presente capítulo, no enquadramento Concetual, em que são apresentados os fundamentos teóricos do presente no documento, procurando apresentar e definir os conceitos relevantes para a compreensão da dissertação e do tema que a envolve.
No quarto capítulo, é apresentado o Estado de Arte dos métodos para o desenvolvimento de um Perfil de Aplicação, terminando com as conclusões que justificam a existência deste projeto de dissertação. Neste capítulo, são discutidos vários temas, como a estratégia de pesquisa em torno do estado de arte e de todo o domínio da aplicação face a este Projeto.
No quinto capítulo, está inserida a Calendarização, onde é explícito todos os
momentos de entrega, bem como o desenvolvimento de cada tópico existente.
2 Procedimentos Metodológicos
Este projeto de trabalho inclui fundamentos teóricos, investigação e o seguimento de um método de desenvolvimento de perfis de aplicação, o Me4MAP. Esta secção apresenta, por isso, a metodologia usada:
• Na estratégia de pesquisa e no desenvolvimento de Perfis de Aplicação;
• No seguimento do método criado para o desenvolvimento de Perfis de Aplicação, o Me4MAP;
• No trabalho de análise de conteúdo dos princípios de engenharia de software, na análise de aplicações para a agricultura.
2.1 Estratégia de Pesquisa
Neste capítulo, irá ser apresentada toda a estratégia de pesquisa referente ao presente capítulo, bem como o conjunto inicial de artigos resultantes destas mesmas pesquisas.
Em primeiro lugar, foram efetuadas pesquisas no Google e no Google Scholar quais as metodologias mais usadas até ao momento, bem como as existentes, para a criação e desenvolvimento de Perfis de Aplicação, bem como para o processo de investigação.
As pesquisas realizadas nas bases de dados online utilizaram palavras-chave que dependem da especificidade de cada pesquisa.
As pesquisas foram realizadas nos campos “título do artigo”, “assunto” e “corpo do artigo”, com a exceção de quando se pesquisou por um autor específico, nesse caso, a pesquisa foi realizada no campo “autor”. Inicialmente os artigos foram selecionados seguindo o critério de “relevância do título”, “número de citações” e de qualidade da
“revista científica”.
Na fase posterior das pesquisas, foram analisadas as referências dos artigos retidos na fase 1, selecionando novos artigos pela relevância do título e do seu resumo.
Como já foi referido, o método que mais sentido faz utilizar para o desenvolvimento
de Perfis de Aplicação, é o método criado por Ana Alice Baptista e Mariana Curado Malta,
o Me4MAP. A partir daí, foi possível passar à pesquisa de publicações e artigos referentes
ao método. Dentro desses artigos, foram encontrados também outros artigos, citados por
estes, que ajudaram na procura de informação deste método, bem como outros artigos
que citam estes artigos encontrados em primeiro.
Para além disso, foi feita também uma estratégia de pesquisa de artigos para aplicações que já existem, e foram efetuadas reuniões com os parceiros de Guimarães, referidos anteriormente.
2.2 Me4MAP
Uma das metas delineadas neste projeto de dissertação, é fazer uma atualização e melhora do método de desenvolvimento de Perfis de Aplicação, o Me4MAP. O ponto de partida para a conceção do Me4MAP foi o
Rational Unified Process (RUP), um processoproprietário de Engenharia de Software que foi criado pela Rational Software Corporation, adquirida pela IBM. Isto porque se trata de um método que aborda de forma profunda todas as fases de desenvolvimento de um software. O RUP é uma metodologia de desenvolvimento de software que tem como principal objetivo garantir aos seus utilizadores o desenvolvimento de software de alta qualidade dentro do tempo e custo previsto. Segundo Kroll and Krutchen (2003), citado por Borges (2008), o RUP era utilizado em 2008 em mais de 1000 organizações, em projetos tanto de pequena como de grande envergadura (Borges, 2008), demonstrando assim, ser um método consistente e com grande maturidade.
O RUP é um modelo que contém quatro fases do processo de software, relacionadas mais estritamente aos negócios do que a assuntos técnicos (Sommerville, 2007). As quatro fases do RUP serão descritas em seguida:
• Conceção: o objetivo desta fase é estabelecer um business case para o sistema.
Devem ser identificadas todas as entidades externas (pessoas e sistemas) que irão interagir com o sistema em desenvolvimento e definir essas interações. Essas informações são utilizadas para avaliar a contribuição do novo sistema para o negócio.
• Elaboração: os objetivos desta fase passam por desenvolver um entendimento do domínio do problema, estabelecer um framework de arquitetura para o sistema, desenvolver o plano de projeto e identificar os seus principais riscos. No final desta fase, deve-se ter um modelo de requisitos para o sistema, uma descrição de arquitetura e um plano de desenvolvimento do software.
• Construção: esta fase está essencialmente relacionada ao projeto, programação e teste do sistema. As partes do sistema são desenvolvidas paralelamente e
integradas durante esta fase. No final deve ter-se um sistema de software em
funcionamento e a documentação associada pronta para ser liberada para os seus utilizadores
• Transição: nesta última fase, faz-se a transferência do sistema da comunidade de desenvolvimento para a comunidade dos utilizadores, com a entrada do sistema em funcionamento no ambiente real. Esta é uma atividade ignorada na maioria dos modelos de processo de software, pois é onerosa e às vezes problemática. No final desta fase, deve ter-se um sistema de software documentado, funcionando corretamente no seu ambiente operacional.
O Me4MAP teve como ponto de partida a Estrutura de Singapura para os Perfis de Aplicação da Dublin Core e foi desenvolvido em quatro fases: “Definição de âmbito”,
“Construção”, “Desenvolvimento” e “Validação”. Estas fases são atravessadas ao longo do projeto pelas atividades das Etapas de Singapura. Para definir as fases, a base foi o RUP, adaptando a este contexto e acrescentando atributos de outros métodos e informação recolhida em entrevistas que foram realizadas na altura. Para as primeiras versões do Me4MAP foram definidas as Etapas de Singapura, desenvolver os Guias de Utilização e Desenvolver os Guias de Sintaxe, iniciando na fase da “Construção”. Na versão final foi concluído que essas deveriam iniciar-se somente na fase de “Desenvolvimento”, já que até essa fase não há informação disponível para executar as atividades destas duas etapas. Na figura seguinte, apresentam-se essas mesmas fases:
Figura 1 - Fases do Method for the Development of Application Profiles [retirada de Malta, M. C., 2014]
2.2.1 Modelo de desenvolvimento do ciclo de vida do Me4MAP
O desenvolvimento do ciclo de vida Me4MAP foi definido, desde início como sendo iterativo e incremental. Como não nos é possível definir todos os requisitos no início do processo de desenvolvimento do MAP, durante o desenvolvimento podemos sentir a necessidade de recuar para adicionar os requisitos em falta (Baptista and Malta, 2013).
Segundo Baptista and Malta (2013), o número de iterações do processo depende da dimensão e da complexidade do MAP a ser desenvolvido. Quando não houver nada de novo para adicionar, para os requisitos, dependendo dos resultados de validação da produção, não haverá mais iterações.
Em seguida, pode ser analisada uma figura do ciclo de vida do Me4MAP:
Figura 2 - Ciclo de vida Me4MAP [retirada de Malta, M. C., 2014]
2.3 Levantamento de Requisitos
Em contacto com os dois parceiros agricultores pertencentes a Guimarães, Nuno e Carlos, com quem temos tido ao longo deste projeto várias reuniões, entrevistas, pudemos apurar, a um nível geral, quais os motivos e os interesses com o desenvolvimento desta aplicação, bem como os requisitos apontados por estes com as reuniões que surgiram até ao momento. Com a primeira entrevista, foi possível obter o testemunho destes dois produtores, tendo uma visão deles face à agricultura no geral, ao desenvolvimento da produção, a cada cliente, e ao que poderia ser uma aplicação focada no cliente, e que pudesse ajudar os produtores e os clientes.
Um dos produtores, o Carlos, referiu na entrevista que fosse sempre permitido ao cliente fazer a escolha do seu produto e do seu produtor, com base no seu gosto e preferência. Um aspeto a ter em conta, que foi referido por este, e que é muito importante para o desenvolvimento da aplicação, é analisar cada cliente ao pormenor, no sentido de perceber quais aqueles que se sentem à vontade e dispostos a usar um dispositivo móvel, um computador ou um telemóvel, a fim de que possa escolher os seus produtos através da aplicação, o seu produtor, seria também interessante dar a possibilidade ao cliente de escolher que o produto lhe fosse levado a casa, e que fosse algo que, de uma maneira geral, fizesse a diferença face ao que já existe até aos dias de hoje nesse sentido. Outra das ideias que foi obtida e que suscitou grande interesse, foi a possível criação de um requisito aplicacional em que o cliente pudesse escolher certos ingredientes ou, pegando nos ingredientes que sobrassem ao fim de cada semana e, com estes, realizar novas receitas com a ajuda dos produtores, com a realização de workshops, ou com a criação de uma parceria com o Chef do Restaurante Vegetariano Cor de Tangerina, situado em Guimarães.
Em seguida, temos o testemunho de outro produtor, o Nuno, em que as ideias para a
aplicação andam à volta do mesmo que o outro produtor. Para iniciar, o Nuno referiu que
era bom a aplicação ter uma lista de todos os produtos com o peso, o preço, o produtor
que produz o produto, e que a aplicação seja capaz de registar tudo e emitir os pedidos em
separado por cada cliente. Outra das coisas que era pretendida pelos produtores, era que
fosse possível ser feita uma atualização semanal no perfil de cada cliente, por exemplo, se
algum produto durante a semana ficar mais fraco, acabar, ou estragar-se, era pretendido
que a aplicação emitisse uma mensagem ao cliente com essa informação e que, em
seguida, o cliente pudesse alterar o pedido, nomeadamente relativamente a esse mesmo produto. Com isto, refere Nuno, que lhes tirava muitas horas de trabalho que hoje em dia são desnecessárias, uma vez que há alternativas para as retirar. Em seguida, era pretendido pelos produtores, que os clientes, através desta app, pudessem fazer um mix dos produtos.
Podiam fazê-lo na medida em que lhes fosse permitido pedir um mesmo produto a diferentes produtores, ou produtos diferentes de produtores diferentes, sendo que a aplicação faria a gestão do pedido separando os produtos por cada produtor agrícola. Por fim, os produtores referiram que é importante também a aplicação ter um local em que seja permitido a divulgação de eventos das quintas e de promoções para o cliente. Do nosso lado, por parte dos desenvolvedores da aplicação, achamos também interessante que a aplicação estivesse ligada ao Facebook, à rede de amigos do cliente e que, sempre que algum cliente fizesse uma compra, aparecesse uma notificação a cada amigo desse cliente com a compra feita por esse cliente, de modo também a promover os produtos e a aplicação.
Sendo assim, os requisitos pretendidos são os seguintes:
• Open Source;
• Permitir ao cliente a escolha dos produtos;
• Aplicação que seja direta, simples e focada no cliente;
• Parte integrante da aplicação que seja possível os clientes fazerem receitas com a escolha de produtos, novos ou não;
• Haver um local na aplicação em que os clientes possam escolher que querem receber os produtos em casa;
• Listar os produtos e os produtores, bem como o preço e o peso dos produtos;
• Possíveis atualizações semanais pelo cliente;
• Permitir que o cliente possa escolher mais do que um produto, ou o mesmo produto em diferentes produtores;
• Possíveis alterações efetuadas pelo cliente, como um pedido, ou as quantidades de cada produto em cada pedido;
• Avisos ao cliente sempre que um produto se estragar ou acabar;
• Notificações feitas ao cliente, a cada fim de cada semana, da gestão dos produtos e
• Possível local de promoção de eventos, e de promoções de produtos para o cliente;
• Ligação da mesma ao Facebook, para que os clientes sejam sempre notificados,
dentro da sua rede de amigos, sempre que algum outro cliente efetue uma compra.
3 Fundamentos Teóricos
3.1 Estratégia de Pesquisa
Neste tópico, irá ser apresentada a estratégia de pesquisa referente a este presente tema, os fundamentos teóricos.
Em primeiro lugar, juntamente com a orientadora deste projeto de dissertação, foram definidos quais os tópicos teóricos faziam sentido analisar e pesquisar. Depois de estes estarem delineados, foi feita uma pesquisa na Web (Google e Google Scholar) focado nos mesmos, com a descoberta de vários artigos, journals e publicações sobre estes temas.
Dentro dos artigos, como aconteceu em pesquisas anteriores, foram utilizados outros artigos citados por estes, bem como estes eram citados por outros artigos.
As pesquisas realizadas nas bases de dados online utilizaram palavras-chave que dependem da especificidade de cada pesquisa.
As pesquisas foram realizadas nos campos “título do artigo”, “assunto” e “corpo do artigo”, com a exceção de quando se pesquisou por um autor específico, nesse caso, a pesquisa foi realizada no campo “autor”. Inicialmente os artigos foram selecionados seguindo o critério de “relevância do título”, “número de citações” e de qualidade da
“revista científica”.
Na fase posterior das pesquisas, foram analisadas as referências dos artigos retidos na fase 1, selecionando novos artigos pela relevância do título e do seu resumo.
Após encontrar estes documentos todos, foi feita uma análise e um estudo de investigação que permitisse a escrita de todos estes fundamentos teóricos.
3.2 Web Semântica e Linked Open Data
Nos últimos anos surgiram vários elementos para reforçar a ideia de Tim Berners-Lee a cerca da Web Semântica. Santarem Segundo (2013), refere que o W3C iniciou um processo de publicar, efetivar e disseminar um conjunto de tecnologias que se foram agregando com o objetivo de descrever da melhor forma a Web Semântica.
Estruturar dados abertos de forma semântica não é apenas uma das formas de
estabelecer ligação entre o conceito de Dados Abertos e de Web Semântica, mas sim
quinto princípio de dados abertos e também ao inciso da Lei de Acesso à Informação, que indicam a possibilidade dos dados serem processados por máquina, além da ligação entre informações de bases diferentes através de relacionamentos semânticos (Santarem Segundo, 2013).
Segundo Nilton e Mark (2016), a construção do tesauro com base em ontologias e o uso de padrões de dados RDF abre possibilidades para que o Sistema possa ser caracterizado pelos princípios da Web Semântica, se forem aplicados mecanismos que permitam a conexão dos seus dados com dados de outrem, provenientes de outros sistemas Web.
O conceito de Web Semântica tem vindo a ser utilizado desde 2001, quando citado por Tim-Berners-Lee, Hendler e Lassila (2001) que trataram do tema num artigo publicado na revista Scientific American. Este conceito trata-se de um projeto da World Wide Web
Consortium (W3C), cujo o objetivo é tornar as informações legíveis por máquinas, por meiodo desenvolvimento de tecnologias, linguagens, padrões e recomendações (W3C, 2013).
A Web Semântica não é uma “nova Web”, mas sim uma proposta de mudanças para a Web, na qual a informação possui um significado bem definido, permitindo melhor interação entre computadores e pessoas. Nesta proposta, os computadores precisam de ter acesso a coleções de informações estruturadas (dados e metadados) e regras de inferência que auxiliem no processo de dedução automática para a aplicação de raciocínio automatizado (Berners-Lee, Hendler and Lassila, 2001).
Linked Open Data (LOD) é um termo utilizado no contexto da Web de Dados para referir um conjunto de regras e de boas práticas utilizadas na publicação de dados ligados na Web de Dados. (Heath and Bizer, 2011). Para alcançar e criar dados ligados, as tecnologias devem estar disponíveis para um formato comum, RDF, para fazer a conversão ou ter acesso as bases de dados relacionais.
3.3 Metadados e Esquemas de metadados
Os metadados são dados que descrevem dados, informação estruturada que descreve, explica e localiza, ou torna fácil de recuperar, usar ou gerir um recurso com informação (Niso Press, 2004). Um recurso é qualquer coisa que possa ser identificada.
Segundo Rüle, Baker and Johnston (2011), “qualquer coisa de interesse pode ser descrita
através de metadados, desde coleções de livros a ligas de futebol e coisas que se queira vender (…)” (Rüle et al, 2011).
Um esquema de metadados é também chamado de “vocabulário” ou de “vocabulário RDF”. Na verdade, isso acontece porque um vocabulário é um conjunto de termos, e um termo pode representar um elemento, uma classe, ou um esquema de codificação. Os vocabulários são usados para classificar os termos que podem ser usados numa determinada aplicação (W3C, 2015).
Catarino e Baptista (2007) afirmam, citando Castro e Santos (2007), que os Metadados são definidos como “dados sobre dados” ou “dados estruturados sobre dados”.
Especificamente no âmbito da Web e das bibliotecas digitais, um dos objetivos da utilização de metadados “é permitir não só descrever documentos eletrónicos e informações em geral, possibilitando a sua avaliação de relevância por humanos, mas também permitir que computadores e programas especiais, robôs e agentes de software, possam lidar com os metadados associados a documentos e possam então recuperá-los, avaliar a sua relevância e manipulá-los com mais eficiência”.
A introdução de novos paradigmas na Web implicou necessariamente uma evolução nas definições dos esquemas de metadados da DCMI. Em Janeiro de 2008, a DCMI incluiu as propriedades “domínio” e “contradomínio” nas definições dos seus elementos. Mas para não afetar as implementações já existentes, desenvolvidas com o DCMES em RDF, não foi especificado o domínio e contradomínio para estes 15 elementos do DCMES. O que aconteceu foi que se criaram 15 novos elementos com nomes idênticos aos do DCMES.
Essas 15 novas propriedades foram definidas como subelementos dos correspondentes elementos do DCMES e foram-lhes atribuídos domínio e contradomínio DCMI (2010). Esta introdução de domínio e contradomínio, e ainda a definição de classe para os termos, trouxe a possibilidade de criar estruturas de conhecimento, relacionando conceitos e assim possibilitar a emergência de um mundo onde é possível máquinas processarem semanticamente informação.
Como já foi mencionado, a implementação da Web Semântica é uma evolução. Esta
evolução da Web trouxe uma transformação na área dos metadados. A comunidade DCMI
organizou-se e concebeu novas ferramentas para que os agentes envolvidos na definição
das descrições de metadados falassem numa linguagem comum. O DCAM surge com este
os componentes e os constructos usados nos metadados da DCMI. Define a natureza dos componentes utilizados, e descreve a forma como eles se combinam para a criação de estruturas de informação (Powell et al., 2007).
O DCAM fornece um modelo de informação que é independente de qualquer sintaxe de codificação em particular. Representa um modelo de informação que nos permite obter uma melhor compreensão dos tipos de descrição que estamos a realizar e, para além disso, ajuda-nos no desenvolvimento de melhores mapeamentos (Powell et al., 2007).
No caso da WS, quando são adotados padrões internacionais, eles potenciam ao máximo a interoperabilidade entre os agentes que os comunicam. Isto acontece porque, havendo um conjunto de regras definidas (esquemas de metadados), a troca de dados é efetuada segundo essas regras, sem necessidade de entendimento prévio. Segundo o W3C (2012), “a Web Semântica oferece uma estrutura comum que permite que dados sejam partilhados e reutilizados em todos os limites das aplicações, organizações e comunidades”. No entanto, sendo fundamental o uso de padrões internacionais, ele não é suficiente para obter um elevado nível de interoperabilidade. Com a criação do DCMES em 1995 até hoje, percorreu-se um caminho de procura de soluções para as melhores implementações de interoperabilidade.
3.4 Perfil de Aplicação de metadados e Interoperabilidade Semântica
Segundo o Enquadramento de Singapura a cima mencionado, um perfil de aplicação é um conjunto de documentação onde estão definidos os requisitos funcionais, onde está definido o modelo de domínio e onde há um
Description Set Profile. As organizaçõesnecessitam de modelos de dados que apoiem as suas necessidades de interoperabilidade, e a conceção desses modelos necessita, naturalmente, de métodos.
Lynch (1997), define um Perfil de Aplicação como sendo um refinamento de um
padrão. O Z39.50 é um dos poucos exemplos que temos até a data de um protocolo que
realmente vai além do mecanismo de codificação e se move na área de padronização do
conhecimento semântico compartilhado. A medida em que este deve ser um objetivo do
protocolo tem sido uma fonte contínua de controvérsia e tensão dentro da comunidade de
desenvolvedores, e diferentes pontos de vista sobre esta questão podem ser vistos tanto
no padrão em si como na forma como é usado na prática. Dada a crescente ênfase em
questões como "interoperabilidade semântica" como parte da agenda de pesquisa para bibliotecas digitais (Lynch, 1997).
Heery and Patel (2000), em 2000, vão para além disso e definem um PA como uma
“mistura e conjugação” (Herry and Patel, 2000) de diferentes esquemas de metadados;
referem também que definiram os perfis de aplicação como sendo esquemas que consistem em elementos de dados desenhados e redesenhados a partir de um ou mais namespaces, combinados por implementadores e otimizados para uma aplicação local específica. A experiência dos implementadores é fundamental para a gestão efetiva de metadados, e este trabalho procura olhar para o modo em que o conjunto de elementos de metadados Dublin Core (e outros padrões de metadados) são usados no mundo real.
Heery and Patel foram propuseram perfis de aplicação pela primeira vez como um método, documentando o seu uso numa única aplicação de elementos de metadados de vários namespaces (Moen et al, 2010).
Passa-se a olhar para o desenvolvimento de um PA como sendo um processo, acrescentando à abordagem de Heery and Patel (2000): a necessidade de descrever as diferentes propriedades e restrições dos esquemas de metadados através da utilização da linguagem de restrições DSP - ver Nilsson (2008); a necessidade de definir requisitos funcionais e um modelo de domínio de forma a forçar os desenvolvedores de PA a criar melhores processos de desenvolvimento; e ainda a necessidade, ainda que não obrigatória, do desenvolvimento de guias de forma a dotar os implementadores de PA com documentação de apoio ao processo.
O uso de padrões internacionais é fundamental quando falamos de interoperabilidade
semântica. No nosso contexto, em tecnologias e sistemas de informação, podemos definir
interoperabilidade como a possibilidade de múltiplos sistemas, com diferentes programas,
diferente hardware, e diferentes estruturas de dados e interfaces, troca de dados, sem
comunicação prévia, com o mínimo de perda de conteúdos e de funcionalidade (Niso Press,
2004). Durante anos, estes padrões utilizados na comunidade permitiram um elevado nível
de consistência de dados, a solução perfeita para implementar interoperabilidade (Chan
and Zeng, 2006). Mesmo antes da existência da Internet, os standards existentes foram
sempre a base para implementação de perfis. Um exemplo é a comunidade Z39.50 que
criou perfis para refinar os padrões (Baker et al., 2001). Com a sintaxe existente da
linguagem RDF, os programadores passaram a ter uma tecnologia para a combinação de elementos individuais de uma variedade de diferentes esquemas de metadados.
A DCMI, provavelmente a mais conhecida e mais importante iniciativa a nível mundial no que respeita aos metadados, para fornecer “uma base para o desenvolvimento de linguagens independentes de especificação de sintaxe e de restrições” desenvolveu o DCAM (Powell et al., 2007).
Dentro de toda a investigação dentro da comunidade dos metadados e da criação de Perfis de Aplicação, temos o Enquadramento de Singapura. Esta é uma sinopse até ao momento da sua elaboração. Representa um documento importante, uma vez que define um enquadramento para implementar interoperabilidade semântica entre diferentes comunidades de prática. As regras dizem que, para desenvolver um MAP é necessário definir o seguinte:
•
Requisitos Funcionais: os requisitos funcionais de um MAP descrevem as funcionalidades que um Perfil de Aplicação deve ter, bem como as funções exteriores ao seu âmbito. Os requisitos funcionais são a base de avaliação de um PA, e é obrigatória.
•
Modelo de Domínio: o modelo de domínio define as entidades básicas descritas pelo PA. O objetivo de um modelo de domínio passa por definir um rascunho do PA. Pode ser expresso utilizando apenas texto ou mesmo uma abordagem mais formal, como é exemplo a Unified Model Language (UML) (c.f. Flower (2004)) e é obrigatório.
•
Description Set Profile: o Description Set Profile (DSP) define o conjunto de elementos de metadados que são instâncias válidas de um PA (c.f Nilsson, 2008). Foi projetado para oferecer uma linguagem simples de restrições para os metadados da DCMI, baseando-se no DCAM. A sua definição é obrigatória.
•
Guias de Utilização: descrevem como se aplica o PA e como se utilizam as
propriedades no contexto da aplicação, e são facultativas.
•