Um framework para concepção de ferramentas de apoio à decisão baseadas em ontologias



Documentos relacionados
Um framework para concepção de ferramentas de apoio à decisão baseadas em ontologias

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

MBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados

Semântica para Sharepoint. Busca semântica utilizando ontologias

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Adriano Maranhão BUSINESS INTELLIGENCE (BI),

ISO/IEC 12207: Gerência de Configuração

DATA WAREHOUSE. Introdução

PROJETO DE REDES

2 Geração Dinâmica de Conteúdo e Templates de Composição

Thalita Moraes PPGI Novembro 2007

3 SCS: Sistema de Componentes de Software

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Uma análise de ferramentas de modelagem e gerência de metadados aplicadas ao projeto de BI/DW-UFBA

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Palavras-chave: On-line Analytical Processing, Data Warehouse, Web mining.

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Organizaçãoe Recuperação de Informação GSI521. Prof. Rodrigo Sanches Miani FACOM/UFU

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Interatividade aliada a Análise de Negócios

Documento de Arquitetura

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Sistemas Distribuídos

1

HIBERNATE EM APLICAÇÃO JAVA WEB

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Arquitetura de Banco de Dados

TÓPICOS AVANÇADOS EM ENGENHARIA DE SOFTWARE

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

Roteiro 2 Conceitos Gerais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Banco de Dados - Senado

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Service Oriented Architecture (SOA)

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Resumo dos principais conceitos. Resumo dos principais conceitos. Business Intelligence. Business Intelligence

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Introdução ao Modelos de Duas Camadas Cliente Servidor

Engenharia de Software III

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Criação e publicação de um dataset de dados interligados das edições passadas do Simpósio Brasileiro de Banco de Dados

SISTEMA GERENCIADOR DE BANCO DE DADOS

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

DATA WAREHOUSE. Rafael Ervin Hass Raphael Laércio Zago

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Feature-Driven Development

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

UML - Unified Modeling Language

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Curso Data warehouse e Business Intelligence

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Sistema de Controle de Solicitação de Desenvolvimento

Modelos. Comunicação com clientes

SAD orientado a DADOS

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Sistema de Informação Gerencial baseado em Data Warehouse aplicado a uma software house

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

2 Conceitos relativos a Web services e sua composição

2 Diagrama de Caso de Uso

Persistência e Banco de Dados em Jogos Digitais

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Data Warehouse Processos e Arquitetura

Planejamento e Orçamento

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

Manual dos Serviços de Interoperabilidade

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Sumário. Uma visão mais clara da UML

AGILE ROLAP - UMA METODOLOGIA ÁGIL PARA IMPLEMENTAÇÃO DE AMBIENTES DE NEGÓCIOS BASEADO EM SERVIDORES OLAP.

Uma Ontologia para Gestão de Segurança da Informação

UFG - Instituto de Informática

Documento de Análise e Projeto VideoSystem

Engenharia de Software Sistemas Distribuídos

COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER

Chapter 3. Análise de Negócios e Visualização de Dados

Engenharia de Requisitos

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE II. Primeiro Trabalho

18/04/2006 Micropagamento F2b Web Services Web rev 00

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Noções de. Microsoft SQL Server. Microsoft SQL Server

Manual do Visualizador NF e KEY BEST

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Transcrição:

Um framework para concepção de ferramentas de apoio à decisão baseadas em ontologias Marcio Napoli 1,2, Denilson Sell 1, Luciano C. Liduário 1,2, Rodrigo F. Borges 1,2, José Leomar Todesco 2, Roberto Carlos dos Santos Pacheco 2 1 Instituto Stela. Florianópolis SC Brasil 2 Programa de Pós-Graduação em Engenharia e Gestão do Conhecimento Universidade Federal de Santa Catarina, SC. denilson@stela.org.br,{marcinho,liduario,rfb,tite,pacheco}@egc.ufsc.br Abstract. A major challenge in Business Intelligence is the integration of structured and unstructured information. This paper presents a framework in which ontologies are applied to describe different levels of abstraction over heterogeneous data sources and also to guide the analytical processing over this data. Among the benefits of this framework, we highlight the abstraction of data sources and the support for the development of generic decision support tools guided by the business knowledge. Resumo. Dentre os desafios no contexto de Business Intelligence, destaca-se a falta de meios mais efetivos para a localização e a combinação de informação a partir de fontes estruturadas e não estruturadas. Neste artigo, apresenta-se o framework ISQueryManager, no qual se aplicam ontologias para criar diferentes níveis de abstração sobre fontes de dados heterogêneas e para orientar o processamento analítico sobre esses dados. O framework possibilita o acesso transparente a fontes de dados, o desenvolvimento de ferramentas analíticas genéricas, guiadas pelo conhecimento do negócio, e a utilização desse conhecimento para apoiar o tomador de decisão durante o processamento analítico. 1. Introdução Soluções de Business Intelligence (BI) visam oferecer os meios necessários para a transformação de dados em informação a fim de suportar o processo decisório [Sell 2005]. De acordo com o Instituto IDC, o Mercado para soluções de BI vale mundialmente mais de 7 bilhões de dólares e deve dobrar até o final de 2006 [Computerworld 2005]. Entretanto, conforme o Gartner Group (2004) e a ComputerWorld (2004), até 2007 cerca de 50% dos projetos de BI vão ter uma aceitação limitada por parte dos usuários ou vão fracassar. Entre as causas enumeradas pelos institutos de pesquisa, encontra-se a falta de aderência das soluções implantadas com os requisitos analíticos das organizações. De fato, muitas organizações já constataram a complexidade em se traduzirem os dados providos por essas soluções em conhecimento e em resultados positivos para o negócio [Liebowitz 2005]. Comumente os usuários são submetidos a grandes volumes 280

