AVALIAÇÃO DO FRAMEWORK CONCEITUAL FEDORA COMO REPOSITÓRIO DE PADRÕES DE ANÁLISE PARA UMA INFRAESTRUTURA DE REUSO DE ARTEFATOS COMPUTACIONAIS

Tamanho: px
Começar a partir da página:

Download "AVALIAÇÃO DO FRAMEWORK CONCEITUAL FEDORA COMO REPOSITÓRIO DE PADRÕES DE ANÁLISE PARA UMA INFRAESTRUTURA DE REUSO DE ARTEFATOS COMPUTACIONAIS"

Transcrição

1 GLAUBER LUIZ DA SILVA COSTA AVALIAÇÃO DO FRAMEWORK CONCEITUAL FEDORA COMO REPOSITÓRIO DE PADRÕES DE ANÁLISE PARA UMA INFRAESTRUTURA DE REUSO DE ARTEFATOS COMPUTACIONAIS Dissertação apresentada à Universidade Federal de Viçosa, como parte das exigências do Programa de Pós-Graduação em Ciência da Computação, para obtenção do título de Magister Scientiae. VIÇOSA MINAS GERAIS - BRASIL 2013

2

3

4 Dedico este trabalho a todos que acreditam que os limites só existem para deixar a vida mais emocionante. ii

5 AGRADECIMENTOS Ao longo desses anos e mais de 25 mil km rodados como estudante de mestrado foram vários os obstáculos que só foram superados com o apoio das muitas pessoas que torceram por mim e me incentivaram. Citar a todos e as circunstâncias em que foram atuantes nessa caminhada me levaria a escrever um texto tão grande quanto esta dissertação. Porém, ainda que corra o grande risco de cometer injustiça com alguma dessas pessoas, me arrisco a agradecer nominalmente a estes que se tornaram mestres comigo. A Deus, todo poderoso, por ter me concedido tudo o que precisei para cumprir mais esta etapa em minha vida. Sr. Ozeias e D. Maria. Meus primeiros professores. Meus mais sábios professores. Meus maiores incentivadores. Meus pais. Aqueles que primeiramente me mostraram que meu único limite são as barreiras físicas às quais todos estão sujeitos e que essas barreiras podem ser intransponíveis a quem as enxerga como tal ou podem ser encaradas apenas como uma forma de fazer com que outro ser humano se sinta bem por poder ajudar a superar. Dizer obrigado é pouco. Cleyder, meu irmão. Meu primeiro amigo. Pai do João Victor. Nunca mediu esforços para que eu chegasse onde cheguei. Não raras foram as vezes que abriu mão de seu próprio conforto em detrimento de minhas necessidades A começar do colo da mãe, ao qual teve que abdicar muito cedo, ainda que fosse o caçula. Dizer obrigado é pouco. Aos amigos de quem me ausentei. Os verdadeiros continuam sempre do meu lado e sei que a distância não alterou em nada nossa amizade. Dizer obrigado é pouco. Aos professores e colegas do Departamento de Informática da Universidade Federal de Viçosa. A experiência que obtive ao compartilhar esses anos com todos é inestimável. Aos amigos que conheci durante o curso Ronney, Alexandre, Dangelo, Lucas e Wellington Ribeiro e às antigas amigas que reencontrei na UFV Luciana e Simone. Dizer obrigado é pouco. Ao meu orientador, Jugurta. O mestre por excelência. Profissionalmente um espelho do professor que um dia pretendo ser. Agradeço às inúmeras vezes que esteve ao meu lado, direcionando, sendo paciente e sendo paciente de novo. Dizer obrigado é pouco. Ao grande amor da minha vida, Eliséia. Meu sustentáculo. Minha inspiração. Há iii

6 alguns anos atrás uma conversa que tivemos mudou os rumos da minha vida, me fez ter atitudes diferentes, me fez crer muito mais em mim e vai sempre ser fonte de inspiração. Foram muitas as minhas ausências, foram muitas as noites e fins de semana que abriu mão de sua vida pessoal e apesar de tudo isso sua torcida por mim sempre aumentou. Dizer obrigado é pouco. iv

7 SUMÁRIO ÍNDICE DE TABELAS... vii ÍNDICE DE FIGURAS... viii LISTA DE ABREVIATURAS... ix RESUMO... xi ABSTRACT... xiii 1. INTRODUÇÃO O problema e sua importância Objetivos Metodologia REVISÃO BIBLIOGRÁFICA Padrões e suas aplicações na computação Contextualização histórica de padrões O uso de padrões na computação Padrões de análise APRI Padrões de Metadados Repositórios de dados Serviços Web ANÁLISE DE CANDIDATOS A COMPONENTES DO REPOSITÓRIO DE PADRÕES DE ANÁLISE O Modelo Open Archive Information Systems (OAIS) O ambiente A informação Aspectos estruturais e de interoperabilidade Ambientes de desenvolvimento de repositórios de dados Conclusão FEDORA v

8 4.1. Contextualização histórica do Fedora Estrutura do Fedora Objetos Digitais O Digital Object Identifier Datastreams Relacionamentos entre objetos no Fedora A Arquitetura de Modelo de Conteúdo Servidor de repositório do Fedora Conclusão ARQUITETURA PARA UM PORTAL DE ACESSO A APRI Descrição da arquitetura Componentes da arquitetura Islandora Drupal Componentes de busca Conclusão VIABILIZAÇÃO TECNOLÓGICA DA APRI: UMA VISÃO GERAL Modelo de Conteúdo para o DC2AP Interação com o sistema Conclusão CONCLUSÕES REFERÊNCIAS BIBLIOGRÁFICAS vi

9 ÍNDICE DE TABELAS TABELA 1 - ELEMENTOS SIMPLES DO DUBLIN CORE...17 TABELA 2 - ELEMENTOS QUALIFICADOS DO DUBLIN CORE...18 vii

10 ÍNDICE DE FIGURAS FIGURA 1 - APLICAÇÃO DOS PADRÕES ÀS FASES DE DESENVOLVIMENTO DE SOFTWARE... 9 FIGURA 2 - ESCOPO DE APLICAÇÃO DE PADRÃO DE ANÁLISE... 9 FIGURA 3 - ARQUITETURA DA APRI FIGURA 4 - MODELO DE AMBIENTE DE UM OAIS FIGURA 5 - OBTENÇÃO DE INFORMAÇÃO SIGNIFICATIVA DE DADOS FIGURA 6 - RELACIONAMENTO ENTRE OS COMPONENTES DO PACOTE DE INFORMAÇÃO FIGURA 7 - ENTIDADES FUNCIONAIS DOS OAIS FIGURA 8 - MODELO UML DE UM OBJETO DE INFORMAÇÃO FIGURA 9 MODELO DE DADOS DE OBJETOS DIGITAIS DO FEDORA FIGURA 10 - PERSPECTIVA DE ACESSO DE UM OBJETO DIGITAL FIGURA 11 - RELACIONAMENTO ENTRE OS TIPOS FUNDAMENTAIS DO FEDORA NA CMA FIGURA 12 INTERAÇÃO CLIENTE/WEB SERVICES FIGURA 13 - ARQUITETURA DA SOLUÇÃO DE INTEGRAÇÃO ENTRE FEDORA, DRUPAL PARA REALIZAÇÃO DA APRI FIGURA 14 - A ARQUITETURA DA SOLUÇÃO FIGURA 15 - GRAFO RDF FIGURA 16 - CONSTRUTOR DE FORMULÁRIO FIGURA 17 - XML DE DESCRIÇÃO DO FORMULÁRIO FIGURA 18 - TELA DE PREVISÃO DO FORMULÁRIO viii

11 LISTA DE ABREVIATURAS AIP API APRI BPEL4WS CCDS CMA CModel DARPA DC2AP DCMI DIP FAO Fedora FOXML GPL HTML IDE NFS OAI-PMH OAIS PDI PID PURL RDF SDef SDep SDI SIG SIP SOA SOAP SOC Archival Information Package Application Programming Interface Analisys Patterns Reuse Infrastructure Business Process Execution Language for Web Services The Consultative Commite for Space Data Systems Content Model Architecture Content Model Defense Advanced Research Project Agency Dublin Core to Analisys Patterns Dublin Core Metadata Initiative Dissemination Information Package Food and Agriculture Organization Flexible Extensible Digital Object Architecture Fedora Object XML General Public License Hypertext Markup Language Infraestrutura de Dados Espaciais National Science Foundation Open Archives Initiative/Protocol for Metadata Harvesting Open Archival Information Systems Preservation Description Information Persistent Identifier Persistent-URL Resource Description Framework Service Definition Objetct Service Deployment Object Spatial Data Infraestructure Sistema de Informações geográficas Submission Information Package Service Oriented Architecture Simple Object Access Protocol Service Oriented Computing ix

12 UML URI URL W3C WSDL XMI XML Uniform Modeling Language Universal Resource Identificator Universal Resource Locator World Wide Web Consortium Web Service Description Language XML Metadata Interchange extensible Markup Language x

13 RESUMO COSTA, Glauber Luiz da Silva, M.Sc., Universidade Federal de Viçosa, julho de Avaliação do framework conceitual Fedora como repositório de padrões de análise para uma infraestrutura de reuso de artefatos computacionais. Orientador: Jugurta Lisboa Filho. Coorientador: José Luís Braga. Padrão de análise é um importante instrumento no processo de desenvolvimento de software, contribuindo fortemente para o aumento da qualidade do produto final e na redução dos custos de produção. O principal benefício que se pode extrair deste tipo de padrão é o conhecimento estruturado que ele disponibiliza com relação à solução de problemas recorrentes em diversos contextos. A baixa disseminação dos padrões de análise se deve a fatores como a grande variedade de formatos nos quais estão disponibilizados. Em geral estes padrões estão documentados em livros, artigos e outros artefatos físicos ou eletrônicos que tornam difícil o seu compartilhamento. Uma abordagem utilizada para superar este problema é o uso de infraestruturas informacionais que garantam a implementação de ambientes de preservação e disseminação de conteúdo digital que utilizam estruturas de organização da informação. As infraestruturas informacionais são arcabouços compostos por diversos elementos como metadados, protocolos de comunicação e ambientes computacionais orientados a serviços. Estes elementos atuam para que se garanta a coleta, preservação, documentação, acesso, disseminação e intercâmbio dos dados da infraestrutura. A Infraestrutura de Reuso de Padrões de Análise (APRI) propõe uma abordagem que possibilita a documentação, armazenamento, intercâmbio e disseminação dos padrões de análise por meio de um repositório de padrões de análise, os quais são documentados por meio de um perfil de aplicação do padrão de metadados Dublin Core, denominado DC2AP, que pode ser acessado via serviços Web. Este trabalho analisou diferentes alternativas para viabilizar tecnologicamente a APRI e apontou uma arquitetura em três camadas para fornecer acesso aos padrões de análise tanto para usuários humanos como para consumidores de serviços Web. Esta infraestrutura tem como camada base o framework de gerenciamento de repositório de metadados Fedora. Na camada intermediária está o framework de integração chamado Islandora, que se interliga ao Sistema de Gerenciamento de Conteúdo Drupal, o qual fornece a interface gráfica de xi

14 acesso aos padrões de análise. Para testar a viabilidade da arquitetura foi implementado um protótipo que possibilita o registro e a recuperação de padrões de análise utilizando a arquitetura proposta. xii

15 ABSTRACT COSTA, Glauber Luiz da Silva, M.Sc., Universidade Federal de Viçosa, July Evaluation of the Fedora conceptual framework as an analysis patterns repository for a computing artifacts reuse infrastructure. Adviser: Jugurta Lisboa Filho. Coadviser: José Luís Braga. Analysis pattern is a very important instrument in the software development process, strongly contributing for the final product quality and in the production costs reduction. The main benefit that can be extracted from this kind of pattern is that it provides structured knowledge regarding the solution of recurring problems in different contexts. The low dissemination of analysis pattern is due to factors such as the variety of formats in which they are available. In general these standards are documented in books, papers and other physical or electronic artifacts that make the sharing process very difficult. An approach to overcome this problem is the use of informational infrastructure that can ensure the implementation of environment preservation and dissemination of digital content that use organizational structures of information. The informational infrastructure frameworks are composed of various elements such as metadata, communication protocols and service oriented computing environments. These elements act to ensure that the harvest, preservation, documentation, access, dissemination and infrastructure s data exchange. The Analysis Pattern Reuse Infrastructure (APRI) proposes an approach which enables the documentation, storage, exchange and dissemination of the analysis patterns by means of an analysis patterns repository, which are documented by an application profile of the Dublin Core metadata standard called DC2AP, which can be accessed via Web services. This study analyzed different alternatives to allow APRI technologically and pointed to a three-tier architecture to provide access to analysis patterns for both human users and Web services consumers. This infrastructure has the management framework Fedora metadata repository as the base layer. In the intermediate layer is the Islandora integration framework, which connects to the Drupal Content Management System, which provides a graphical interface for access to analysis patterns. To test the feasibility of the architecture, a prototype that enables the recording and retrieval of analysis patterns using the proposed architecture was implemented. xiii

16 1. INTRODUÇÃO 1.1. O problema e sua importância Uma prática adotada em diversas áreas do conhecimento humano, entre elas a área de tecnologia da informação, é a possibilidade de se reutilizar ideias ou soluções que obtiveram resultados positivos em situações semelhantes em diferentes contextos. Pesquisas na área de engenharia de software sugerem que esta prática, denominada reuso, tem se mostrado como uma abordagem bastante efetiva na obtenção de resultados positivos no desenvolvimento de software (PURAO et al., 2003). O reuso pode ocorrer tanto pelo reaproveitamento de componentes de software já utilizados previamente em outros projetos quanto pela aplicação de padrões, que são a sistematização e documentação de conhecimentos sobre determinado problema. Exemplos da aplicação de padrões podem ser encontrados nas diversas fases do processo de desenvolvimento de sistemas: padrões de análise, na fase de análise, padrões de projeto na fase de projeto e padrões de código na fase de desenvolvimento (BLAIMER et al., 2010). Padrões, de uma forma geral, apresentam soluções para problemas recorrentes na engenharia de software (PANTOQUILHO et al., 2003) e oferecem como característica mais importante a estruturação de um conhecimento especializado. Esta estruturação possibilita atingir resultados como maior agilidade no desenvolvimento de sistemas, maior flexibilidade destes sistemas e tornar os projetos que utilizam este conhecimento menos suscetíveis a erros (BLAIMER et al., 2010). Os padrões de análise, especificamente, têm um grande potencial para redução dos custos de um projeto por contribuir para a diminuição do número de falhas do software (BLAIMER et al., 2010) uma vez que erros detectados nas fases iniciais do projeto são menos onerosos que aqueles encontrados em suas fases finais (GLASS, 2002). Isto ocorre porque o foco deste padrão está na construção de estruturas conceituais de processos de negócios ao invés de ater-se apenas à implementação do sistema (PANTOQUILHO et al., 2003). 1

