• Nenhum resultado encontrado

VI. Lista de siglas

6 Arquitetura proposta

6.3 Arquitetura de solução

6.3.4 Solução de análise de metadados como ontologia

6.3.4.1 Arquitetura tecnológica

Para implementar o modelo de metadados como ontologia e analisador de expressões, foi montada uma arquitetura apresentada na Figura 6.15 e Tabela 6.4, em termos de componentes tecnológicos e respetivas interfaces que pode ser detalhada da seguinte forma:

• Os modelos de ontologia são capturados a partir de conversão de formatos ArchiMate (arquitetura empresarial) via Plugin ArchiOWL, glossários em Microsoft Excel/CSV e DDL de bases de dados obtidos via ligação JDBC a base de dados. Estes modelos são integrados via processamento de match & merge utilizando ApacheJENA via OWL e SPARQL, mas tendo como orientação a ontologia definida ao nível da arquitetura empresarial em ArchiMate. O modelo de ontologia inicial é o que for definido na arquitetura empresarial em Archi com modelo ArchiMate. Deve incluir não só os conceitos e relações chave (e.g. objetivos, produtos, processos, orgânica, pessoas) como também regras de relação específica ao nível de produtos (estrutura e equivalência de termos de acordo com o domínio de linguagem), canais (tipo e relação entre canais e com clientes) e clientes (segmentação de clientes);

• Primeiro integra-se o modelo gerado pela ferramenta Archi, para de seguida se integrar glossários para criar a relação “significa” com tabelas e campos, classificar cada termo pela sua morfologia e a sua classificação como métrica ou dimensão. Por fim, integra-se o DDL criando relação entre campos e tabelas, e para cada campo, classifica-se como métrica ou dimensões de acordo com o formato do campo e sua nomenclatura;

• Após a integração num modelo gera-se a inferência (reasoning) que por transitividade, permite criar indivíduos nas classes métricas e dimensões;

118

• Por fim, o modelo resultante é explorado por interface em Java Swing com suporte de OpenNLP para interface com utilizador em processamento de língua natural. Com o modelo e classificação efetuada, pode-se explorar a ontologia com base em linguagem natural com um padrão de linguagem de “Analisar <métricas> DE <área funcional ou domínio> POR <dimensões> PARA <condições ou restrições>”.

No caso do modelo de arquitetura na Figura 6.15, destaca-se a utilização de ApacheJENA para tratar de forma programada as ontologias de acordo com os processos de ontology learning, integrando várias fontes como é o caso de glossários via dados em Microsoft Excel, acesso direto a base de dados para obter o DDL, e o modelo base de ontologia criado em AE e gerado para OWL antes da integração. De notar igualmente o papel auxiliar de processamento de língua natural via Apache NLP para tratamento de expressões de texto.

Figura 6.15: Arquitetura técnica de solução em hipótese

Os vários componentes da arquitetura são detalhados na Tabela 6.4 considerando o seguinte:

• Tecnologia utilizada, sendo que utilizamos tecnologia open source como é o caso de Apache que tem soluções para OWL e NLP;

• Forma de utilização, descrevendo-se a utilização feita de cada tecnologia; • Motivo pelo qual se utiliza o componente.

119

Tecnologia Descrição utilização Motivação

Microsoft Excel.

Ferramenta utilizada para criar glossários ao permitir criar uma estrutura tabular de termo utilizado em AE e termos de glossário alternativos.

Poderia ser feito em ArchiMate, mas o Excel é normalmente utilizado nas empresas para documentar este tipo e informação, colocando-se alguma informação complementar sobre cada conceito.

Microsoft SQL Server.

Poderia ser qualquer SGBD, pois é necessário suporte para repositório de dados e queries DDL e DML.

Archi. Ferramenta de modelação de arquitetura empresarial com base no metamodelo ArchiMate e que permite instalar um Plug-In ArchiOWL para exportação do modelo ArchiMate para OWL.

Permitiu criar o modelo de ontologia base e os modelos de experimentação para cada caso de estudo para posterior conversão para OWL.

ArchiOWL. Plug-in que é instalado em Archi para transformar um modelo em ArchiMate para OWL efetuando uma transformação de componentes e hierarquias para class OWL e gerando relações como object

properties em OWL.

Permitiu reutilizar uma componente de conversão existente entre ArchiMate e OWL.

ApacheJENA. Framework de desenvolvimento baseado em Java

para criação e manipulação de ontologias utilizando OWL, RDF e SPARQL. Integrado na aplicação desenvolvida em Java, permitiu criar componentes para match & merge (integração de vários conceitos na mesma ontologia), Inferência, TDB (gravar a ontologia na base de dados Apache TDB) e para consulta à ontologia para expor o resultado em Java Swing.

Reutilização de métodos para manipulação programática de ontologias que permitiu criar o processo de match & merge e

ontology learning, integrando os

modelos OWL intermédios com origem em ArchiMate, Microsoft Excel e Microsoft SQLServer.

Apache OpenNLP.

Framework de desenvolvimento para processamento de língua natural para vários idiomas, incluindo português, que permite separação de frases em palavras, análise de sintaxe de frases e outros métodos específicos para língua natural.

Reutilização de métodos já desenvolvidos para processamento de língua natural que permitiu testar o modelo de interface com utilizador.

Java. Linguagem de programação em open source que permite o desenvolvimento de vários tipos de aplicações, incluindo a possibilidade de desenvolver via Java Swing uma interface gráfica para interação com utilizadores ou desenvolvimento de aplicações

web e mobile.

Linguagem base utilizada para integração com os frameworks ApacheJENA e OpenNLP para desenvolvimento do protótipo.

120

Na arquitetura tecnológica foram consideradas as seguintes opções:

• Foi utilizado o plugin ArchiOWL para conversão de ArchiMate para OWL por funcionar como open source para a ferramenta de modelação Archi;

• Foi testado o plugin DataMaster para conversão de bases de dados relacionais para OWL por funcionar integrado com o Protégé, mas tinha a limitação de só funcionar com a versão Protégé v3 e pretendia-se utilizar como base de partida uma arquitetura empresarial numa ferramenta específica como é o caso de Achi/ArchiMate;

• Face à necessidade de se tratar as tabelas, campos e restrições a partir da sua definição DDL em base de dados, optou-se por fazer uma ligação direta à base de dados Microsoft SQLServer para executar queries que permitem explorar os metadados DDL e programar em ApacheJENA a sua transformação para OWL;

• Foi utilizado o framework ApacheJENA após comparação com OWL API e Protégé OWL API, por ser mais independente e permitir no futuro outras funcionalidades eventuais por ser um projeto da Apache, onde existem bases de dados não estruturadas como o TDB que foi igualmente utilizado para armazenamento da ontologia, ou o OpenNLP para processamento de língua natural;

• Foi utilizado o framework OpenNLP por ter um conjunto de métodos essenciais para processamento de língua natural, conjugado com o suporte para língua portuguesa; • Em qualquer das opções de tecnologia não foi considerada uma avaliação detalhada com

as alternativas pelo facto do objetivo da investigação não ser a avaliação de tecnologias para cada funcionalidade, mas a experimentação técnica de uma hipótese de solução.