de dados, dispondo basicamente do seu conhecimento pessoal para guiá-los durante o processo de seleção e interpretação da informação para satisfazer os seus requisitos analíticos. Esse conhecimento muitas vezes se mostra insuficiente para fazer os julgamentos corretos em um processamento tão complexo. A este cenário adiciona-se a necessidade de se proverem meios eficientes para combinação de dados não estruturados aos estruturados em uma mesma análise. Dados não estruturados são constituídos de conteúdo disponibilizado na Web ou na organização, e a sua importância para o processo decisório torna-se cada vez maior. Tradicionalmente, o tratamento desse tipo de dado é feito através de rotinas especializadas, agregadas às ferramentas ETL das soluções de BI. Entretanto, torna-se essencial buscar meios mais escaláveis que facilitem a combinação desses dados sem necessariamente proceder-se ao desenvolvimento de rotinas especializadas e sem replicar esses dados em tabelas do data warehouse. Deve-se buscar uma estratégia que possibilite a utilização da semântica do negócio para guiar os colaboradores das organizações na obtenção de informações que auxiliem na transformação e na interpretação do dado localizado e que apóiem a formação de conhecimento, bem como a sua divulgação. O dado por si só, sem o contexto do negócio e isolado em tabelas e documentos, constitui artefato de pouca importância no processo decisório [Liebowitz 2005]. Dessa forma, deverão ser considerados aspectos até então negligenciados, tais como o mapeamento da semântica do negócio e a sua utilização intensiva durante o processo de recuperação de informação, transformando-a em conhecimento. As ontologias podem ser utilizadas para agregar descrição semântica e lógica ao conteúdo mantido nos repositórios de dados de interesse para os tomadores de decisão. Uma ontologia identifica as entidades e os relacionamentos em um universo de discurso, definindo um vocabulário conceitual para suportar referências e raciocínio sobre esse domínio. O conhecimento representado através de ontologias pode ser explorado por máquinas de inferência que visam à geração de conhecimento adicional [Fensel 2001]. Neste artigo, apresenta-se o framework ISQueryManager para o desenvolvimento de ferramentas analíticas no qual se aplicam ontologias para descrever semanticamente os dados de interesse do tomador de decisão. As fontes de informação estruturadas ou não são contextualizadas em unidades de análise (i.e. assuntos do negócio), unidades de agrupamento e filtro (i.e. dimensões e respectivas hierarquias lógicas, associadas aos assuntos do negócio) e unidades de conteúdo (i.e. as medidas associadas aos assuntos do negócio). Essa organização lógica da semântica das unidades de informação permite que o usuário possa gradualmente ser introduzido às fontes de dados, partindo de uma visão dos principais temas do negócio, navegando de forma gradativa no detalhamento da informação a partir dos relacionamentos semânticos entre os temas e cada elemento de dado. A descrição semântica introduzida no framework é utilizada para guiar a montagem da interface das ferramentas de apoio à decisão e para orientar a formulação e o processamento de requisições junto às fontes de informação, facilitando a personalização das ferramentas de acordo com as necessidades específicas de cada organização. A abordagem implementada permite ainda a combinação de dados estruturados e não estruturados no escopo de uma análise, em relatórios ou cubos de 281