17 A utilização de padrões de análise é, portanto, uma abordagem que traz contribuições significativas no sentido de se obter os benefícios da reutilização em seus vários aspectos. No entanto, a utilização de padrões de análise de forma efetiva é limitada por questões como a grande variedade de formatos da sua documentação e a consequente dificuldade em disponibiliza-la adequadamente à comunidade de usuários. Esta barreira é recorrente e áreas como a biblioteconomia e Sistemas de Informações Geográficas (SIG) fazem uso de abordagens que contribuem significativamente para contornar o problema de limitação do acesso a informações sobre suas respectivas áreas de atuação. No campo de estudo de Sistemas de Informação Geográfica, as Infraestruturas de Dados Espaciais (IDE) fornecem um arcabouço para a criação, manutenção e distribuição de dados espaciais em diferentes níveis de organização. Uma das partes fundamentais das IDE é justamente a forma de documentação de dados espaciais, utilizando metadados como forma de tornar as informações disponíveis e intercambiáveis entre sistemas que possuem o mesmo objetivo final (NOGUERAS-ISO et al., 2005). Metadados são dados sobre dados e é através deles que são feitas as documentações tanto dos dados geográficos em si quanto dos serviços que a infraestrutura disponibiliza (NEBERT, 2008). De forma análoga ao que ocorre com os dados espaciais, os padrões de análise podem ser documentados usando-se um padrão de metadados que consiga atender às demandas específicas deste contexto, oferecendo a possibilidade de compartilhamento dos padrões de análise de forma estruturada a grupos de usuários interessados no assunto. Além da documentação consistente e estruturada, o compartilhamento das informações acerca dos padrões de análise depende de como estas ficarão acessíveis a seus potenciais usuários. Uma característica inerente a sistemas de computação que utilizam o paradigma de computação orientada a serviços é a possibilidade de compartilhar o produto de determinado ambiente independente de plataforma ou linguagem de programação por meio de Web Services. Estes são aplicações modulares, auto contidas e auto descritivas que podem ser publicadas, localizadas e invocadas através da Web (BLAIMER et al., 2010). Estes componentes de software permitem 2

18 interações diretas entre agentes de softwares usando trocas de mensagens via protocolos de Internet (FERRIS; FARRELL, 2003). Com o intuito de contribuir para a construção de um ambiente que possibilite a disseminação e consequente evolução dos padrões de análise usando uma abordagem voltada a Web Services, o grupo de Sistemas de Informação do Departamento de Informática da Universidade Federal de Viçosa propôs a criação da APRI (Analysis Patterns Reuse Infrastructure) Infraestrutura de Reuso de Padrões de Análise (VEGI; PEIXOTO; et al., 2012). Esta infraestrutura propõe a criação de um repositório de padrões de análise documentados a partir de um perfil de metadados baseado no padrão Dublin Core, chamado Dublin Core Application Profile to Analysis Patterns (VEGI; LISBOA-FILHO; et al., 2012). Cada elemento proposto no DC2AP é associado a um Universal Resource Identifier (URI) descrito semanticamente como um Resource Description Framework (RDF). Esta abordagem de descrição dos padrões de análise permite a utilização do conceito de Linked Data fornecendo meios de disponibilização de padrões de análise em um ambiente onde dados podem ser processados direta ou indiretamente por máquinas (VEGI et al., 2013) Objetivos A partir da proposta de uma infraestrutura de reuso de padrões de análise que permite documentar, compartilhar e recuperar estes padrões segundo necessidades específicas de cada projeto de desenvolvimento de software, o objetivo geral deste trabalho é disponibilizar um ambiente de gestão de padrões de análise baseado em serviços. Este ambiente deve possibilitar a interação de agentes externos, sejam eles humanos ou outros sistemas computacionais, com os padrões armazenados no repositório de acordo com o perfil de metadados DC2AP por meio de Web Services, tornando possível seu uso para documentação de padrões de análise. A viabilização tecnológica da APRI visa, portanto, fornecer um ambiente onde: O perfil de metadados DC2AP esteja disponível através de Web Services, tornando possível seu uso para documentação de padrões de análise; 3

19 Os padrões de análise documentados estejam disponíveis à comunidade de interessados na área, possibilitando seu uso, disseminação e evolução; A relação entre os padrões de análise e os serviços que permitam sua disseminação, uso e evolução sejam documentadas por meio de RDF tornando possível a recuperação destas informações a partir de Linked Data; A gestão de dados e metadados possa ser efetuada a partir da utilização de Web Services tornando estes repositórios acessíveis aos potenciais usuários por um meio que lhes forneça recursos para fazer uso dos padrões de análise em ambientes diversificados. Os objetivos específicos deste trabalho são: Analisar as ferramentas computacionais capazes de dar suporte tecnológico ao desenvolvimento de repositórios de fins gerais; Mapear os metadados propostos no DC2AP no modelo fornecido pela ferramenta escolhida para viabilizar o repositório de dados; Disponibilizar ambiente de registro dos padrões de análise de acordo com os metadados do DC2AP Metodologia O método de pesquisa utilizado para o desenvolvimento deste trabalho consistiu no levantamento de soluções tecnológicas pré-existentes; na análise destas soluções levando em conta quesitos determinados por normas internacionais e outros critérios que indicam a viabilidade da aplicação da solução escolhida; no mapeamento do perfil de padrão de análise DC2AP de modo a torna-lo aplicável em um ambiente computacional e na criação de um protótipo denominado PANDORA, que viabiliza tecnologicamente as premissas determinadas para a criação da APRI. A análise de soluções tecnológicas visava elencar e definir ferramentas que poderiam contribuir para a criação de um ambiente que possibilitasse o armazenamento, preservação e disseminação de informações sobre padrões de análise. A proposta da APRI de definição de um ambiente de preservação de objetos digitais para 4

20 documentação de padrões de análise que fosse orientado a serviços e fosse capaz de disponibilizar facilidades de acesso a usuários a partir de um portal web. Partindo destas necessidades e de soluções propostas para problemas análogos foram estudados padrões internacionais de modelos como o Open Archives e protocolos como o OAI-PMH que visam, respectivamente, contribuir para o estabelecimento de normas técnicas e organizacionais de estruturas de publicação aberta e o estabelecimento de uma interface de acesso aos metadados fornecendo interoperabilidade e extensibilidade de objetos digitais. Com base nos padrões e protocolos analisados, a escolha da ferramenta mais adequada às necessidades da APRI levou ainda em consideração critérios como modelo de licença sob o qual estão liberadas as soluções, aderência aos protocolos internacionais e adequação às necessidades do próprio projeto da APRI. A ferramenta escolhida foi o Fedora, um framework conceitual capaz de prover um servidor de repositório apto a armazenar qualquer tipo de informação digital. Definida a ferramenta foi criado um protótipo que permitisse mostrar ser possível alcançar as metas de disponibilizar um ambiente para disponibilização de padrões de análise que propiciasse acesso tanto a usuários humanos quanto a outros sistemas computacionais via serviços web. Para a construção de um protótipo que atendesse a estas características foi necessário definir uma arquitetura que permitisse a introdução de um Sistema de Gestão de Conteúdo que se valeu dos web services do Fedora para oferecer uma interface gráfica com o usuário final, uma vez que a interface padrão do Fedora requer compreensão de conceitos específicos do domínio de repositório de dados digitais. 5

21 2. REVISÃO BIBLIOGRÁFICA A disseminação dos padrões de análise e consequente evolução destes padrões requer o uso de técnicas e ferramentas que propiciem a entrega da informação a seu público alvo de maneira ampla, de fácil recuperação e com poucas limitações no que diz respeito ao formato do dado a ser disponibilizado. Este capítulo faz uma introdução aos aspectos que precisam ser considerados para um bom entendimento da solução proposta. Na seção 1 é feita uma definição sobre padrões de análise, traçando um breve histórico e delineando as principais características e objetivos destes no ciclo de desenvolvimento do software e dos seus modelos de representação. A seção 2 apresenta a APRI, uma infraestrutura que propõe o armazenamento dos padrões de análise de maneira que estes se tornem acessíveis tanto para usuários humanos quanto para máquinas. A seção 3 trata de padrões de metadados utilizados para descrever qualquer tipo de objeto e apresenta também o padrão de metadados Dublin Core, usado pela APRI como base para a descrição do seu perfil para descrição de padrões de análise, o DC2AP. A seção 4 apresenta o conceito de repositório de objetos digitais como um arcabouço de métodos, protocolos e tecnologias que propiciam a gestão de dados e metadados acerca de um assunto específico ou de cunho mais particular. A seção 5 apresenta o conceito de Serviços Web que trata de um aspecto importante na promoção da interoperabilidade entre sistemas de repositório de dados e seus clientes, sejam humanos ou máquinas Padrões e suas aplicações na computação Contextualização histórica de padrões É comum, em diversas áreas do conhecimento humano, a ideia da reutilização de conhecimentos adquiridos em experiências anteriores e que tenham surtido efeitos positivos quando aplicados repetidamente. Este conceito denominado padrão, tem como objetivo servir como referência ou modelo para auxiliar na determinação de soluções de problemas análogos em determinado contexto. Coad em seu artigo seminal Object-Oriented Patterns (COAD, 1992) definiu padrão como sendo: Uma forma original plenamente realizada; modelo proposto ou aceito por imitação. Com padrões, 6

22 pequenas partes são padronizadas em grandes partes ou unidades. Padrões se tornam blocos de construção para projetos e construções. Junto a esta definição Coad acrescentou exemplos de aplicação de padrões em áreas distintas como psicologia, arqueologia, linguística, numismática, decoração, construção civil, entre outros. A partir desta premissa afirmou que o uso e aplicação de padrões indica o nível de maturidade de determinado campo do conhecimento humano. Uma das primeiras ações no sentido de formalizar o conhecimento de determinada área como sendo um padrão que pudesse ser reaplicado em vários outros projetos foi desenvolvida por um grupo de arquitetos liderado por Christopher Alexander (ROBERTSON, 2000). No trabalho de Alexander foram catalogados 253 padrões de projeto relacionados com situações comuns no campo da arquitetura. A adaptação da abordagem de padrões elaborada por Alexander para a área da computação aplicou-se inicialmente à reutilização de código, como na analogia proposta por Peter Coad em (COAD, 1992) onde classes e objetos corresponderiam a elementos básicos, através dos quais seria possível criar blocos de construção, que tornariam mais efetivo o trabalho de análise e de projeto de sistema usando padrões. Martin Fowler apresenta sua definição de padrão de análise como sendo uma ideia que foi útil em um contexto prático e provavelmente será útil em outros (FOWLER, 1996). Com este trabalho Fowler tornou-se referência quanto ao uso dos padrões de análise ao apresentar um catálogo com 63 padrões e interligar a aplicação destes com o reuso. Fowler questionou a influência do trabalho de Alexander na computação (FOWLER, 1996) onde propõe que o livro da Gang of Four (Padrões de Projeto de Erich Gamma, Richard, Ralph Johnson e John Vlissides) como sendo responsável por uma influência muito maior em padrões de análise do que os trabalhos de Alexander. Fowler justifica sua afirmativa expondo que três dos quatro autores nem mesmo teriam lido os estudos de Alexander e que estes não seriam amplamente aceitos mesmo na área de arquitetura. Por outro lado, autores como Coad (COAD, 1992) e Robertson (ROBERTSON, 2000) citam o trabalho de Alexander como sendo de vital importância para desenvolvimento de padrões em outras áreas do conhecimento bem como na computação. 7

23 2.1.2 O uso de padrões na computação No ciclo de desenvolvimento de sistemas utilizando o paradigma da orientação a objetos, os padrões são utilizados em suas diversas fases como análise, projeto e implementação. A cada uma destas fases pode-se associar diferentes padrões, que recebem diferentes nomenclaturas como padrões de análise, padrões de projeto, padrões de arquitetura, padrões de código e outros (LISBOA FILHO et al., 2002). A Figura 1 mostra os diferentes padrões associados às respectivas fases do projeto de sistemas onde são aplicáveis bem como os diferentes níveis de abstração relacionados a cada padrão. No processo de desenvolvimento de software, como visto na Figura 1, as fases de análise e levantamento de requisitos consistem em obter uma abstração do problema a ser tratado pelo do software. A fase subsequente é o projeto (design) que, por sua vez é uma abstração do sistema a ser implementado. Nesta fase são definidos aspectos mais concretos como a plataforma para a qual o sistema será projetado, linguagem de programação, armazenamento, etc. É ainda nesta fase que se trata da construção do modelo do software a ser codificado. Na fase final, o modelo é convertido em um programa executável a partir de uma linguagem de programação. Em todas as fases do desenvolvimento de software pode-se encontrar ainda os anti-padrões, conforme ilustra a Figura 1, que são contraexemplos que descrevem comportamentos observados com frequência na prática cujos efeitos negativos podem ser evitados. (BLAIMER et al., 2010). 8

24 Fonte: (BLAIMER et al., 2010) Figura 1 - Aplicação dos padrões às fases de desenvolvimento de software Padrões de análise Padrões de análise têm por finalidade ajudar a entender o problema em si ao invés de apenas ilustrar como são efetivamente modelados (HAMZA, 2002). O escopo de sua aplicação pode ser mostrado através da Figura 2: Fonte: (BLAIMER et al., 2010) Figura 2 - Escopo de aplicação de padrão de análise 9