dados. O framework é implementado por uma arquitetura denominada ISQueryManager e ilustrado neste artigo através de uma ferramenta analítica denominada ISExtracta. A seguir, apresenta-se uma visão geral das pesquisas relacionadas. Logo após, mostra-se como a ontologia que suporta o framework e os principais módulos que o implementam foram projetados. O framework é aplicado em um estudo de caso no contexto da gestão da Ciência & Tecnologia através de uma ferramenta analítica denominada ISExtracta. Por fim, apresentam-se uma discussão sobre a abordagem empregada à luz das pesquisas em BI e as conclusões finais. 2. Trabalhos Relacionados No tocante às soluções comerciais de BI, verificam-se limitações relacionadas à falta de suporte para a representação dos conceitos e da lógica do negócio para a contextualização e integração das fontes de informação. A maioria das soluções atuais aplica metadados proprietários para representar de forma sintática cubos de dados e outras informações sobre fontes de dados estruturadas. Algumas soluções comerciais de BI e iniciativas open source como o projeto Mondrian [Mondrian 2004] iniciaram a aplicação da gramática XMLA (XML for Analysis) [XMLA 2004] para facilitar o processo de integração de suas operações analíticas com aplicações de terceiros. Entretanto, apesar de essas iniciativas representarem um avanço para a integração de dados e serviços no contexto de aplicações analíticas, é necessário lidar com o problema do acesso a dados estruturados e não estruturados, localizados localmente ou em fontes de dados remotas. Para tanto, deve-se investigar uma abstração semântica que apóie o acesso a essas fontes de dados e que facilite aos tomadores de decisão a localização e a interpretação dos recursos disponíveis. Verificam-se na literatura três iniciativas que descrevem a utilização de ontologias para apoiar aplicações analíticas em BI: SEWASIE [Bergamaschi et al. 2005], BIKM [Cody et al. 2002] e a proposta de Priebe e Pernul (2003). No entanto, essas pesquisas estão focadas basicamente na utilização de ontologias para relacionar documentos aos dados dos data marts. Esses documentos são recuperados à medida que o usuário utiliza ferramentas analíticas específicas. Nenhuma dessas iniciativas aplica as ontologias para apoiar na navegação sobre os repositórios de dados e para suportar as funcionalidades exploratórias das ferramentas OLAP (como no suporte para operações de drill ou slice utilizando regras ou relações dos conceitos do negócio). De fato, pouca ênfase é dada na academia e na indústria de software sobre a aplicação de ontologias para utilização do conhecimento do negócio no suporte ao processamento analítico. Deve-se investigar como a semântica do negócio pode ser capturada, integrada a arquiteturas de BI e processada pelas aplicações analíticas de forma a oferecer acesso transparente a fontes de dados e funcionalidades exploratórias que sejam guiadas por essa representação semântica. 3. Epistemologia do ISQueryManager O framework ISQueryManager aplica um conjunto de ontologias para descrever o conteúdo das fontes de informação de interesse ao tomador de decisão. O objetivo dessa descrição semântica é tornar transparente às ferramentas de apoio à decisão a forma com que os dados estão organizados e em que local estão mantidos. A Figura 1 a seguir 282

ilustra os principais conceitos reunidos na ontologia do framework. A ontologia conta com versões representadas nos formalismos OCML [Motta 1999], RDF [W3C 1999] e em XML [W3C 1996]. A escolha do formalismo depende da performance requerida pela aplicação. O formalismo XML é o mais simples, com baixa semântica, portanto mais rápido em processar. Figura 1. Visão geral dos principais construtores reunidos na ontologia. Os conceitos reunidos na ontologia descrevem as fontes de dados através de diferentes níveis de abstração, divididos em Unidade de Análise, Unidade de Conteúdo e Unidade de Agrupamento e de filtro. Essa forma de representação é fruto de uma metodologia de desenvolvimento para concepção de ferramentas de apoio à decisão e que foi aplicada em vários projetos de governo eletrônico. Essa metodologia é apresentada em detalhes em Gonzaga (2005). As Unidades de Análise (UA) correspondem aos principais temas de interesse de uma organização ou grupo de usuários e podem estar associadas a um ou vários cubos de dados. As UA possuem três principais objetivos: (1) permitir analisar e compreender um assunto; (2) levantar ou confirmar hipóteses sobre o assunto; e (3) auxiliar no processo de tomada de decisões no que diz respeito ao assunto em questão. São representadas pelo conceito Analysis-Unit na ontologia do framework. Cada UA reúne um grupo de Unidades de Conteúdo, as quais na ontologia são representadas pelo conceito Measures. As Unidades de Conteúdo correspondem às informações a serem visualizadas e à forma como essas informações serão processadas para apresentação quando da exploração de uma UA, constituindo desse modo insumo para apoiar, por exemplo, a produção de indicadores. As UA podem ser exploradas sob diferentes perspectivas, a partir de diferentes níveis de detalhe. Para tanto, Unidades de Filtro são descritas visando identificar dimensões conceituais associadas ao tema de análise e ao desdobramento dos conceitos 283

dessas dimensões em níveis hierárquicos. As Unidades de Filtro são representadas pelos conceitos Dimension, Hierarchy, Level e Property. A Tabela 1 a seguir descreve de forma mais detalhada os principais conceitos reunidos na ontologia. Conceito Analysis-Unit Measure Property Filter Dimension Dimension-Usage Collection Collection-Join Collection-Usage Detail Property-Usage Hierarchy Level Tabela 1. Descrição dos principais conceitos reunidos na ontologia Descrição Representa uma Unidade de Análise (tema). Descreve informações como a classificação e a forma de apresentação gráfica do tema da Unidade de Análise, a lista de Unidades de Filtro (Dimension-Usage) e as Unidades de Conteúdo (Measures) relacionadas, além de informações sobre privilégios de acesso referentes às informações reunidas na Unidade de Análise. Representa uma Unidade de Conteúdo. Corresponde à propriedade (Property) e à descrição de operações de transformação a serem aplicadas sobre a propriedade. Representa uma unidade básica de informação a ser utilizada como Unidade de Medida ou Unidade de Filtro. Pode corresponder a um campo de tabela de um banco de dados, um elemento de arquivo XML ou uma entidade extraída de textos e outras fontes não estruturadas. Representa os filtros aplicados em uma determinada exploração efetuada sobre uma Unidade de Análise. Identifica a propriedade e as restrições aplicadas sobre ela. Identifica as dimensões pelas quais uma Unidade de Análise pode ser analisada. Pode compreender várias hierarquias (Hierarchy) e propriedades (Property). Descreve como as dimensões (Dimension) são unidas às Unidades de Análise. Descreve quais propriedades são utilizadas para efetuar junções entre as dimensões. Representa uma coleção em uma determinada fonte de dados. É derivada de conceitos específicos para representar tabelas de banco de dados, documentos XML, Web Services e documentos semi-estruturados. Descreve como uma coleção (Collection) pode ser unida a outra coleção. Identifica quais propriedades são utilizadas e aponta o método para junção de coleções. Caso haja a necessidade de especificar outra coleção como dependente, deve-se fazê-la por meio do Collection-Usage. Descreve a dependência do Collection-Join. Existem casos em que, na união de duas coleções, há a necessidade de uma terceira. Essa coleção dependente é especificada nesse elemento. Descreve como uma Unidade de Análise pode ser apresentada em seu nível atômico, através de uma coleção de instâncias de Property-Usage. Descreve qual propriedade (Property) pode ser utilizada na apresentação de um Detail. Descreve as hierarquias existentes dentro de uma dimensão. Cada hierarquia é constituída de um ou vários Levels. Identifica um nível dentro de uma Hierachy. 4. A Arquitetura do ISQueryManager O framework ISQueryManager é implementado através de um conjunto de classes Java que visam apoiar a manipulação da ontologia apresentada na seção anterior, a formulação de requisições de dados através de um protocolo padrão e o processamento de requisições junto a fontes de dados e Web Services. A arquitetura é ilustrada na Figura 2. 284

Figura 2. Visão geral da arquitetura do ISQueryManager. O OntologyManager é uma classe que permite acessar as definições mantidas na ontologia. Os conceitos representados na ontologia são disponibilizados na forma de JavaBeans através de um conjunto de métodos implementados por essa classe. As definições recuperadas são utilizadas pelas ferramentas-cliente para guiar o tomador de decisão na seleção das informações desejadas. O OntologyManager orienta ainda a recuperação de informações necessárias para a formatação de requisições de dados. O RequestParser é o componente responsável por traduzir as demandas informacionais das ferramentas-cliente em requisições e por encaminhar essas requisições ao QueryManager. As ferramentas-cliente utilizam os métodos ilustrados na Figura 3 para definir a Unidade de Análise (setanalysisunit), as Unidades de Agrupamento (addcolumnheader) e as Unidades de Conteúdo (addmeasure) a serem mostradas, além das Unidades de Filtros (addfilter) a serem aplicadas. A paginação dos dados pode ser solicitada pelos métodos setstartpos (identifica a posição inicial do primeiro registro) e setendpos (define a posição-limite do último registro). O processamento da requisição é acionado por meio do método dorequest. O método close deve ser chamado para liberar os recursos alocados. Figura 3. Representação em UML da classe RequestParser. 285