25 Os padrões de análise são um mecanismo que permitem o reuso de ideias comprovadamente eficazes no desenvolvimento de softwares, à medida que apresentam soluções anteriormente aplicadas para tratar de problemas recorrentes na engenharia de software (PANTOQUILHO et al., 2003). Eles oferecem como característica mais importante, a estruturação de um conhecimento especializado, possibilitando atingir resultados com maior agilidade, flexibilidade e com menor suscetibilidade a erros no desenvolvimento de sistemas (BLAIMER et al., 2010). Os padrões de análise têm um grande potencial para redução dos custos de um projeto por contribuir para a redução do número de falhas do software (BLAIMER et al., 2010) uma vez que erros detectados nas fases iniciais do projeto são menos onerosos que aqueles encontrados em suas fases finais (GLASS, 2002). Isto ocorre porque o foco deste padrão está na construção de estruturas conceituais de processos de negócios ao invés de ater-se apenas à implementação do sistema (PANTOQUILHO et al., 2003). O desenvolvimento de padrões de análise leva em consideração a existência de similaridades entre diversos componentes presentes em projetos com diferentes objetivos finais. A identificação destas similaridades e a formalização de suas principais ideias permite a criação de modelos reaplicáveis em outros contextos. A representação destes modelos foi apresentada em (RIEHLE et al., 1996) como sendo feita em três formas: A forma Alexandriana, baseada na forma de catalogação proposta por Alexander, apresenta-se dividida em 3 partes: problema, contexto e solução. Esta forma de representação de padrão tem como intenção guiar o usuário a encontrar soluções para os problemas descritos; O catálogo de padrões, que propõe a descrição do padrão através de seções, cada qual descrevendo uma característica do padrão. O foco desta forma de representação está mais na descrição do padrão em si e menos na situação em que se deve usá-lo; A forma geral que sugere a descrição do padrão em Contexto e Padrão. A Seção Contexto descreve restrições, o contexto e forças que deram origem ao padrão. A Seção Padrão trata da maneira de se aplicar o padrão em dado contexto. O principal objetivo desta forma de 10

26 apresentação é discutir a estrutura e a dinâmica recorrentes sem se preocupar em especificar uma forma de aplicação específica do padrão. O formato de catálogo de padrões é o mais apropriado para a documentação de padrões voltados para projetos de software usando o paradigma de programação orientada a objetos por permitir uma boa descrição do projeto em si. Porém, características como a descrição da interação padrão/contexto preconizada pela forma geral ou a descrição de como determinado problema pode ser resolvido pela aplicação de um padrão, prevista pela forma Alexandriana, são igualmente importantes para a aplicação adequada dos padrões APRI Apesar dos ganhos com a qualidade do software e redução de custos evitando erros futuros, os padrões de análise parecem ser muito menos adotados pela comunidade de desenvolvedores que padrões de projeto, quando comparadas apenas as quantidades de publicações sobre respectivos assuntos (BLAIMER et al., 2010). Uma das razões que explicaria este baixo interesse por padrões de análise está em sua documentação inadequada. Pouca atenção parece ser dada à forma de representação dos padrões de análise (RIEHLE et al., 1996) e diversos autores apresentam suas próprias soluções para representá-los, por exemplo, com descrições textuais, diagramas de entidade relacionamento, diagrama de fluxo de dados, entre outros (BLAIMER et al., 2010). Este problema impacta negativamente nos resultados que se espera obter com o uso dos padrões de análise: reusabilidade e efetividade (HAMZA; FAYAD, 2002), uma vez que dificulta a sua disseminação para a comunidade de usuários o que, por sua vez, não contribui para a evolução dos atuais padrões de análise existentes e nem para a descoberta de novos padrões. Com o objetivo de tornar os padrões de análise disponíveis a seus potenciais usuários de forma padronizada, legível não apenas por humanos mas também por máquinas, o grupo de Sistemas de Informação da Universidade Federal de Viçosa propôs a criação de uma Infraestrutura de Reuso de Padrões de Análise (Analysis Patterns Reuse Infrastructure) APRI, na sigla em inglês (VEGI; PEIXOTO; et al., 11

27 2012). A ideia da APRI deriva de soluções semelhantes aplicadas em outras áreas de estudo como a de Sistemas de Informação Geográfica denominadas Spatial Data Infrastructure (SDI). O repositório de padrões proposto como sendo um dos componentes da APRI tem por objetivo permitir que os usuários consigam definir qual padrão melhor se adequa ao projeto que pretendem desenvolver, a partir da busca por padrões que atendam às características do projeto. Além disso, favorece o formato de catálogo de padrões um aspecto importante para a contribuição na criação e disseminação de uma cultura do uso de padrões de análise: como possibilita o armazenamento da descrição do padrão de maneira estruturada, este formato facilita a descoberta e compartilhamento de informações a seu respeito usando meios como a Internet. Este papel de comunicação é destacado por Blaimer (BLAIMER et al., 2010) como fator importante no reuso dos padrões: não posso usar o que não encontrei ou aplicar o que encontrei, mas não compreendo. Baseado nos trabalhos de Pantoquilho (PANTOQUILHO et al., 2003) e de Béjar (BÉJAR et al., 2009) que propõem, respectivamente, um template que possibilita a captura de elementos importantes na documentação de um padrão de análise e um estilo arquitetural para SDI que fornece ferramentas e vocabulários para auxiliar arquitetos de sistemas a projetar estas infraestruturas, (VEGI; PEIXOTO; et al., 2012) propõem uma infraestrutura de padrões de análise inspirado em soluções aplicadas na área de SIG. A infraestrutura denominada APRI (Analysis Patterns Reuse Infrastructure), conforme mostrada na Figura 3, preconiza que os padrões de análise devem ser documentados por meio de metadados e podem ser recuperados via Web Services. 12

28 Fonte:(VEGI; PEIXOTO; et al., 2012) Figura 3 - Arquitetura da APRI A documentação dos padrões de análise é feita a partir da adaptação do template de Pantoquilho ao padrão Dublin Core. A partir desta adaptação foi gerado um perfil de documentação de padrões de análise chamado DC2AP (Dublin Core Application Profile to Analysis Patterns). Um perfil descreve como especificações de padrão podem ser implantadas para dar suporte a requisitos de uma comunidade ou aplicação em particular. Na comunidade de metadados o termo perfil de aplicação é utilizado para descrever a geração de padrões para aplicações específicas (NILSSON et al., 2008). Com o objetivo de fazer com que os padrões de análise descritos na APRI sejam utilizados não apenas por usuários humanos, mas também por outros softwares ou serviços, cada elemento proposto pelo DC2AP foi associado com um identificador Universal Resource Identificator - URI e descrito semanticamente através de Resource Description Framework RDF (VEGI et al., 2013). Ao utilizar esta metodologia para descrever os padrões de análise, a APRI disponibiliza seus dados utilizando o conceito de Linked Data. O conceito de Linked Data contrapõe-se à forma de disponibilização de informações da Web utilizada nos dias de hoje ao propor que os recursos e dados 13

29 contenham também significado próprio e possam ser, desta forma, interpretados por outros recursos. Tecnicamente é a disponibilização de dados na Internet de forma tal que seu significado seja explicitamente definido num formato legível por máquina e interligado a conjuntos de dados externos (BIZER et al., 2009). Enquanto na Web atual os documentos são descritos através de HTML, onde as páginas são interligadas através de links, na Linked Data as informações são descritas através de RDF que fornece um modelo de dados genérico baseado em grafos para estruturar e interligar dados que descrevem informações do mundo real. Estes dados são endereçados através de URIs que fornecem uma forma também genérica para identificalos. (BIZER et al., 2009) Padrões de Metadados Existem diferentes formatos de documentação de padrões de análise, muitos deles baseados nos modelos utilizados para a catalogação de padrões de projeto, moldados de acordo com as necessidades e estilos de seus autores (RAMINHOS et al., 2006). A grande variedade de formatos de documentação de padrões de análise não contribui necessariamente para a disseminação de seu uso por estarem disponíveis muitas vezes em formatos legíveis apenas por humanos como artigos científicos e livros. Este fato faz com que padrões assim documentados sejam pouco suscetíveis à detecção por meios eletrônicos como máquinas de busca, o que dificulta sua reutilização. Em diversas áreas do conhecimento humano existe uma situação semelhante que é contornada pela aplicação de metadados como, por exemplo, a de (SIG). Os metadados são usados para documentar os recursos visando não apenas a documentação em si, mas também a possibilidade de se utilizar estes recursos em diversos ambientes e com outros propósitos que não sejam apenas aqueles para os quais foram inicialmente gerados. Metadados são dados sobre dados e fornecem meios de documentação de informações sobre diferentes recursos (um padrão de análise, um item de um mapa, o 14

30 próprio mapa, etc.). Tal documentação possibilita a descrição de conteúdo, qualidade, autoria entre outros aspectos do recurso. Esta caracterização do recurso que está sendo documentado constitui o mecanismo que possibilita usuários e aplicações utilizarem e compartilharem tais recursos ou serviços (NOGUERAS-ISO et al., 2005). O prefixo grego meta significa algo que transcende ao que é natural ou algo que vai além do convencional. A palavra dado deriva do Latim, do verbo dar, e indica algo que se deu sobre o qual se pode deduzir fatos. Dados, no contexto da área de banco de dados pode ser definido como uma informação acerca de algo que tenha um significado intrínseco (ELMASRI & NAVATHE, 2011). A ideia por trás de metadados pode ser tratada como sendo a descrição sistematizada de dados de forma estruturada. Esta descrição é feita por meio da definição de um conjunto de elementos descritivos capazes de representar informações acerca de determinado recurso, como: título, assunto, autor, formato, etc. O fato de as informações acerca dos dados serem estruturadas torna possível, entre outras situações, a disponibilização online da descrição de recursos de forma legível por máquinas. Por recursos pode-se entender desde a descrição de um livro, objetos pessoais e músicas até a forma como estes recursos tornam-se disponíveis na rede (RUHLE et al., 2011). A estruturação dos metadados, conhecido como esquemas ou formatos de metadados, tem como objetivo permitir a descrição de diferentes informações em diferentes contextos (SAYÃO, 2010). Alguns exemplos da diversidade de esquemas de metadados: MARC 21 (Machine-readable cataloguing): esquema de metadados voltados para a área de catalogação bibliográfica; MODS (Metadata Object Description Schema): esquema derivado do MARC 21 mas que pode atender a propósitos gerais; EAD (Encoded Archival Description): voltado para a área de Arquivologia; LOM (Learning Object Metadata): para gerenciar, avaliar e localizar objetos de aprendizagem. 15

31 Estes esquemas de metadados desempenham um importante papel em seus respectivos contextos de aplicação, possibilitando resultados positivos no que diz respeito a interoperabilidade e comunicação das informações por eles abordadas. Foi com base neste sucesso em áreas distintas que surgiu a necessidade de se alcançar resultados semelhantes, porém de forma mais ampla, permitindo a documentação de elementos de contextos diversos usando-se um mesmo esquema. Esta iniciativa deu origem ao esquema, ou padrão Dublin Core. O Dublin Core foi proposto em meados da década de 90 a partir das ideias de um corpo de pesquisadores de diferentes áreas como biblioteconomia, cientistas da informação, museólogos e outros estudiosos da área de gestão do conhecimento, reunidos na cidade de Dublin, no estado americano de Ohio. O foco principal do encontro foi a obtenção do consenso sobre os elementos básicos (o Core) que fossem capazes de descrever recursos de diferentes áreas do conhecimento humano, além da proposição de padrões e protocolos para facilitar a descrição, organização, descoberta e acesso a uma rede de informações sobre recursos (DCMI, 1995). A continuação do desenvolvimento e suas especificações correlatas ficam a cargo da DCMI Dublin Core Metadata Initiative. Diferente dos outros padrões de metadados existentes, o Dublin Core utiliza uma abordagem alternativa uma vez que seu objetivo não é voltado para a descrição de recursos de um domínio específico. O seu conjunto de descritores de dados básicos, formado por apenas 15 elementos, e sua estrutura flexível o tornam adequado para a descrição e descoberta de diferentes tipos de recursos em níveis de complexidade variados (NEBERT, 2008). O Dublin Core utiliza a estratégia de criação de perfis de aplicação para criar padrões de metadados para fins específicos, acrescentando outros elementos aos 15 originais ou mesmo retirando alguns destes elementos básicos quando não contribuem diretamente para a documentação do recurso descrito. Constantes discussões entre duas vertentes de usuários do Dublin Core, os minimalistas e os estruturantes levaram a distinção os elementos do padrão em Simples e Qualificado. Os minimalistas defendem a manutenção fiel ao Core de elementos reduzido e simplificado, enquanto os estruturantes, que apostam em adicionar características que propiciem uma descrição semântica mais refinada (NISO.ORG, 2004). O padrão Dublin Core Simples aborda os 15 elementos originais e o Qualificado 16

32 inclui três novos elementos (Audience, Provenance e RightsHolder) e 4 qualificadores (InstructionalMethod, AccuralMethod, AccuralPeriodicity e AccuralPolicy) com o objetivo de refinar as qualidades semânticas da descrição do recurso, contribuindo para a descoberta do recurso (HILLMANN, 2011). As tabelas a 1 e 2 descrevem, respectivamente os elementos simples e qualificados fornecendo exemplos de como podem ser preenchidos. Alguns dos exemplos de preenchimento do elemento fornecidos podem ter mais de um valor. Fatores como a ordem de apresentação dos elementos, sua obrigatoriedade e repetição são previstos na estruturação do Dublin Core (NISO.ORG, 2004). Tabela 1 - Elementos simples do Dublin Core Elemento Descrição Exemplo Title Guarda o nome dado ao recurso Title= Analysis patterns: reusable object models Subject Description Type Source Relation Expressa o conteúdo do assunto tratado por meio de palavras chave ou códigos de classificação que retratem o recurso. Explica o conteúdo do assunto através de um resumo, sumário, referências gráficas, entre outros dados que auxiliem na compreensão do recurso disponibilizado. Define o tipo de informação que está sendo disponibilizado. Recomenda-se utilizar vocabulários controlados que permitam denotar claramente informações como funções, gêneros, ou níveis de agregação do conteúdo. Uma referência a fonte da qual o recurso se origina Referências ao recurso que está sendo descrito. Estas referências podem ser descritas de forma unidirecional ou bidirecional. Para uma descrição das referências com maior acurácia é aconselhável o uso de elementos qualificados do Dublin Core. 17 Subject = Analysis Patterns Description = Analysis patterns are groups of concepts that represent a common construction in business modeling. It may be relevant to only one domain, or it may span many domains. Type = Physical Object Type = Book Source = RC607.A26W Title = Analysis patterns: reusable object models Relation: An Infrastructure Oriented for Cataloging Services and Reuse of Analysis Patterns O relacionamento utilizado é: IsReferencedBy