Na montagem da requisição, o RequestParser complementa as definições fornecidas pela ferramenta-cliente adicionado informações de identificação das coleções de dados associadas a cada Unidade de Análise, Unidade de Filtro, Unidade de Agrupamento e Unidade de Conteúdo. Essas informações são recuperadas da ontologia através do OntologyManager e são utilizadas para formar uma requisição XML, denominada RequestMessage, como ilustra a Figura 4. Uma classe homônima é empregada no apoio da montagem e interpretação da mensagem XML. Um exemplo de RequestMessage é apresentado na Figura 5. Figura 4. Fluxo (UML) de operação para montagem de uma RequestMessage. <?xml version="1.0" encoding="iso-8859-1"?> <rm au-id="1"> <ch id="27" name="ano_producao" cn="fato_producao" schema="extracta"/> <measure id="1" name="tot_bibl_periodico_nac" agg="sum" cn="fato_producao" schema="extracta"/>... <filter id="2000" name="idx_busca" comp="search" value="bioinformática" cn="idx_busca"/> <filter id="5" name="nme_area" comp="=" value="ciência da Computação cn="vw_pessoa_area_atuacao"/> <filter id="5" name="nme_area" comp="=" value="ciência da Informação" cn="vw_pessoa_area_atuacao"/> <join tcp="rdbms" cp="fato_producao" scp="extracta" ccp="seq_id_pessoa" tcs="rdbms" cs="vw_pessoa_area_atuacao" scs="extracta" ccs="seq_id_pessoa"/> <join tcp="rdbms" cp="fato_producao" scp="extracta" ccp="seq_id_pessoa" tcs="rdbms" cs="dim_pessoa" scs="extracta" ccs="seq_id_pessoa"/> <join tcp="rdbms" cp="dim_pessoa" scp="extracta" ccp="nro_id_pessoa" tcs="text" cs="idx_busca" ccs="key"/> </rm> Figura 5. Exemplo de mensagem gerada pela requisição do RequestParser. Na Figura 5, é ilustrada uma RequestMessage que corresponde à totalização de produções bibliográficas que contenham a palavra Bioinformática, filtrando sua área de conhecimento por Ciências da Computação ou Ciências da Informação, agrupadas pelo ano da publicação. Esse exemplo de análise necessita de acesso a dois repositórios distintos, um textual e outro em um RDBMS. Na requisição observam-se os elementos com o atributo id, valor originado da ontologia para identificar cada elemento. O elemento-raiz rm (RequestMessage) possui o atributo au-id, que corresponde ao identificador da Unidade de Análise selecionada. Os elementos ch e measure representam respectivamente as Unidades de Agrupamento e Unidades de 286

Medida a serem retornadas. O atributo id refere-se ao identificador da propriedade, name é relativo ao nome do atributo, cn ao nome da coleção na qual o atributo se encontra e o schema é um atributo específico da coleção RDBMS. Já os elementos measure possuem atributos similares, porém acrescidos do tipo de agregador a ser utilizado ( agg ). Em seguida, as Unidades de Filtros a serem aplicadas, adicionadas do tipo de comparador comp e seu valor de comparação value. Por último, as ligações entre as coleções. Os atributos tcp e tcs representam respectivamente o tipo da primeira coleção e o tipo da segunda coleção. Já os atributos cp (Collection-Primary) e cs (Collection-Secondary) representam os nomes das coleções, enquanto os atributos ccp (Column Collection-Primary) e ccs (Column Collection-Secondary) representam os nomes dos respectivos atributos a serem relacionados. O QueryManager é responsável por repassar a RequestMessage ao DriverManager, e no caso de uma requisição envolvendo múltiplos Drivers, irá se responsabilizar por fazer as chamadas necessárias, retornando apenas os resultados da intersecção dos Drivers. O QueryManager implementa um balanceamento de carga, distribuindo o processamento de requisições junto aos servidores onde os Drivers de processamento de requisições foram instalados. O processamento das requisições é realizado pelos Drivers conectados à arquitetura, os quais são acionados pelo DriverManager conforme o tipo de requisição enviada pelo RequestParser. Cada Driver implementado está registrado no DriverManager. Os Drivers são responsáveis por processar o RequestMessage e retornar as informações num formato padrão utilizando XML e respeitando um schema específico (vide Figura 6). Cada Driver possui a capacidade de receber os resultados do processamento de outros Drivers, de maneira a permitir a intersecção de resultados entre Drivers de diferentes tipos ou pertencentes a repositórios heterogêneos. Observa-se no preenchimento do RequestParser que o sistema desconhece onde estão os repositórios detentores da informação nem como se interligam (junção). As informações da RequestMessage orientam o DriverManager na distribuição das requisições e na intersecção dos resultados. O retorno dos dados (ResultSet) é composto de campos (Fields) e de respectivos tipos (Fieldtype), bem como de linhas de retorno (Row). Cada linha dessas contém a identificação dos atributos e os respectivos valores. Um exemplo de ResultSet baseado na requisição ilustrada na Figura 5 é apresentado na Figura 6. <?xml version="1.0" encoding="utf-8" standalone="yes"?> <DATAPACKET Version="2.0"><METADATA> <FIELDS> <FIELD attrname="ano_producao" fieldtype="string" WIDTH="4"/> <FIELD attrname="tot_bibl_periodico_nac" fieldtype="i4"/> <FIELD attrname="tot_bibl_periodico_int" fieldtype="i4"/> <FIELD attrname="tot_bibl_trabalho" fieldtype="i4"/> <FIELD attrname="tot_bibl_livro" fieldtype="i4"/> <FIELD attrname="tot_bibl_capitulo_livro" fieldtype="i4"/> <FIELD attrname="tot_bibl_resumo_revista" fieldtype="i4"/> <FIELD attrname="tot_bibl_resumo_anais" fieldtype="i4"/> <FIELD attrname="tot_bibl_outros" fieldtype="i4"/> </FIELDS> <PARAMS/></METADATA><ROWDATA> <ROW ANO_PRODUCAO="1981" TOT_BIBL_PERIODICO_NAC="0" TOT_BIBL_PERIODICO_INT="2" TOT_BIBL_TRABALHO="0" TOT_BIBL_LIVRO="0" TOT_BIBL_CAPITULO_LIVRO="0" TOT_BIBL_RESUMO_REVISTA="0" TOT_BIBL_RESUMO_ANAIS="3" TOT_BIBL_OUTROS="0"/>... </ROWDATA></DATAPACKET> Figura 6. Representação em XML do ResultSet. 287

Cada Driver deve implementar a interface IDriver, ilustrada na Figura 7, responsável por definir os métodos básicos para troca de mensagens com o DriverManager e o QueryManager. O DriverManager suporta inúmeros Drivers, e para cada tipo de repositório implementa-se um ou vários Drivers. No Driver textual, utilizou-se o apoio de um conjunto de algoritmos para indexação e recuperação de dados [Beppler et al. 2005], enquanto no Driver RDBMS foram utilizados Drivers JDBC para acessar bancos relacionais. Os Drivers são utilizados pelo QueryManager (QM) da seguinte maneira: 1) QM solicita ao DriverManager qual Driver processa a requisição atual por meio do método gettype, verificando se o tipo da requisição é igual ao tipo do Driver; 2) QM invoca o método setxml com o conteúdo do RequestMessage; 3) QM invoca o método execute, responsável por processar a solicitação; 4) QM solicita o retorno dos dados (ResultSet) pelo método getxml; 5) QM invoca getdatapacket retornando o objeto DataPacket responsável por ler/escrever XML, respeitando o formato do ResultSet; 6) QM solicita o filtro pelo método setfilter, responsável por filtrar os registros atuais por outro ResultSet; 7) método close está destinado à liberação dos recursos utilizados pelo Driver. Os métodos getcount e close estão vinculados ao RequestParser. O getcount é responsável por retornar o número de registros atual do ResultSet. Os passos 5 e 6 só são executados quando há a necessidade de se realizar a intersecção de resultados. Figura 7. Representação em UML da interface IDriver. 5. ISExtracta Um exemplo de ferramenta de apoio à decisão suportada pelo ISQueryManager Nesta seção apresenta-se uma ferramenta Web denominada ISExtracta, a qual possui características analíticas que ilustram a aplicação do framework ISQueryManager no contexto da gestão da ciência & tecnologia. O objetivo do ISExtracta é guiar o tomador de decisão no processo de localização e combinação de dados para produzir indicadores e extrair conhecimento a partir de repositórios mantidos na organização ou acessíveis através da Web. Para ilustrar a aplicação do ISExtracta, configurou-se a ontologia do framework com vistas a representar o conteúdo armazenado em um data warehouse que mantém informações curriculares sobre 3.605 pesquisadores de uma instituição de ensino. Além do data warehouse, foram utilizados os arquivos em formato XML, os quais correspondem aos currículos detalhados desses pesquisadores. As Unidades de Análise dizem respeito a visões lógicas sobre as tabelas de fato e sobre os arquivos XML. Essas coleções reúnem dados sobre produções científicas e tecnológicas, além de informações 288

sobre orientações acadêmicas e projetos de pesquisa. Os agrupamentos e filtros identificados indicam informações reunidas nas dimensões do data warehouse e nos próprios currículos detalhados. No estudo, além do Driver RDBMS utilizado para conectar na base do data warehouse, também foi utilizado um Driver textual que permite o acesso a um índice constituído a partir dos currículos XML. A indexação e a busca desses dados foram desenvolvidas a partir dos componentes descritos em Beppler et al. (2005). O ambiente utilizado para testes do ISExtracta e dos módulos do ISQueryManager é composto de um servidor Web com dois processadores Pentium 4 2.8 Ghz, 1 GB de RAM e de um servidor de banco de dados Oracle com a mesma configuração no qual são executados os serviços de indexação.. O ISExtracta foi desenvolvido de forma a introduzir gradualmente o usuário às fontes de dados disponíveis. Para tanto, a ferramenta aplica a representação semântica das fontes de dados para estruturar um wizard que permite guiar o usuário por uma seqüência de passos até o conjunto de informações almejadas. No primeiro passo do wizard, o usuário pode selecionar uma análise na lista de análises previamente definidas ou criar uma nova análise. No passo 2, é realizada uma requisição ao OntologyManager para apresentar ao usuário todas as Unidades de Análise definidas na ontologia, como ilustrado no item A da Figura 8. Um fragmento da ontologia correspondente à descrição de uma Unidade de Análise é apresentado no item B da Figura 8. Figura 8. Passo 2: Representação gráfica das Unidades de Análise. Após a seleção da Unidade de Análise (neste exemplo assume-se a unidade produções bibliográficas ), o usuário avança para o passo 3, conforme ilustra a Figura 9. Os agrupamentos e filtros correspondentes à Unidade de Análise selecionada são retornados pelo OntologyManager, como ilustra o item A da Figura 9. Os agrupamentos 289