33 Coverage A extensão do conteúdo do recurso. Este elemento situa o recurso no tempo e/ou espaço. Creator Identifica a pessoa ou entidade responsável pela criação do conteúdo. Publisher Identifica a pessoa ou entidade responsável pela disponibilização do conteúdo. Contributors Identifica a pessoa ou entidade responsável por contribuir com o conteúdo que está sendo disponibilizado Rights Indica as informações legais Date Format Identifier Language acerca do acesso ao conteúdo. Indica uma data associada a data de criação ou a determinado evento ligado ao ciclo de vida do elemento Indica a manifestação física do recurso. Pode incluir o meio pelo qual o recurso é disponibilizado ou suas dimensões. Uma referência formal, única em relação ao conteúdo. Linguagem na qual foi descrito o conteúdo intelectual do recurso Coverage = 1996 Coverage = Indianapolis Creator = Fowler, Martin Publisher = Costa, Glauber Contributor = Lisboa Filho, Jugurta Rights = Acesso limitado a associados Date = 1996 Date = Date = Type = Physical Object Format = Brochure Identifier = ISBN-10: Language = en-us Tabela 2 - Elementos Qualificados do Dublin Core Elemento Descrição Exemplo Audience Provenance RightsHolder Indica entidades às quais o recurso é direcionado ou a quem pode ser útil Indica mudanças de custódia ou propriedade do recurso. Pode ser utilizado para indicar sucessivas mudanças relativas a propriedade do recurso Indica a pessoa ou organização que detém os direitos sobre o recurso. Audience = Software Developers Provenance = This copy is owned by Glauber Costa RightsHolder = Martin Fowler 18

34 A partir do ano 2000, a comunidade Dublin Core voltou seus esforços para a definição de perfis de aplicação cuja meta era que registros de metadados poderiam ser utilizados juntamente com outros vocabulários especializados para ir ao encontro a requisitos particulares de implementação. Nesta mesma época ocorreu a consolidação de um trabalho da W3C em um modelo genérico de metadados, o Framework de Descrição de Recursos (RDF Resource Description Framework). Como parte de um conjunto estendido de termos de metadados do DCMI, o Dublin Core se tornou um dos vocabulários mais populares para uso do RDF. A consolidação do RDF motivou um esforço de traduzir o estilo de metadados da comunidade Dublin Core em um modelo abstrato DCMI compatível com o RDF. Este modelo foi projetado para interligar o paradigma de Linked Data com um paradigma mais familiar de registros de metadados validáveis como os utilizados no OAI-PMH Open Archives Initiative/Protocol for Metadata Harvesting. O OAI-PMH é um protocolo composto de 6 serviços que podem ser invocados via HTTP que visa incrementar a interoperabilidade no intercâmbio de recursos documentados via metadados. A especificação do Perfil Conjunto de Descrição (DSP Description Set Profile) define uma linguagem para expressar as restrições de forma genérica, independente de aplicação. O DSP permite a expressão de restrições de um perfil de aplicação Dublin Core. O Framework Singapura para perfis de aplicação Dublin Core define o conjunto de componentes úteis para documentação de um perfil de aplicação com o máximo de reutilização. A simplicidade dos elementos que compõem o padrão de metadados Dublin Core aliado à capacidade de descrever estes elementos através de RDF e a definição de restrições estruturais destes elementos fornece um arcabouço importante para a descrição semântica de recursos catalográficos de uso geral. O conjunto destas ferramentas possibilita o surgimento de ambientes favoráveis à disseminação de informações de âmbito irrestrito. 19

35 2.4. Repositórios de dados Os repositórios de dados têm sido reconhecidos como ferramentas críticas para diversas áreas do conhecimento humano como ciência, tecnologia, economia, entre outras, por fornecer meios para armazenar informações e compartilha-las com a comunidade de interessados em determinado assunto. O mapeamento do genoma humano é um exemplo de como o compartilhamento de informações vem ganhando adeptos no meio acadêmico através da disponibilização da troca de dados (MARCIAL; HEMMINGER, 2010). Outro exemplo da aplicação dos repositórios de dados se dá na área de informação geográfica. As SDI fornecem um arcabouço para a criação, manutenção e distribuição de dados espaciais em diferentes níveis de organização.(nogueras-iso et al., 2005) Uma iniciativa pioneira no sentido da criação de um ambiente que propicia a criação e compartilhamento de informações científicas ocorreu no início da década de 90, no Laboratório Nacional de Los Alamos, nos Estados Unidos, onde se construiu e implantou o repositório digital arxiv 1 (OLIVEIRA; CARVALHO, 2011). Este repositório tem como objetivo agilizar o acesso a resultados de pesquisa na forma de artigos ou de relatórios técnicos. Outros exemplos de repositórios semelhantes surgiram e sua diversidade e o crescimento de sua disponibilidade gerou a necessidade da criação de organismos como a Open Archives Initiative (OAI) que contribuiu para o estabelecimento de normas técnicas e organizacionais de estruturas de publicação aberta. Esta iniciativa originou o modelo chamado Open Archives cujo principal objetivo reside em propiciar alto nível de interoperabilidade entre os repositórios. Esta interoperabilidade ocorre através do uso de dois pilares principais: o padrão de metadados Dublin Core e o protocolo de coleta de metadados, denominado OAI-PMH que fornece uma interface que possibilita o acesso às informações. O protocolo OAI-PMH é uma interface de acesso aos metadados 1 Leia-se archive, como se a letra X representasse a letra grega Chi 20

36 fornecendo características como interoperabilidade e extensibilidade, obtidas através do uso do padrão de metadados Dublin Core (OLIVEIRA; CARVALHO, 2011) Serviços Web A computação orientada a serviços (Service Oriented Computing - SOC) é um paradigma de desenvolvimento cujos conceitos, princípios e métodos na qual a computação é realizada por meio de uma arquitetura orientada a serviços (Serviceoriented Architecture SOA). Nessa arquitetura as aplicações são construídas baseadas em componentes de serviços independentes com interfaces padronizadas (TSAI et al., 2006). Os conceitos que compõem o arcabouço da computação orientada a serviços fornecem meios que possibilitam a comunicação entre diferentes aplicações de software, independente da linguagem em que são desenvolvidas, rodando em diversas plataformas ou frameworks através do uso de serviços como elementos fundamentais para o desenvolvimento de aplicações (PAPAZOGLOU; GEORGAKOPOULOS, 2003). Desta forma torna-se possível separar explicitamente a engenharia de software da programação propriamente dita, enfatizando o processo de desenvolvimento mais na primeira em detrimento da segunda (TSAI et al., 2006). O paradigma de Serviços Web oferece meios que possibilitam a interoperabilidade de sistemas heterogêneos acrescentando-lhes flexibilidade e dinamicidade através de aplicações baseadas na Internet (HULL, 2005). Serviços Web são entidades de software autônomas, fracamente acopladas, auto descritivas, independentes de plataforma cujas interfaces e ligações são passíveis de serem definidas, descritas e descobertas como artefatos (FERRIS; FARRELL, 2003). São capazes de efetuar funções que vão desde a resposta a uma requisição simples, como verificar a validade de um determinado documento ou buscar o endereço através do CEP, até a construção de sistemas sofisticados que envolvem vários processos de negócios entre empresas diferentes usando múltiplas camadas de consumidores e usuários de serviços. 21

37 Por utilizar a Web como meio de intercâmbio de mensagens, os Serviços Web transformam as fontes de informação em componentes reutilizáveis para a construção de aplicações mais complexas. A forma de realizar esta troca de mensagens, de maneira que diferentes participantes possam compreendê-las e utilizá-las, é feita através de padrões baseados na Internet, que incluem o Simple Object Access Protocol (SOAP) Protocolo de Acesso a Objetos Simples responsável pela transmissão das informações, a Web Services Description Language (WSDL) Linguagem de Descrição de Serviços Web usada para a definição dos serviços e a Business Process Execution Language for Web Services (BPEL4WS) para a orquestração dos serviços, ou seja, a combinação de dois ou mais serviços com o objetivo de criar outros serviços Web mais sofisticados (PAPAZOGLOU; DUBRAY, 2004). 22

38 3. ANÁLISE DE CANDIDATOS A COMPONENTES DO REPOSITÓRIO DE PADRÕES DE ANÁLISE A reutilização de artefatos computacionais nas fases do desenvolvimento de sistemas computacionais contribuem positivamente para a obtenção de um software de qualidade. Os padrões de análise são um exemplo deste fato, uma vez que sua utilização ocasiona a redução de erros de projeto por fazer uso de soluções comprovadamente eficazes em situações análogas, entre outros benefícios. O desafio a ser contornado é a oferta de uma grande quantidade de formas de documentação destes padrões, o que gera uma dificuldade de fazer com que sejam expostos ao seu público alvo e aplicados de maneira mais consistente. Visando superar este desafio, a APRI propõe uma abordagem do uso de uma infraestrutura que possibilite a documentação, armazenamento, intercâmbio e disseminação dos padrões de análise por meio de um repositório de padrões de análise, documentados a partir de um perfil de metadados, gerenciáveis e acessíveis através de serviços Web. As experiências na superação de desafios semelhantes em áreas de estudo como Sistemas de Informação Geográfica e Biblioteconomia serviram como ponto de partida para a realização deste trabalho. Nestas áreas é constante a aplicação de infraestruturas computacionais que viabilizem o intercâmbio de objetos digitais, tendo repositórios de dados como um de seus componentes chave. Este capítulo descreve os componentes necessários para a realização da APRI. Na subseção 3.1 é descrito um modelo de sistemas de compartilhamento de dados abertos, seus conceitos e modelos de intercâmbio de informação. A subseção 3.2 analisa algumas soluções tecnológicas existentes, sob a ótica dos quesitos que estas soluções devem atender para viabilizar o portal de padrão de análise. Ainda nessa subseção justifica-se a escolha do Fedora como componente da APRI que servirá como disseminador deste artefato computacional para a comunidade interessada na área. A subseção 3.3 faz uma conclusão deste capítulo. 23

39 3.1. O Modelo Open Archive Information Systems (OAIS) Em sua essência, um repositório de dados é um ambiente computacional, em geral um site Web, capaz de armazenar dados e metadados sobre determinado assunto, fornecendo à comunidade de interessados recursos que lhe permitam descrever e gerenciar o objeto nele armazenado, preservar as informações deste objeto por um período indeterminado e torna-las acessíveis a esta comunidade. O padrão de referência do CCDS (The Consultative Commite for Space Data Systems) define estas características em seu modelo de referência para um sistema de informação de arquivos abertos (CCSDS, 2012). O principal objetivo deste modelo é dar conhecimento dos requisitos necessários para a preservação e disponibilização de objetos de informação com os mais variados fins. Entenda-se como objeto de informação os objetos de dados em conjunto com sua representação de informação (CCSDS, 2012). O conhecimento do modelo OAIS, no contexto deste trabalho, fornece as informações necessárias para a especificação de uma arquitetura que permita disponibilizar os componentes de base tecnológica previstos na APRI. Além disso, possibilita uma análise de algumas soluções para construção de um ambiente de preservação e disponibilização de padrões de análise baseada em parâmetros fornecidos por uma Prática Recomendada pela CSDS denominada CSDS M O ambiente O ambiente no qual se insere um OAIS é ilustrado através da Figura 4. 24

40 Fonte: (CCSDS, 2012) Figura 4 - Modelo de ambiente de um OAIS A interação com o ambiente do OAIS é efetuada por três participantes básicos: O Produtor: papel executado por um usuário ou um outro OAIS cuja responsabilidade seja a de fornecer a informação a ser preservada; O Gestor: membro de uma organização que cumpre um papel de responsável por coordenar as políticas internas de um OAIS, que fazem parte de um conjunto mais amplo de políticas que regem o domínio da informação como um todo; O Consumidor: pessoa ou sistema cliente integrante da comunidade de interessados que interage com o OAIS com a finalidade de adquirir informação de seu interesse. Os papéis de Consumidor e Produtor podem ser efetuados por outros OAIS. Um Produtor pode, por exemplo, ser responsável por um determinado objeto de informação que é necessário para compor as informações de um terceiro OAIS. Um Consumidor pode utilizar de um objeto de informação sob a responsabilidade de outro OAIS. A escolha entre coletar toda a informação necessária à representação de uma informação ou delegar parte dela a outro OAIS cabe a cada implementação do ambiente A informação A informação pode ser definida como qualquer tipo de conhecimento compartilhável que é expresso a partir de uma informação estruturada durante o 25

41 compartilhamento (CCSDS, 2012). Para se interpretar esta informação é necessário que o consumidor (usuário humano ou software cliente de serviços) tenha um conhecimento base para interpretar o dado ou que lhe seja fornecido a representação da informação afim de transforma-lo em informação significativa. Conhecimento base é a capacidade de interpretar e inferir valor à informação recebida pelo usuário e a representação da informação são as regras necessárias para compreender a informação que está sendo representada. Assim, um artigo escrito no idioma Português é representado pelas letras dispostas de forma a compor palavras pertencentes ao dicionário deste idioma. Estas palavras devem obedecer a um conjunto de regras gramaticais. Para que conhecimento apresentado pelo artigo seja compreendido adequadamente, o leitor deve ter como conhecimento base a capacidade de compreender o idioma Português, ou seja, deve conhecer o dicionário e a gramática deste idioma. A definição da comunidade de usuários interessados nas informações disponibilizadas pelo OAIS exerce um papel fundamental no processo de definição do ambiente. Se o nível de conhecimento base dos usuários for menos abrangente, o detalhamento de informação da representação deverá ser maior, para que seja possível descrever o dado num nível de abstração compatível com a base de conhecimento do usuário. O contrário também pode ser aplicado, ou seja, numa comunidade de usuários com base de conhecimento elevada exige um nível de detalhamento de representação da informação menos abrangente. Em geral pode ser dito que o dado interpretado usando sua informação da representação gera conhecimento, como ilustra a Figura 5. Fonte: (CCSDS, 2012) Figura 5 - Obtenção de informação significativa de dados Para que um objeto de informação seja preservado adequadamente é de fundamental importância para um OAIS identificar claramente a diferença entre o 26

42 objeto de dados e sua representação informacional. Entretanto, cada submissão de informação efetuada por um Produtor ou cada informação disseminada por um Consumidor ocorre como uma transmissão discreta onde o dado e sua representação são enviados. Desta forma é conveniente a definição de um conceito de pacote de informação (CCSDS, 2012). O pacote de informação é um container conceitual composto de dois tipos de dados, chamados de informação de conteúdo e descrição da informação de preservação (PDI Preservation Description Information). Semanticamente a relação entre os componentes do pacote podem ser interpretados de acordo com o representado na Figura 6. Fonte: (CCSDS, 2012) Figura 6 - Relacionamento entre os componentes do Pacote de Informação A informação de conteúdo são os dados sobre o objeto da informação e a sua descrição, enquanto que o PDI é utilizado para contextualizar e compreender a forma como o objeto de dados foi adquirido, a quem pertence originalmente (caso esta informação seja pertinente), como se relaciona com outros objetos, como referenciá-lo globalmente e seu formato original. 27

43 3.1.3 Aspectos estruturais e de interoperabilidade A especificação do formato do dado e sua descrição são fatores primordiais dentro de um OAIS, porém outros quesitos contribuem fortemente para assegurar que outras características também importantes estejam presentes em sistemas que visam garantir a durabilidade e usabilidade da informação. Assim é preciso garantir ainda que a estruturação da informação forneça meios para inter-relacionar os dados, para lhes incutir significado semântico e para possibilitar o intercâmbio desses dados intra-oais e extra-oais. Estes são os objetivos dos modelos funcional e modelo informacional. O modelo funcional descreve de forma detalhada as relações previstas na seção que trata sobre o ambiente dos OAIS, acrescentando as entidades funcionais e suas interfaces de relacionamento conforme ilustra a Figura 7. A Figura 7 mostra ainda os pacotes de informação relativas a cada tipo de usuário, denotado pelas siglas SIP (Submission Information Package), AIP (Archival Information Package) e DIP (Dissemination Information Package). Fonte: (CCSDS, 2012) Figura 7 - Entidades Funcionais dos OAIS O modelo informacional ajuda a compreender os componentes de dados a serem armazenados e gerenciados pelos OAIS. Este modelo abrange o modelo de dados a ser 28

44 seguido para obter a preservação da informação e os objetos e containers conceituais para a representação do conteúdo, de acordo com a Figura 8. Fonte: (CCSDS, 2012) Figura 8 - Modelo UML de um objeto de informação O diagrama UML mostrado na Figura 8 ilustra o conceito básico do modelo de referência OAIS onde a informação é um conjunto formato pelo dado em si e pela representação da informação. O objeto de informação é formado pela composição de um objeto de dados, físico ou digital e da representação da informação. A representação da informação possui um relacionamento recursivo, indicando que pode ser composta por outras representações de informação, sendo a representação da informação responsável por definir estruturas de informação ou a semântica de um objeto Ambientes de desenvolvimento de repositórios de dados O cenário mundial oferece muitas soluções consolidadas, no que diz respeito a ambientes computacionais que atendam às práticas recomendadas, descritas na seção anterior, pela CSDS M-2. O nível de aderência às especificações estipuladas neste documento varia de solução para solução bem como o nível de flexibilidade na criação dos modelos de dados a serem tratados por cada uma delas. Nesta seção são 29

45 apresentados alguns ambientes que propiciam a implementação da arquitetura proposta para a APRI e define-se a mais adequada segundo os objetivos globais da infraestrutura. O Open Society Institute elaborou um estudo (CROW, 2004) onde é elencado um grupo de sistemas computacionais utilizados na criação de repositórios abertos. A escolha dos sistemas analisados se baseou em 3 critérios fundamentais: 1. Os sistemas devem estar disponíveis sob licença de Open Source; 2. Os sistemas devem ser compatíveis com o protocolo OAI-MPH; 3. Os sistemas devem ter sido usados na implementação de repositórios abertos disponíveis ao público. Os 3 critérios mencionados na pesquisa são compatíveis com a necessidade existente para a implementação do repositório de padrões de análise proposto na APRI. O fato de os sistemas estarem disponíveis sob a GPL (General Public License) contribui, além de outros fatores, para que outras pesquisas possam ser realizadas utilizando o ambiente, podendo alterá-lo e distribuí-lo sem custos referentes à licença de software. A compatibilidade com o protocolo OAI-MPH permite o intercâmbio de dados com outras infraestruturas com o mesmo fim garantindo assim a interoperabilidade com outros ambientes e com a disseminação das informações sobre os padrões de análise. O terceiro critério que trata do uso do ambiente na implementação de outros repositórios contribui positivamente ao mostrar a utilização dos mecanismos de implantação de repositório de dados em situações reais que possam servir de fonte de pesquisa para a solução em implementação. Dos sistemas analisados na pesquisa Archimede, ARNO, CDSware, DSpace, Eprints, Fedora, i Tor, MyCoRe, e OPUS nem todos se mostraram como alternativas viáveis ao trabalho em questão por terem seu foco voltado especificamente para ambientes de documentos eletrônicos, fato que seria um limitador importante na criação do ambiente. Por este motivo as plataformas Archimede, Eprints, CDSware, i-tor, MyCoRe e OPUS foram desconsideradas no restante da análise. A plataforma ARNO, um projeto sob responsabilidade de instituições holandesas como a universidade de Amsterdam, a universidade Tilburg e a universidade de Twente possui características importantes para a implantação do repositório de padrão de análise como, por exemplo, a grande flexibilidade no que diz respeito aos 30