representam as hierarquias conceituais do assunto selecionado, nas quais o usuário pode explorar os temas de análise de acordo com o nível de detalhe desejado. O item B da Figura 9 ilustra os componentes envolvidos na geração da RequestMessage bem como um fragmento da mensagem gerada após a seleção dos agrupadores área de atuação e ano de produção. A área de atuação no exemplo ilustrado foi filtrada pelo valor ciência da computação ou ciência da informação. No exemplo aplicou-se ainda um filtro textual, o qual descreve que deverão ser contabilizadas somente as produções que possuam o termo bioinformática. Após a escolha dos agrupamentos e de seus respectivos filtros, o usuário visualiza o resultado da análise, como ilustra a Figura 10. Os resultados apresentados descrevem o total de produções bibliográficas distribuídas por ano que possuam o termo bioinformática informado em suas descrições e cujos autores atuem nas áreas ciência da computação ou ciência da informação. Uma requisição é montada através do RequestParser, e o resultado do processamento dos Drivers é retornado por meio de um arquivo XML contendo os dados resultantes do processamento. O resultado apresentado para o usuário reflete as Unidades de Conteúdo definidas para a Unidade de Análise selecionada, além dos agrupamentos e filtros definidos no terceiro passo do wizard. Figura 9. Passo 3: Definição de agrupamentos e filtros para o tema selecionado. 290

Figura 10. Passo 4: Apresentação do resultado da análise. O processo completo de definição e processamento de análises é ilustrado na Figura 11 a seguir. 6. Discussão Figura 11. Fluxo (UML) de operação básico para montagem do sistema. A vitrine de uma solução de BI é a área de apresentação. Através das ferramentas disponibilizadas nessa área, os usuários da organização poderão explorar os dados 291

integrados no data warehouse. Entretanto, soluções de BI carecem de suporte para a representação dos conceitos e da lógica do negócio, e de poder de inferência sobre essa descrição semântica para apoiar operações analíticas. Essa deficiência é decorrente da maneira pela qual as soluções de BI são concebidas. O conhecimento sobre o negócio é obtido pelos arquitetos de BI durante a etapa de concepção da solução e abstraído na forma de tabelas no data warehouse e na codificação das rotinas de ETL. Essa visão do negócio é então apresentada aos usuários da solução por meio de cubos de dados. Os usuários muitas vezes não conseguem compreender qual a relação desses cubos com os conceitos do negócio e acabam abandonando a solução por não conseguirem satisfazer as suas necessidades analíticas, engrossando as estatísticas de fracasso desse tipo de projeto [Gartner Group 2004]. As funcionalidades exploratórias nas soluções de BI comerciais ou open source normalmente são suportadas por metadados proprietários, os q uais se limitam em descrever sintaticamente as fontes de informação, possuindo participação reduzida na execução das ferramentas. Essa abordagem restringe as possibilidades de assistência ao usuário no momento da exploração. O processo de análise normalmente é dependente dos insights do tomador de decisão bem como do seu conhecimento sobre o modelo de dados e sobre as funcionalidades da ferramenta analítica. Verifica-se que existe um nicho a ser explorado por uma nova linha de pesquisa, a do desenvolvimento de soluções de BI baseadas em conhecimento do negócio para o suporte do processamento analítico. As iniciativas relacionadas não buscam suportar a criação de aplicações analíticas flexíveis orientadas à lógica do negócio e que possam apoiar o decisor na exploração do seu negócio. Esta pesquisa aponta novas maneiras para a resolução de problemas clássicos no contexto de soluções de BI. Tecnologias semânticas são aplicadas em domínios variados, mas a sua aplicação no contexto de soluções de BI está restrita quase que exclusivamente ao suporte de integração de dados. Conforme descrito anteriormente, são verificadas três referências do uso de ontologias em aplicações analíticas. Entretanto, essas pesquisas visam basicamente suportar a recomendação de documentos relacionados a um cubo ou a anotação de cubos para recuperá-los em sistemas de buscas integrados. Não existem referências na literatura nos moldes da solução proposta. O framework apresentado propõe-se a contribuir para a resolução desses problemas através de uma abordagem baseada em ontologias, em um protocolo para requisições, e de um conjunto de componentes desenvolvidos em Java. A abordagem utilizada busca propiciar maior flexibilidade para adição de novas fontes de dados e para configuração das ferramentas de suporte à decisão. Novos Drivers podem ser embutidos na arquitetura para tratar outros tipos de repositórios de dados. Na implementação corrente, disponibilizam-se Drivers para processamento de requisições sobre banco de dados, documentos semi-estruturados e textos não estruturados. O Driver RDBMS permite conexão com banco de dados por JDBC e sobre dados semi-estruturados ou não estruturados, a partir de um conjunto de algoritmos para extração de entidades de textos livres ou da indexação de dados semi-estruturados, são acessados pelo Driver textual. O suporte à indexação e à extração de entidades é provido dos componentes descritos em Beppler et al. (2005). Fontes de dados externas podem ser acopladas à arquitetura através de um ou vários Drivers Web Service. A anotação do conteúdo disponível por qualquer tipo de fonte de dados é feita utilizando-se os mesmos 292

conceitos da ontologia do framework (i.e., através de Unidades de Análise, Unidades de Conteúdo e Unidades de Filtro). O framework desenvolvido não onerou a performance do processamento das consultas. Entre a montagem da mensagem e do ResultSet e as junções dos resultados adicionam-se frações de segundo aos tempos de processamento das consultas sobre os repositórios de dados. A análise demonstrada na seção 5 levou cerca de 30ms para ser processada no banco relacional e 350ms sobre os índices textuais. No exemplo citado, o tempo adicional de processamento foi de apenas 3ms. 7. Conclusão Os desenvolvimentos nas áreas da engenharia do conhecimento e de tecnologias correlatas, tais como ontologias, oferecem o potencial para a criação de novas alternativas de exploração das fontes de dados para a formação de conhecimento útil ao processo decisório nas organizações. O framework apresentado neste artigo incorpora várias características que o distinguem das soluções de BI existentes e de pesquisas relacionadas. Esta pesquisa busca a criação de uma solução abrangente para integrar a semântica do negócio e as fontes de dados e serviços, com vistas a suportar o processamento analítico de apoio à decisão. A arquitetura proposta demonstrou, através de um estudo de caso, ser uma alternativa viável para a construção de soluções de BI mais flexíveis e alinhadas à lógica do negócio. Resumidamente, as seguintes características foram possibilitadas pela arquitetura: a informação é apresentada aos usuários utilizando os seus próprios vocabulários e oferece visões lógicas que facilitam a localização das informações e a compreensão do seu significado; a definição dos conceitos do negócio é utilizada para apresentar aos usuários as fontes de dados estruturadas e não estruturadas disponíveis na organização ou remotamente; dados estruturados e não estruturados podem ser combinados em uma mesma análise; as definições do conhecimento e das regras de negócio podem ser alteradas a qualquer momento, proporcionando maior flexibilidade para mudanças nas ferramentas de apoio à decisão. Os próximos passos compreendem a utilização das informações sobre o contexto das análises e do perfil do usuário para apoiar um processo de recomendação de recursos durante o processo decisório, tais como informações e serviços. Referências Beppler, F. D., Todesco, J. L., Gonçalves, A. L., Sell, D., Morales, A. B. T. and Pacheco, R. C. S. (2005) Uma Arquitetura para Recuperação de Informação Aplicada ao Processo de Cooperação Universidade-Empresa, In: KM BRASIL, São Paulo. Bergamaschi, S., Quix, C. and Jarke, M. (2005) The SEWASIE EU IST Project, SIG SEMIS Bulletin, vol. 2, n. 1, Feb. 2005. 293

Cody, W. F., Kreulen, J. T., Krishna, V. and Spangler, W. S. (2002) The integration of business intelligence and knowledge management, In IBM Systems Journal, vol. 41, issue 4, pages 697-713. Computerworld. (2004) Top 10 Critical Challenges for BI Success, <http://www.computerworld.com/services/whitepapers/story/0,4793,82630,00.html>, 10 Out. 2004. Fensel, D. (2001) Ontologies: silver bullet for knowledge management and electronic commerce, Berlin, Springer-Verlag. Gartner Group. (2004) DW failures through 2007, http://www.gartner.com/press_releases/asset_12181711.html, 14 Ago. 2004. Gonzaga, T. (2005) Uma metodologia para o desenvolvimento de instrumentos de análise multidimensional da informação em projetos de governo eletrônico voltado ao cidadão, Dissertação (Mestrado em Engenharia de Produção) Universidade Federal de Santa Catarina, Florianópolis. Liebowitz, J. (2005) Where is the "Intelligence" behind Business Intelligence?, BusinessIntelligence.com, http://www.businessintelligence.com/ex/asp/code.128/xe/article.htm, 28 Mar. 2005. Mondrian. (2006) Mondrian Olap Server, http://mondrian.sourceforge.net/, 17 May 2006. Motta, E. (1999) Reusable Components for Knowledge Modelling. Amsterdam, The Netherlands, IOS Press. Priebe, T. and Pernul, G. (2003) Ontology-based integration of OLAP and information retrieval, In: The DEXA 2003 Workshop on Web Semantics, September 2003, Prague, Czech Republic. Sell, D., Cabral, L., Motta, E., Domingue, J. and Pacheco, R. (2005) Adding Semantics to Business Intelligence, In: 16th International Workshop on Database and Expert Systems Applications, Denmark, IEEE Compute Society Press. XMLA. (2004) XML for Analysis, http://www.xmla.org/, 23 Ago. 2004. W3C. (1996) Extensible Markup Language (XML), http://www.w3.org/xml/, 20 Out. 2003. W3C. (1999) Resource Description Framework (RDF), http://www.w3.org/rdf/, 11 Jan. 2004. 294