46 objetivos dos repositórios e a adequação aos protocolos da OAI. Porém alguns fatores fizeram com que seu uso fosse considerado pouco adequado ao projeto, a saber: O baixo número de repositórios registrados usando a plataforma, segundo entidades especializadas em registros de repositórios de acesso aberto (http://roar.eprints.org/ e O fato de todos os repositórios criados serem voltados para instituições de pesquisa holandesas; O fato de todos eles serem focados na área de documentação de recursos bibliográficos. As duas plataformas restantes, Fedora e DSpace, são compatíveis com o framework proposto no modelo de referência para um sistema de informações de arquivos abertos OAIS. Ambas as plataformas têm seu desenvolvimento sob a responsabilidade da Duraspace.org, uma instituição sem fins lucrativos voltada para o desenvolvimento de tecnologias direcionadas à preservação de acervos digitais. Tanto o DSpace quanto o Fedora atendem ao quesito de serem compatíveis aos conceitos propostos pela CSDS M-2. O Dspace é fortemente compromissado com os conceitos definidos para a implementação de OAIS e, sempre que possível, adota o modelo e os vocabulários articulados no modelo OAIS para seu projeto e terminologias utilizadas no ambiente (BASS et al., 2002). O Fedora, ao utilizar um repositório com funcionalidades orientadas a serviços e modelo de armazenamento digital, viabiliza o desenvolvimento de ambientes que podem coexistir confortavelmente com o modelo proposto para os OAIS (LAGOZE et al., 2005). Um estudo realizado pela FAO (Food and Agriculture Organization), organismo da Organização das Nações Unidas responsável por políticas mundiais relacionadas a alimentação, foi utilizado como fonte de informação importante para a tomada de decisão com relação ao software a ser utilizado. Neste estudo foram analisados 32 quesitos dos quais 20 eram critérios que deviam ser atendidos obrigatoriamente. Dos 32 quesitos gerais o Fedora obteve melhores resultados em 21 e com relação aos quesitos obrigatórios ficou melhor posicionado em 12 dos 20 (BAGDANOV et al., 2009). 31

47 3.3. Conclusão Para este trabalho o uso do Fedora se mostrou mais pertinente por se mostrar um ambiente mais flexível com relação ao uso de perfis de metadados definidos pelos usuários, além de possuir uma arquitetura que favorece a criação de novas funcionalidades a partir do uso de serviços Web e possuir mecanismos de interoperabilidade compatíveis com protocolos internacionalmente utilizados como o OAI-MPH. O aspecto relativo aos perfis de metadados foi relevante na decisão pela escolha do Fedora uma vez que o uso do perfil de metadados da APRI, o DC2AP, é um importante pilar na infraestrutura por documentar de forma detalhada os padrões de análise. 32

48 4. FEDORA O foco principal da APRI como uma estrutura de armazenamento e disseminação de padrões de análise é oferecer um conjunto de ferramentas que possibilitem aos seus usuários encontrar formas de interagir com os padrões. Esta interação pode ocorrer de duas formas, primeiro por meio do acesso direto às informações básicas dos padrões (objetivos e soluções documentadas no DC2AP), ou por meio de um navegador Web, tendo acesso a estas informações utilizando serviços Web, possibilitando que outros agentes de software façam uso dos padrões para fins diversos. O Fedora (Flexible Extensible Digital Object Architecture) é um framework conceitual que usa um conjunto de abstrações sobre informações digitais para fornecer as bases para sistemas de softwares que podem gerenciar informação digital (STAPLES; SHIN, 2012). O Fedora é capaz de prover um servidor de repositório apto a armazenar qualquer tipo de informação digital como documentos, vídeos, conjunto de dados, imagens e metadados que fornecem a descrição de cada um desses tipos de informações (DAVIS, 2008). Os componentes do Fedora, suas abstrações e modelos de tratamento de informações o tornaram uma escolha viável para a implementação do repositório de dados previsto pela arquitetura da APRI por fornecer características como: Compatibilidade com a terminologia, modelagem da informação e interoperabilidade dos dados determinados pelas normas técnicas estabelecidas para sistemas OAIS; Permitir a auto descrição das informações a partir de metadados, incluindo-se relacionamentos semânticos entre estes dados; Persistência tanto dos metadados quanto dos dados em si através de um repositório; Acesso às informações e suas características por meio de Web Services; 33

49 Integração dos objetos digitais documentados com outros sistemas ou objetos por meio de middlewares que usam estes serviços; É ofertado sob a GPL (Gnu Public License), que garante a possibilidade de utilizar, alterar e disponibilizar o código fonte, garantindo assim que as contribuições feitas ao software sejam disponibilizadas à comunidade. O restante deste capítulo está estruturado da seguinte forma: a subseção 4.1 retrata historicamente a trajetória do Fedora; a subseção 4.2 descreve a estrutura do Fedora introduzindo os principais conceitos do framework como objetos digitais e seus componentes; a subseção 4.3 trata dos relacionamentos entre os objetos digitais dentro do repositório de metadados; a subseção 4.4 fornece os conceitos necessários para o entendimento da arquitetura de modelo de conteúdo visando a criação de objetos que sirvam de molde para a criação de outros objetos; a subseção 4.5 detalha o ambiente do Fedora que permite compreender como ocorre a comunicação entre o Fedora e o ambiente externo; a subseção 4.6 apresenta algumas conclusões do capítulo Contextualização histórica do Fedora O Fedora surgiu como um projeto na Cornell University no ano de 1997 patrocinado pelo DARPA (Defense Advanced Research Project Agency) e pela NFS (National Science Foundation) com o objetivo de implementar repositórios de objetos digitais de diversos setores como bibliotecas, repositórios institucionais e publicação de conteúdo (STAPLES et al., 2003; DAVIS, 2008). Antes disso, um projeto do próprio DARPA lançou as bases para sistemas como o Fedora ao definir as noções inicias de objetos digitais e implementar o Dienst, uma arquitetura de biblioteca de objetos digitais em múltiplos formatos com disseminação de conteúdo baseada em protocolos (LAGOZE et al., 2005). O primeiro projeto de repositório de objetos digitais desenvolvido usando o Fedora foi na Universidade de Virginia em A primeira versão do sistema que visava a construção de um protótipo de uma biblioteca digital foi liberado em maio de 2003 sob a licença GPL (STAPLES et al., 2003). 34

50 Em 2008 foi criada uma corporação sem fins lucrativos para atuar como provedora do desenvolvimento sustentável da plataforma e manter sua missão de construir tecnologias para possibilitar o acesso a informações digitais de forma permanente (DAVIS, 2008). Atualmente o desenvolvimento do Fedora está a cargo da DuraSpace, entidade sem fins lucrativos também responsável por outra plataforma de disponibilização de objetos digitais, o DSPACE Estrutura do Fedora As informações armazenadas no repositório do Fedora, tanto local quanto remotamente, são chamadas de Objetos Digitais e são definidas como instâncias de um modelo de dados que possui 2 componentes básicos: dados e metadados principais. Esses componentes possuem, entre outras informações, um identificador universal e um conjunto de outros metadados. Os objetos se inter-relacionam dentro da infraestrutura e esse relacionamento é expresso por meio de arquivos RDF. Os componentes de um objeto de dados e seus relacionamentos são estruturados a partir da Arquitetura de Modelo de Conteúdo Content Model Architecture (CMA) do Fedora, que descreve uma estrutura integrada para persistência e entrega de características essenciais dos objetos digitais do Fedora Objetos Digitais O modelo de dados de Objetos digitais do Fedora, ilustrado na Figura 9 mostra os componentes padrão de um Objeto Digital. Um objeto digital no repositório descreve o conteúdo (dados e metadados) e serviços a ele aplicáveis. O modelo de objetos digitais é o construtor básico da arquitetura de modelo de conteúdo e outras funcionalidades do Fedora (DAVIS, 2012). 35

51 Fonte: (DAVIS, 2012) Figura 9 Modelo de dados de Objetos Digitais do Fedora Existem quatro tipos distintos de objetos digitais no Fedora que ajudam a definir como o sistema de repositório funciona (DAVIS, 2012): Objeto de dados: usado para representar uma entidade de conteúdo digital. Representa a informação de interesse principal da comunidade de interessados: imagens, livros, conjuntos de dados, textos eletrônicos, entre outros; Objeto de definição de serviços: um Service Definition Objetct SDef é um objeto de controle que armazena a definição de um serviço Web. Permite definir a interface que informa as operações existentes para determinado objeto digital sem especificar como a operação será executada; Objeto de deployment de serviço: um Service Deployment Object SDep é um objeto que controla como o repositório executará a operação descrita em um SDef; Objeto de modelo de conteúdo: um Content Model CModel é um container para um modelo de conteúdo para caracterizar uma classe de objetos digitais. Fornece um modelo de relacionamentos que são permitidos, excluídos ou obrigatórios entre grupos de objetos digitais. Cada componente dentro do Fedora é manipulado por objetos digitais, cada qual contendo seu conjunto de datastreams (STAPLES; SHIN, 2012). 36

52 4.2.2 O Digital Object Identifier O Persistent Identifier PID é o identificador único do objeto dentro do repositório. Para que a disseminação dos objetos digitais ocorra, uma função importante provida pelo repositório é o fornecimento de URL (Universal Resource Locator) persistentes, que visam garantir que seja possível recuperar um objeto ainda que seu endereço Web original seja alterado. O fornecimento de URL persistentes ocorre em duas camadas: a primeira camada é o uso de URI (Universal Resource Identifier), objetos que identificam de forma exclusiva um único objeto digital. Uma segunda camada opcional usada por muitos repositórios é o de um serviço de identificador persistente de terceiros. No caso do Fedora utiliza-se, por padrão, o info scheme (http://info-uri.info/), o que deixa a arquitetura livre para utilizar qualquer sistema de resolução de identificador (LAGOZE et al., 2005) embora existam alternativas, como o sistema Persistent-URL (PURL) que também pode ser utilizado no Fedora. Esses serviços funcionam empregando um nível extra de uma via indireta. A PURL aponta para um domínio de terceiros, que, por sua vez, resolve a URL para a URL do repositório Datastreams Os datastreams são elementos que representam um item de conteúdo em um objeto digital do Fedora. Estes elementos garantem que um mesmo objeto digital pode ser descrito a partir de múltiplas visões da mesma informação (KAHN; WILENSKY, 2006). Desta forma, um objeto criado para descrever, por exemplo, um determinado padrão de análise pode conter tanto seu diagrama de classes quanto seu diagrama de casos de uso, além das outras informações definidas pelo DC2AP. A Figura 10 mostra um esquema de relacionamento de um objeto de dados com as propriedades do objeto e seus respectivos datastreams. O relacionamento entre o objeto e seus datastreams é feito por meio de pontos de acesso capazes de disseminar uma representação do objeto digital. Cada ponto de acesso é identificado por uma URI obedecendo o esquema de URI info do Fedora. 37

53 Fonte: (DAVIS, 2012) Figura 10 - Perspectiva de acesso de um objeto digital Cada datastream possui um identificador dentro do contexto do objeto digital e o Fedora reserva 4 identificadores específicos para datastreams específicos que desempenham papéis de descrição básica do objeto (DC), auditoria (AUDIT) e relacionamentos externos (RELS-EXT) e internos (RELS-INT). O conjunto destes datastreams é chamado de Reserved Datastreams (DAVIS, 2012) Relacionamentos entre objetos no Fedora Os objetos dentro do repositório podem relacionar-se uns com os outros através de metadados de relacionamento de objetos. Existe um conjunto de relacionamentos comuns definidos na ontologia de relacionamentos do Fedora, que fornece um meio genérico de interligar objetos semanticamente por meio de esquemas RDF. É possível ainda que usuários criem suas próprias ontologias entre seus objetos digitais. Utilizando os datastreams reservados RELS-INT e RELS-EXT pode-se criar, respectivamente, relacionamentos entre informações de um mesmo objeto e com outros objetos dentro de um repositório (DAVIS; WILPER, 2011a). Os relacionamentos internos entre os objetos internos e externos são indexados pelo serviço de repositório do Fedora o que permite a criação de um grafo unificado 38

54 entre todos os objetos do repositório, que leva a possibilidade de recuperação desta informação através de consultas usando SPARQL e itql. Estas linguagens de consulta permitem que sejam efetuadas consultas usando sintaxes semelhantes às realizadas por meio da linguagem SQL aplicadas a banco de dados A Arquitetura de Modelo de Conteúdo A arquitetura de modelo de conteúdo Content Model Architecture (CMA) descreve uma estrutura integrada para armazenar e disponibilizar as características essenciais de um objeto digital (DAVIS; WILPER, 2011b). As características do modelo podem incluir informações estruturais, comportamentais e semânticas dos objetos digitais. Como qualquer outra informação armazenada pelo Fedora, um modelo de conteúdo também é um objeto para o qual existe um identificador específico, o CModel, que é codificado em uma URI. Esta abordagem oferece duas vantagens principais: atende às necessidades internas do Fedora e é compatível com a arquitetura Web no sentido de ser representada usando RDF. A CMA trata dos relacionamentos entre os quatro tipos de objetos fundamentais do Fedora. Estes relacionamentos, mostrados na Figura 11, são descritos em RDF por meio de datastreams do tipo RELS-EXT que também são coletados e indexados, favorecendo a recuperação de sua semântica. Fonte: (DAVIS; WILPER, 2011b) Figura 11 - Relacionamento entre os tipos fundamentais do Fedora na CMA 39

55 4.5. Servidor de repositório do Fedora Os aspectos descritos nas seções anteriores deste capítulo dão uma visão interna do Fedora enquanto ambiente de descrição de objetos digitais e de seus relacionamentos. Entretanto, para melhor entendimento do propósito de seu uso no desenvolvimento da solução proposta neste trabalho, se faz necessária uma visualização de como ocorre a interação entre o Fedora e outros agentes que fazem uso de seus serviços. Usuários, sejam eles humanos ou outras aplicações, têm acesso aos objetos digitais exclusivamente por meio de chamadas a serviços Web. Internamente as transformações requeridas pelo usuário também são realizadas através de Web Services. A Figura 12 mostra um panorama destas interações: usuários, no front end do Fedora tendo acesso ao repositório via aplicações ou via navegador de internet e as requisições internas, no Back end. Em ambos os casos o acesso aos dados é intermediado por Web Services. Fonte: (DAVIS, 2012) Figura 12 Interação Cliente/Web Services 40

56 4.6. Conclusão O repositório do Fedora é um sistema de armazenamento acessível via rede que possui mecanismos para gerenciamento dos dados que possibilita adicionar objetos, pesquisar informações relativas a ele e torná-las disponíveis ao usuário final. Sua arquitetura, conforme ilustra a Figura 9, possibilita tanto a definição da informação (metadados), quanto a própria informação em si (dados). A manipulação de dados e metadados é feita por meio de Web Services, expostos por meio de APIs de gerenciamento, acesso e busca, que permite que o Fedora seja utilizado como um componente integrável a sistemas que fornecem funções adicionais de organizações ou usuários finais. Como a arquitetura do Fedora é projetada para gerenciar diferentes tipos de informação e este gerenciamento se dá através de serviços, é natural que a recuperação de informações acerca dos objetos ocorra da mesma forma. Serviços de busca internos ou de terceiros ficam a cargo da recuperação de informações dentro do sistema. Esses serviços recolhem conteúdo e metadados de várias formas para diversos propósitos (STAPLES; SHIN, 2012). A busca semântica também é prevista através do módulo de Resource Index que possibilita o uso da ontologia interna do próprio arcabouço ou de ontologia criada pelo usuário. Todos os relacionamentos são expressos usando RDF e podem ser recuperadas usando uma linguagem de consulta de RDF, por exemplo, SparQL ou itql. 41

57 5. ARQUITETURA PARA UM PORTAL DE ACESSO A APRI Os capítulos anteriores contextualizaram os problemas relativos à subutilização de padrões de análise devido à ausência de recursos para documenta-los e ofereceu uma solução pautada no uso de uma infraestrutura para reuso de padrões de análise. Esta infraestrutura prevê a aplicação de um perfil de metadados baseado no padrão Dublin Core para documentar os padrões de análise o DC2AP e um repositório que pudesse armazená-los e disponibilizá-los. Os usuários dos padrões de análise podem ser tanto seres humanos quanto outras aplicações que irão interagir com o ambiente a partir de Web Services. O framework Fedora foi escolhido como a solução de armazenamento dos metadados e dos padrões de análise por eles descritos. Esta escolha se deu a partir de critérios como forma de disseminação das informações, flexibilidade da solução no que diz respeito à criação de perfis de metadados e adequação a normas internacionais de documentação e acesso a estes metadados e aos dados por ele descritos. Com os recursos definidos até este ponto é possível tratar os componentes da APRI que se referem aos repositórios de metadados e dos padrões de análise por eles documentados, além do acesso a eles por meio de Web Services. Outro componente importante da APRI diz respeito ao portal de padrões de análise, que faria a interface entre o usuário humano e os padrões de análise armazenados no repositório. A interface gráfica com o usuário final oferecida pelo framework Fedora é bastante simplificada e exige conhecimentos mais aprofundados sobre sua terminologia, conceitos e arquitetura para que se possa tirar algum proveito das informações por ela fornecida. Tais fatores tornam pouco aconselhável seu uso para fins de disseminação das informações armazenadas no repositório a comunidades que não estejam familiarizadas com a abordagem por ele oferecida. Entretanto, como sua arquitetura favorece o acesso às informações catalogadas em seu repositório por meio de Web Services, é possível agregar outros serviços que forneçam interfaces gráficas que tratem as informações num nível de abstração mais apropriado à comunidade a que se destinam os dados do repositório de padrão de análise. 42

58 Este capítulo propõe uma arquitetura que permite a criação de um portal de padrões de análise utilizando um framework chamado Islandora que faz a comunicação do repositório de padrão de análises criado no Fedora com um sistema de gerenciamento de conteúdo Content Manager System (CMS) bastante conhecido e de fácil customização, o Drupal. Este CMS é a interface com o usuário final e fica responsável por formatar, exibir e permitir a busca dos padrões de análise armazenados no repositório. O restante do capítulo está estruturado da seguinte forma: a seção 5.1 descreve a arquitetura proposta para a definição do portal de padrões de análise. A seção 5.2 descreve os componentes desta arquitetura que ainda não foram abordados anteriormente e a forma como eles interagem e a seção 5.3 faz a conclusão do capítulo apresentando os resultados na integração dos componentes da arquitetura Descrição da arquitetura O projeto de desenvolvimento do Fedora e sua arquitetura privilegiam o surgimento de vários sistemas que utilizam seu core para criar novos sistemas com finalidades específicas como acesso a dados bibliográficos, conteúdos institucionais e artigos científicos. Estes sistemas fazem uso dos Web Services fornecidos pelo Fedora e por meio de sua interface de programação de aplicações Application Programming Interface (API) são capazes de fornecer acesso direto aos objetos digitais e aos metadados que os descrevem. Os aplicativos que usam os serviços de repositório de dados do Fedora em geral objetivam fornecer uma interface que propicie aos seus usuários finais um ambiente onde se possa obter informação de valor sobre os objetos digitais. A instalação básica do sistema também oferece um front end de acesso padrão que permite a manipulação e busca de objetos digitais. Entretanto, o uso desta interface requer o domínio de conceitos que podem estar fora do contexto ao qual os usuários pertencem. Não se pode exigir, por exemplo, que a comunidade de interessados em padrões de análise detenha conhecimentos acerca de padrões de metadados ou documentos RDF. Existem vários projetos voltados para o desenvolvimento de interfaces que oferecem níveis de abstração da informação condizentes com o contexto do usuário, que são construídos com base no Fedora (STAPLES; SHIN, 2012). Alguns deles são 43

59 patrocinados pela própria Fedora-commons e outros desenvolvidos paralelamente por outras instituições interessadas na disponibilização da informação digital. Um destes projetos, chamado Islandora, oferece uma abordagem que o torna adequado para este trabalho por permitir que os padrões de análise sejam disponibilizados por meio de um Web Site desenvolvido utilizando o CMS Drupal (STAPELFELDT; MOSES, 2013). O Islandora age como um módulo que torna possível a comunicação entre o repositório do Fedora e o Drupal que juntos criam um sistema de gestão de acervo digital robusto que pode ser utilizado para manutenção de dados de curta ou longa duração em um ambiente colaborativo. A Figura 13 fornece uma abstração da arquitetura proposta para desenvolver o ambiente completo da APRI, no qual o Fedora se encarrega de fornecer os repositórios de dados e metadados bem como os serviços necessários a sua gestão. O Drupal se encarrega de fornecer os serviços voltados para a interface de acesso aos padrões de análise com usuários humanos ao se integrar com o Fedora por intermédio do Islandora. Figura 13 - Arquitetura da solução de integração entre Fedora, Drupal para realização da APRI 5.2. Componentes da arquitetura Esta subseção descreve os componentes da arquitetura que ainda não foram abordados nos capítulos anteriores e a forma como eles interagem. 44

60 5.2.1 Islandora O Islandora é um sistema de gestão de acervo digital usado para integrar o servidor de repositórios digitais do Fedora e o sistema de gestão de conteúdo Drupal (STAPELFELDT; MOSES, 2013). O sistema é um framework que interliga os dois sistemas e com isso torna possível um ambiente que oferece uma interface de comunicação via Web de fácil gestão enquanto se comunica com um ambiente complexo de documentação e criação de objetos digitais. A Figura 14 ilustra em detalhes a arquitetura do ambiente para suporte à APRI. Na base encontra-se o Fedora oferecendo os modelos de conteúdo e o repositório de dados e metadados. O Islandora faz a inter-relação entre as duas aplicações e o Drupal, no topo da arquitetura se responsabiliza pela disponibilização das informações ao usuário final. Fonte: (STAPELFELDT; MOSES, 2013) Figura 14 - A arquitetura da Solução 45

61 O Islandora é um projeto de código fonte aberto desenvolvido pela universidade Prince Eduard Island, situada na província canadense que leva o mesmo nome. O framework abrange uma série de componentes internos que lhe permitem a integração com o Drupal, Fedora e outros sistemas. Entre esses componentes cabe destacar alguns devido a sua relevância para os objetivos deste trabalho: Um módulo customizado para o Drupal que possibilita a integração com o Fedora; Um gestor de regras escrito em Java que o capacita a integrar diversos outros sistemas ao Fedora; Um componente editor de metadados exposto por meio do editor de formulários do Drupal; Um componente que utiliza o Apache Solr como provedor de funcionalidades de indexação e busca de objetos digitais. Outras soluções de integração, workflow de consumo de objetos digitais, gerenciamento de metadados, perfis de busca, visualização de objetos entre outros podem ser desenvolvidas e integradas ao Islandora utilizando os Solution Packs (STAPELFELDT; MOSES, 2013). Estes pacotes são módulos customizados do Drupal e apresentam-se como um ponto de entrada para usuários que necessitam de tratar objetos de dados específicos. O uso combinado destes módulos permite a gestão dos metadados e dados acerca dos padrões de análise, além de possibilitar a recuperação de informações sobre os objetos digitais armazenados no repositório Drupal No final da década de 90 as páginas web eram estáticas. Para que houvesse alteração no conteúdo exibido por site, era necessário que alguém, com conhecimento em HTML codificasse a informação no formato exigido pela linguagem. Os sistemas de gestão de conteúdo ou CMS surgiram nessa época em resposta a essa questão, 46

62 emergente na época, que era a necessidade de tornar o conteúdo mais dinâmico o exposto via Web. Esta abordagem, inovadora para aquele tempo, advogava a separação na gestão de dados (conteúdo) da estrutura (layout). A ideia central é a de que o conteúdo pode ser reutilizado de diversas formas e não apenas representado estaticamente via documento HTML. Várias soluções sugiram naquela época viabilizando esta ideia como, por exemplo, o Plone e o Typo3 (DELBRU et al., 2009). O Drupal está entre os três principais CMSs em número de instalações e pageviews mundiais (OPENSOURCE-CMS, 2013). Os motivos para esta grande adesão por parte de usuários finais e desenvolvedores incluem a facilidade no gerenciamento do conteúdo, a existência de funcionalidades que permitem o gerenciamento de workflow, o controle de níveis de acesso dos usuários e a possibilidade de expansão através da criação de módulos para gerenciar conteúdos específicos. O papel exercido pelo Drupal na arquitetura proposta é o de apresentar os conteúdos dos objetos digitais armazenados no Fedora. Desta forma supre-se a necessidade da existência de um componente da APRI denominado Portal de Padrões de Análise. O portal desenvolvido usando o Drupal contém funcionalidades que possibilitam buscar, expor e manipular os conteúdos documentados pelos datastreams dos objetos digitais dos padrões de análise. Todas estas tarefas já são fornecidas pelo Drupal para informações extraídas de bancos de dados relacionais e são aplicáveis também aos objetos digitais por meio de serviços de transformação oferecidos pelo Islandora. Estas funcionalidades podem ser estendidas para tratamento de conteúdo específico criando novos Solutions Packs, que são módulos que podem ser desenvolvidos para o Islandora e que fornecem novas funcionalidades tais como modelos de conteúdo, processamento de arquivos, gerenciadores de metadados, perfis de busca, visões customizadas, entre outros (STAPELFELDT; MOSES, 2013) Componentes de busca A estruturação dos dados em ambientes altamente modularizados, como o exposto na Figura 13, permite grande flexibilidade na elaboração das informações e de suas inter-relações. Esta flexibilidade pode ser notada na maneira como vários mecanismos são utilizados para indexar e recuperar informações com objetivos distintos como dados e metadados. Os metadados além de estruturar a informação têm como 47

63 função indicar a semântica de suas informações e os dados podem conter informações de naturezas bem diversas como textos e vídeos. Indexar estas informações exige abordagens diferentes. No perfil de padrão de análise criado para a APRI, o DC2AP, identificadores universais (URI) são associados a cada elemento do padrão e as relações semânticas entre estes elementos são descritas a partir de arquivos RDF (VEGI et al., 2013). O modelo utilizado pelo RDF permite interligar informações no formato da tripla: sujeitopredicado-objeto. Sujeito e objeto podem ser ambos URIs que identificam determinado recurso ou podem respectivamente ser uma URI e uma informação literal. O predicado indica como estas duas informações se relacionam (BIZER et al., 2009). Um arquivo RDF é composto por um conjunto de triplas e o conjunto destes é chamado de Grafo RDF e pode ser ilustrado como um diagrama direcionado como mostra a Figura 15 (KLYNE et al., 2004). Fonte: (KLYNE et al., 2004) Figura 15 - Grafo RDF Para armazenar informações no formato descrito por arquivos RDF, o Fedora em seu módulo Resource Index, utiliza o triplestore Mulgara. O Resource Index é um módulo do Fedora que fornece a infraestrutura de indexação entre os objetos e seus componentes. O Fedora expressa relacionamentos com base em uma ontologia própria e é capaz de incluir declarações vindas de outras ontologias (DAVIS; PRATER, 2012). Um triplestore é um banco de dados de finalidade específica para armazenar e recuperar as triplas sujeito-predicado-objeto. Diferente dos bancos de dados relacionais que são preparados para lidar com esquemas de dados estáveis e bem definidos, o Mulgara é capaz de lidar com informações em constante mudança devido a própria natureza dos metadados (MULGARA, 2012). Os objetos no Fedora são descritos utilizando o FOXML Fedora Objects XML um arquivo formato XML que expressa o modelo de objetos digitais do Fedora. Cada objeto do Fedora ao ser ingerido pelo sistema tem seu arquivo FOXML transformado 48

64 em um formato que seja legível pelo serviço de busca e indexação do Fedora, chamado GSearch. A transformação efetuada pelo GSearch permite que as informações indexadas sejam usadas pela máquina de busca desenvolvida pela Apache Foundation chamada Solr (pronuncia-se Solar ). O Solr é uma máquina de busca construída a partir do projeto Apache Lucene. O Lucene fornece uma API para manipulação de consultas em arquivos indexados e o Solr foi desenvolvido utilizando os seus serviços como base. A principal característica do Solr é a buscal textual, busca em arquivos enriquecidos (PDF, DOC, etc.) e buscas espaciais (TARGETT, 2013). O Islandora permite configurar a busca fornecida pelo Solr para atender às demandas específicas do modelo de conteúdo que está sendo utilizado pelo usuário Conclusão Para garantir a flexibilidade do ambiente onde os padrões de análise serão catalogados e expostos, a APRI precisa disponibilizar um ambiente que garanta que sejam obedecidas as complexas estruturas definidas para armazenar as informações sobre os padrões de análise e ao mesmo tempo forneça à comunidade de interessados ferramentas que lhes permita ter um contato produtivo com a informação buscada. Para garantir que estas duas metas sejam atendidas, foi utilizada uma arquitetura composta de 3 camadas. A camada inferior, o Fedora, fica a cargo de armazenar a informação e indexa-la para que a camada intermediária, o Islandora, possa atuar transportando a informação para a camada superior, o CMS Drupal, que é usado como interface com o usuário humano. A comunicação entre as camadas ocorre sempre via Web Services expostos a partir de APIs fornecidas por cada nível, propiciando assim a comunicação com agentes não humanos e possibilitando a criação de novos serviços. 49

65 6. VIABILIZAÇÃO TECNOLÓGICA DA APRI: UMA VISÃO GERAL A proposta do projeto APRI é criar um ambiente onde padrões de análise estejam acessíveis aos usuários em diversos meios e para diversos fins. Um desses meios é o portal de padrão de análise que permite que o usuário tenha contato direto com os padrões armazenados no repositório. A arquitetura proposta viabiliza este aspecto da APRI ao disponibilizar o CMS Drupal como interface com o usuário. Neste capítulo é apresentado o protótipo criado para o portal de padrões de análise da APRI chamado PANDORA, uma sigla para Portal de Padrões de Análise usando o Fedora. A subseção 6.1 trata da construção do modelo de conteúdo que faz o mapeamento dos elementos do DC2AP para um modelo de objetos do Fedora. A seção 6.2 descreve a criação de um formulário, usando recursos do Drupal, para o que seja possível o cadastro de dados sobre os padrões de análise e a subseção 6.3 apresenta a conclusão do capítulo Modelo de Conteúdo para o DC2AP O objetivo principal do DC2AP é a melhoria nas formas de descrição e recuperação de padrões de análise e, por conseguinte, aumento de seu reuso por meio de recursos computacionais. Por se tratar de um perfil de metadados baseado no padrão Dublin Core, ele possui outros elementos além dos elementos básicos pertencentes ao padrão base. Os elementos que compõem o DC2AP permitem documentar os padrões de análise sob diferentes aspectos, como características descritivas, históricas, relacionais, de modelagem, entre outros. Uma descrição completa destes elementos mostrando um exemplo prático de sua aplicação pode ser vista em (VEGI, 2012). Com base nos elementos do DC2AP foi desenvolvido um modelo de conteúdo para armazenar as informações sobre os padrões de análise. Os modelos de conteúdo podem ser entendidos de maneira análoga a uma classe no contexto da programação 50

66 orientada a objetos. Todas as informações criadas a partir desta classe são consideradas objetos desta classe. Para criar o modelo de conteúdo foi utilizada uma extensão do modelo de conteúdo do Fedora chamado Enhanced Content Model (ECM). Na abordagem original do Fedora o modelo de conteúdo descreve como devem ser os objetos digitais criados a partir do CModel e indica quais os datastreams que eles devem conter. Os CModels criados a partir da abordagem ECM mantém a compatibilidade com o modelo antigo e acrescenta a possibilidade de definir a cardinalidade na relação entre os objetos e entre os datastreams de um objeto Interação com o sistema A partir da definição do modelo de conteúdo para o DC2AP é possível a documentação dos padrões de análise usando a interface padrão do Fedora ou pela chamada dos Web Services oferecidos pelo Fedora e pelo Islandora. Porém, tanto o acesso via Web Services quanto pela interface do padrão do Fedora tornam muito complicada a tarefa de usar os padrões de análise. Esta situação pode ser contornada utilizando uma interface interativa por meio de um formulário criado usando uma ferramenta do Islandora para este fim. Para que o usuário possa criar objetos que representam os padrões de análise dentro da estrutura do Fedora foi criado um formulário com o apoio do construtor de formulários do Islandora. O Islandora Form Builder torna possível para os usuários criar, copiar, editar, utilizar os formulários e associá-los a modelos de conteúdo no repositório (WILCOX; ANEZ, 2013). A Figura 16 exibe a interface de criação de formulários. No quadro a esquerda fica o editor de elementos, que permite determinar quais serão os campos presentes no formulário e no quadro da direita fica o descritor de elementos que permite descrever o elemento e impor restrições de preenchimento. As guias Advanced Form Controls e More Advanced Controls oferecem funcionalidades mais elaboradas no que diz respeito à inserção de informações no repositório. Seu objetivo é cuidar das restrições de preenchimento como termos válidos para preenchimento da informação, formatos especiais, como data e hora, se o campo 51

67 receberá informações provenientes de arquivos (texto, PDF, imagens, etc) e funções de validação criadas pelo usuário. Figura 16 - Construtor de Formulário A descrição do formulário é feita usando arquivos XML, conforme ilustra a Figura 17 e o sistema permite que este seja importado ou exportado do sistema, podendo ainda ser associado a um modelo de conteúdo. O arquivo está organizado desta forma apenas para fins de demonstração, pois para que se possa extrair maior eficiência de indexação das máquinas de busca do sistema, os arquivos originais são armazenados sem qualquer formatação, com todo seu conteúdo guardado em uma única linha (DAVIS, 2008). 52

68 Figura 17 - XML de descrição do formulário A Figura 18 exibe uma previsão da tela de registro do objeto digital criada a partir do Form Builder. Figura 18 - Tela de Previsão do Formulário 53

AVALIAÇÃO DO FRAMEWORK CONCEITUAL FEDORA COMO REPOSITÓRIO DE PADRÕES DE ANÁLISE PARA UMA INFRAESTRUTURA DE REUSO DE ARTEFATOS COMPUTACIONAIS

AVALIAÇÃO DO FRAMEWORK CONCEITUAL FEDORA COMO REPOSITÓRIO DE PADRÕES DE ANÁLISE PARA UMA INFRAESTRUTURA DE REUSO DE ARTEFATOS COMPUTACIONAIS GLAUBER LUIZ DA SILVA COSTA AVALIAÇÃO DO FRAMEWORK CONCEITUAL FEDORA COMO REPOSITÓRIO DE PADRÕES DE ANÁLISE PARA UMA INFRAESTRUTURA DE REUSO DE ARTEFATOS COMPUTACIONAIS Dissertação apresentada à Universidade

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

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

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados

Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Dublin Core e MARC 21 : um estudo de correspondência de elementos de metadados Maria das Dores Rosa Alves¹, Marcia Izabel Fugisawa Souza¹ ¹Embrapa Informática Agropecuária Caixa postal 6014 Campinas, SP

Leia mais

METADADOS PARA A PRESERVAÇÃO DA INFORMAÇÃO DIGITAL

METADADOS PARA A PRESERVAÇÃO DA INFORMAÇÃO DIGITAL 354 METADADOS PARA A PRESERVAÇÃO DA INFORMAÇÃO DIGITAL José Carlos Abbud Grácio (UNESP) Bárbara Fadel (UNESP) 1. Introdução Com os avanços das tecnologias de informação e comunicação (TIC) as instituições

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Weslley da Silva Fernandes Mathias

Weslley da Silva Fernandes Mathias Weslley da Silva Fernandes Mathias 1 Biblioteca digital é a biblioteca constituída por documentos primários, que são digitalizados sob a forma material (disquetes, CD-ROM, DVD), ou online através da internet,

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Arquitetura de Software: Uma Central para Gestão da execução de serviços

Arquitetura de Software: Uma Central para Gestão da execução de serviços Arquitetura de Software: Uma Central para Gestão da execução de serviços ADILSON FERREIRA DA SILVA Centro Paula Souza São Paulo Brasil afs.software@gmail.com Prof.a. Dr.a. MARILIA MACORIN DE AZEVEDO Centro

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

FEB Federação de Repositórios Educa Brasil UFRGS/UNISINOS

FEB Federação de Repositórios Educa Brasil UFRGS/UNISINOS FEB Federação de Repositórios Educa Brasil UFRGS/UNISINOS Parcerias A UFRGS é a executora principal do projeto, através do Centro Interdisciplinar de Novas Tecnologias na Educação (CINTED), do Programa

Leia mais

Metadados e Dublin Core

Metadados e Dublin Core Metadados e Dublin Core Eloi Juniti Yamaoka 14 de Fevereiro de 2007 Meta Meta = sobre (about) Metadados Metametadados Metadata Meta data Metainformação Metadados? Dados sobre dados Informação sobre informações

Leia mais

Informação no OAIS. Ambiente. Escopo e Objetivos. Aplicabilidade. Responsabilidades do OAIS. Funcional OAIS OPEN ARCHIVAL INFORMATION SYSTEM OAIS

Informação no OAIS. Ambiente. Escopo e Objetivos. Aplicabilidade. Responsabilidades do OAIS. Funcional OAIS OPEN ARCHIVAL INFORMATION SYSTEM OAIS do no OPEN ARCHIVAL INFORMATION SYSTEM OPEN ARCHIVAL INFORMATION SYSTEM do no < ESCOPO objetivos origem > :: O modelo de referência Open Archival rmation System é um esquema conceitual que disciplina e

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA.

AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA. AUTOMAÇÃO SUPERVISÃO E CONTROLE E A APLICAÇÃO DA ARQUITETURA ORIENTADA A SERVIÇOS SOA. Uma significativa parcela dos sistemas de automação de grandes empresas são legados de tecnologias de gerações anteriores,

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

O PADRÃO DE METADADOS DUBLIN CORE: A REPRESENTAÇÃO DESCRITIVA EM HTML 1

O PADRÃO DE METADADOS DUBLIN CORE: A REPRESENTAÇÃO DESCRITIVA EM HTML 1 1 Eixo Temático: Organização e Representação da Informação e do Conhecimento O PADRÃO DE METADADOS DUBLIN CORE: A REPRESENTAÇÃO DESCRITIVA EM HTML 1 Bill Alexander Santos da Silva 2 Juliana Marques do

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Padrões de Desenho (Design Patterns)

Padrões de Desenho (Design Patterns) Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Introdução à Padrões de Projeto. Glauber Magalhães Pires

Introdução à Padrões de Projeto. Glauber Magalhães Pires Introdução à Padrões de Projeto Glauber Magalhães Pires Agenda O que são padrões de projeto? Para que servem e por que utilizá-los? Elementos constituintes Como escolher o padrão a ser usado? Como são

Leia mais

Uma Integração entre Ferramentas de Gerência de Projetos Utilizando XML

Uma Integração entre Ferramentas de Gerência de Projetos Utilizando XML Uma Integração entre Ferramentas de Gerência de Projetos Utilizando XML Edson Leandro de Araújo Silva 2, Adailton Magalhães Lima 1,2, Ernani de Oliveira Sales 1, Anderson Jorge Serra da Costa 2 1 Laboratório

Leia mais

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

Módulo de Integração de Padrões de Análise com Ontologias de Domínio da ferramenta ArgoCASEGEO

Módulo de Integração de Padrões de Análise com Ontologias de Domínio da ferramenta ArgoCASEGEO Módulo de Integração de Padrões de Análise com Ontologias de Domínio da ferramenta ArgoCASEGEO Gabriel Silva Gonçalves, Jugurta Lisboa Filho, Evaldo de Oliveira da Silva, Guilherme Alves Lopes Departamento

Leia mais

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento. SOA Arquitetura Orientada a Serviços Conceitos e Aplicações Prof. MSc. Edilberto Silva edilms@yahoo.com/ http://edilms.eti.br Gestão de TI Conceitode SOA SOA - Service OrientedArchitecture (Arquitetura

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web Modelagem de Sistemas Web Aula 4 Ferramentas e metodologias para projeto de sistemas web Ferramentas e metodologias para projeto de sistemas web Ferramentas CASE Fontes: Sarajane e Marques Peres Introdução

Leia mais

BREVE INTRODUÇÃO À LINGUAGEM XML

BREVE INTRODUÇÃO À LINGUAGEM XML BREVE INTRODUÇÃO À LINGUAGEM XML Por Carlos H. Marcondes marcon@vm.uff.br Rio de Janeiro Abril 2008 PROGRAMA 1.Problema, motivações e conceitos 2.Estrutura de um documento XML 1.DTDs, Schemas 2.Folhas

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB Deusa Cesconeti e Jean Eduardo Glazar Departamento de Ciência da Computação Faculdade de Aracruz UNIARACRUZ {dcescone, jean}@fsjb.edu.br RESUMO

Leia mais

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre Introdução à Representação e Processamento de Ontologias: Framework O3f Luís Miguel Botelho Departamento de Ciências e Tecnologias

Leia mais

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2 AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA CONTEÚDO DA AULA Tipos de Software Serviços Web Tendências 2 OBJETIVOS ESPECÍFICOS

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL DE MATO GROSSO INSTITUTO DE COMPUTAÇÃO COORDENAÇÃO DE ENSINO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO RELATÓRIO DE ESTÁGIO SUPERVISIONADO PROPOSIÇÃO DE UMA NOVA ARQUITETURA BASEADA EM

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

REST Um Estilo de Arquitetura de Sistemas Distribuídos REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil

Leia mais

Agregando rastreabilidade a dados abertos governamentais para transparência da informação

Agregando rastreabilidade a dados abertos governamentais para transparência da informação Agregando rastreabilidade a dados abertos governamentais para transparência da informação Trabalho de Mestrado Eva Marinello, Fernanda Baião (Orientadora), Claudia Cappelli (Co-orientadora) Programa de

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

FERRAMENTA DE CONVERSÃO DE METADADOS DE RECURSOS ELETRÔNICOS DO PADRÃO DUBLIN CORE PARA O PADRÃO RDF

FERRAMENTA DE CONVERSÃO DE METADADOS DE RECURSOS ELETRÔNICOS DO PADRÃO DUBLIN CORE PARA O PADRÃO RDF FERRAMENTA DE CONVERSÃO DE METADADOS DE RECURSOS ELETRÔNICOS DO PADRÃO DUBLIN CORE PARA O PADRÃO RDF Arlindo L. Boiça Neto 1 ; Leandro H. de M. Oliveira 2 N 0803081 Resumo : Atualmente a descrição de recursos

Leia mais

UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB

UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB Alan Francisco de Souza¹, Claudete Werner¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil alanfsouza.afs@gmail.com,

Leia mais

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES

EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES EXPERIÊNCIA DE USO DE ARQUITETURA CORPORATIVA NO PROJETO DE RES Rigoleta Dutra Mediano Dias 1, Lívia Aparecida de Oliveira Souza 2 1, 2 CASNAV, MARINHA DO BRASIL, MINISTÉRIO DA DEFESA, BRASIL Resumo: Este

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS Janderson Fernandes Barros ¹, Igor dos Passos Granado¹, Jaime William Dias ¹, ² ¹ Universidade Paranaense (UNIPAR) Paranavaí

Leia mais

Open Archives. um marco na história das Bibliotecas Digitais

Open Archives. um marco na história das Bibliotecas Digitais Open Archives um marco na história das Bibliotecas Digitais Motivação Pontiac G6 Preço igual (EUA) USD $17,000 Motivação Dificuldades encontradas pelos pesquisadores no ciclo da comunicação científica

Leia mais

O padrão RDF na descrição de imagens

O padrão RDF na descrição de imagens O padrão RDF na descrição de imagens Edeilson Milhomem da Silva 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Cx. Postal 160 77054-970

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

Leia mais

Repositórios, Acesso Livre, Preservação Digital. Questões para hoje e amanhã

Repositórios, Acesso Livre, Preservação Digital. Questões para hoje e amanhã Repositórios, Acesso Livre, Preservação Digital Questões para hoje e amanhã Florianópolis 1.000.000 a.c - 2009 d.c Evolução da prática científica O compartilhamento dos dados das pesquisas mudou para práticas

Leia mais

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

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

Leia mais

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas BPM e SOA Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Como funcionam as organizações? O que ébpm Business Process Management (BPM)

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

Autor(es) BRUNO TEODOSIO GONÇALVES. Orientador(es) CECÍLIA SOSA ARIAS PEIXOTO, FLÁVIA LINHALIS. Apoio Financeiro FAPIC/UNIMEP. 1.

Autor(es) BRUNO TEODOSIO GONÇALVES. Orientador(es) CECÍLIA SOSA ARIAS PEIXOTO, FLÁVIA LINHALIS. Apoio Financeiro FAPIC/UNIMEP. 1. 19 Congresso de Iniciação Científica ESTUDO EXPLORATÓRIO SOBRE PADRÕES DE OBJETOS DE APRENDIZAGEM PARA AMBIENTES COLABORATIVOS DE APRENDIZADO ELETRÔNICO Autor(es) BRUNO TEODOSIO GONÇALVES Orientador(es)

Leia mais

Aplicação de padrões ao processo de desenvolvimento de software RUP

Aplicação de padrões ao processo de desenvolvimento de software RUP Aplicação de padrões ao processo de desenvolvimento de software RUP Trabalho de Conclusão de Curso Engenharia da Computação Tiago Moraes de Miranda Farias Orientador: Prof. Márcio Lopes Cornélio Recife,

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

RELATÓRIO 3 CONJUNTO DE METADADOS DO REPOSITÓRIO INSTITUCIONAL DA ENAP

RELATÓRIO 3 CONJUNTO DE METADADOS DO REPOSITÓRIO INSTITUCIONAL DA ENAP RELATÓRIO 3 CONJUNTO DE METADADOS DO REPOSITÓRIO INSTITUCIONAL DA ENAP Projeto básico sobre Repositório Digital: Definição da Arquitetura Informacional / Definição do Conjunto de Metadados / Definição

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Tópicos Avançados em Engenharia de Software

Tópicos Avançados em Engenharia de Software Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Programa de Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software Padrões e Frameworks (Aula 01-

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira SOA - Service Oriented Architecture Marcelo Canevello Ferreira Índice Arquitetura baseada em componentes Introdução a SOA Principais conceitos de SOA SOA Framework Abordagem de integração Conclusões Evolução

Leia mais

Projeto: Plataforma de Integração. Data: 01/08/2014

Projeto: Plataforma de Integração. Data: 01/08/2014 Manual do Usuário - Autenticação Plataforma de Integração Arquitetura de Software 1.0 20/03/2014 1 de 8 Histórico de Revisões Data Versão Descrição 01/08/2014 1.0 Criação do documento 04/08/2014 1.1 Revisão

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

Leia mais

Questões sobre Web Mining e Web Warehousing

Questões sobre Web Mining e Web Warehousing Curso de Data Warehousing PUC-Rio TecBD Prof. Rubens Melo Tendências Web Warehousing e Web Mining Questões sobre Web Mining e Web Warehousing Quais são as características da plataforma WEB Quais os tipos

Leia mais

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois 1, 2, Karin Becker 2, Cláudia Werner 1 1 COPPE/UFRJ, Universidade Federal do Rio de Janeiro,

Leia mais

ONTOLOGIA PARA PUBLICAÇÃO CIENTÍFICA 1 ONTOLOGY FOR SCIENTIFIC PUBLICATION

ONTOLOGIA PARA PUBLICAÇÃO CIENTÍFICA 1 ONTOLOGY FOR SCIENTIFIC PUBLICATION ONTOLOGIA PARA PUBLICAÇÃO CIENTÍFICA 1 ONTOLOGY FOR SCIENTIFIC PUBLICATION Andrenizia Aquino Eluan Mestranda do Programa de Pós-Graduação em Ciência da Informação Universidade Federal de Santa Catarina

Leia mais

Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação. Proposta Trabalho de Graduação

Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação. Proposta Trabalho de Graduação Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Proposta Trabalho de Graduação Um Mecanismo de Monitoramento e Seleção de Serviços Baseado em Atributos de Qualidade

Leia mais

Arquiteturas SOA, WOA, e REST

Arquiteturas SOA, WOA, e REST Arquiteturas SOA, WOA, e REST Aplicação de Software Social Fred Figueiredo Luiz Borges Pedro Pires Arquiteturas SOA, WOA e REST Desenvolvimento de aplicações orientadas ao fornecimento de serviços que

Leia mais

Biblioteca Digital para a coleção de lundus do acervo Mozart de Araújo

Biblioteca Digital para a coleção de lundus do acervo Mozart de Araújo Biblioteca Digital para a coleção de lundus do acervo Mozart de Araújo Adriana Olinto Ballesté Laboratório Nacional de Computação Científica UNIRIO-PPGM e-mail: adri@lncc.br Jupter Martins de Abreu Jr.

Leia mais

Uma proposta de um processo prático para apoiar o reuso de software

Uma proposta de um processo prático para apoiar o reuso de software Uma proposta de um processo prático para apoiar o reuso de software Rosangela Kronig (UNIP) rkronig.mes.engprod@unip.br Ivanir Costa (UNIP) icosta@unip.br Mauro Spínola (UNIP) mspinola@unip.br Resumo A

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Um gato preto num quarto escuro falando sobre metadados

Um gato preto num quarto escuro falando sobre metadados Um gato preto num quarto escuro falando sobre metadados Ana Alice Baptista Altamiro Barbosa Machado 1 Metadados significa, basicamente, dados sobre os dados. Num ambiente caótico como a Internet, os dados

Leia mais

JULIANO AUGUSTO DE SOUZA OLIVEIRA

JULIANO AUGUSTO DE SOUZA OLIVEIRA UNIVERSIDADE DE RIBEIRÃO PRETO CENTRO DE CIÊNCIAS EXATAS, NATURAIS E TECNOLÓGICAS PÓS-GRADUAÇÃO LATO SENSU EM BANCO DE DADOS JULIANO AUGUSTO DE SOUZA OLIVEIRA IMPLEMENTAÇÃO DE UM SISTEMA DE CONTROLE DE

Leia mais

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA Danilo de Abreu Noleto 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA)

Leia mais

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação

Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Em Busca de uma Arquitetura de Referência para Frameworks de Aplicação Dirigidos por Modelos para Sistemas de Informação Valdemar Vicente GRACIANO NETO 1 ; Juliano Lopes DE OLIVEIRA 1 1 Instituto de Informática

Leia mais

UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS

UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS RESUMO: - PALAVRAS-CHAVES: ABSTRACT: The use of the Web as a platform for distance education (e-learning) has been one of the great alternatives for

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

SINS: um Ambiente para Geração de Aplicações baseadas em Serviços

SINS: um Ambiente para Geração de Aplicações baseadas em Serviços SINS: um Ambiente para Geração de Aplicações baseadas em Serviços Sérgio Larentis Júnior, Jorge Luis Victória Barbosa, Sérgio Crespo Coelho da Silva Pinto, Andrêsa Vargas Larentis Programa Interdisciplinar

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

Arquitetura Orientada a Serviço

Arquitetura Orientada a Serviço Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo

Leia mais

Relatório apresentado na reunião em Karlsruher Institut für Technologie Karlsruhe, Alemanha

Relatório apresentado na reunião em Karlsruher Institut für Technologie Karlsruhe, Alemanha Relatório apresentado na reunião em Karlsruher Institut für Technologie Karlsruhe, Alemanha Arquitetura da Informação para o Sistema Brasileiro de Inventário de Ciclo de Vida (SICV BRASIL) Everson Andrade

Leia mais

XXX Congresso da SBC II Workshop de Computação Aplicada em Governo Eletrônico

XXX Congresso da SBC II Workshop de Computação Aplicada em Governo Eletrônico XXX Congresso da SBC II Workshop de Computação Aplicada em Governo Eletrônico Recuperação de Informação em Infraestruturas de Dados Espaciais usando Mecanismos de Representação do Conhecimento Autores

Leia mais

Arquitetura de Workflow em Plone e Web Services

Arquitetura de Workflow em Plone e Web Services Arquitetura de Workflow em Plone e Web Services Elisandra Fidler Pez, Heitor Strogulski Núcleo de Processamento de Dados Universidade de Caxias do Sul (UCS) Caxias do Sul, RS Brasil {efidler, hstrogul}@ucs.br

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

Arquitetura de Software. Silvia Regina Vergilio

Arquitetura de Software. Silvia Regina Vergilio Arquitetura de Software Silvia Regina Vergilio Atividades de Projeto Projeto Geral ou Preliminar: fase que traduz a especificação do sistema em termos da arquitetura de dados e de módulos. Descreve a organização

Leia mais

CAPÍTULO 1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO CAPÍTULO 1 INTRODUÇÃO A atuação do homem no meio ambiente, ao longo da história, fornece provas de suas ações em nome do progresso. Esta evolução tem seu lado positivo, pois abre novos horizontes, novas

Leia mais