Carlos Eduardo Paulino Silva

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

Download "Carlos Eduardo Paulino Silva"

Transcrição

1 CAPTURA DE DADOS DE PROVENIÊNCIA DE WORKFLOWS CIENTÍFICOS EM NUVENS COMPUTACIONAIS Carlos Eduardo Paulino Silva Dissertação de Mestrado apresentada ao Programa de Pós-graduação em Engenharia de Sistemas e Computação, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Mestre em Engenharia de Sistemas e Computação. Orientadora: Marta Lima de Queirós Mattoso Rio de Janeiro Setembro de 2011

2 CAPTURA DE DADOS DE PROVENIÊNCIA DE WORKFLOWS CIENTÍFICOS EM NUVENS COMPUTACIONAIS Carlos Eduardo Paulino Silva DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAÇÃO. Examinada por: Profª. Marta Lima de Queirós Mattoso, D.Sc. Prof. Alexandre de Assis Bento Lima, D.Sc. Prof. Fabio Andre Machado Porto, D.Sc. RIO DE JANEIRO, RJ - BRASIL SETEMBRO DE 2011

3 Silva, Carlos Eduardo Paulino Captura de Dados de Proveniência de Workflows Científicos em Nuvens Computacionais / Carlos Eduardo Paulino Silva. Rio de Janeiro: UFRJ/COPPE, IX, 47 p.: il.; 29,7 cm. Orientadora: Marta Lima de Queirós Mattoso Dissertação (mestrado) UFRJ/ COPPE/ Programa de Engenharia de Sistemas e Computação, Referências Bibliográficas: p Proveniência. 2. Workflows científicos. 3. Computação em nuvem. I. Mattoso, Marta Lima de Queirós. II. Universidade Federal do Rio de Janeiro, COPPE, Programa de Engenharia de Sistemas e Computação. III. Título. iii

4 Resumo da Dissertação apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Mestre em Ciências (M.Sc.) CAPTURA DE DADOS DE PROVENIÊNCIA DE WORKFLOWS CIENTÍFICOS EM NUVENS COMPUTACIONAIS Carlos Eduardo Paulino Silva Setembro/2011 Orientadora: Marta Lima de Queirós Mattoso Programa: Engenharia de Sistemas e Computação Workflows científicos são abstrações utilizadas na modelagem de experimentos científicos in silico. Alguns desses experimentos demandam recursos de alto desempenho como clusters e grades computacionais. O modelo computacional chamado de computação em nuvem vem sendo adotado pela comunidade científica. Para que um experimento possa ser considerado válido perante esta mesma comunidade ele precisa ser passível de reprodução, o que só é possível através do registro de metadados de proveniência. No entanto, as nuvens computacionais ainda são incipientes no que se refere à captura e armazenamento destes metadados. Essa dissertação apresenta uma arquitetura que apóia a captura e o armazenamento de metadados de proveniência de workflows científicos executados nos ambientes de nuvens computacionais. Ela é baseada na evolução da arquitetura Matrioshka. iv

5 Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Master of Science (M.Sc.) CAPTURING PROVENANCE METADATA FROM CLOUD-BASED SCIENTIFIC WORKFLOWS Carlos Eduardo Paulino Silva September/2011 Advisor: Marta Lima de Queirós Mattoso Department: Computer Science Engineering Scientific workflow is an abstraction used to model in silico experiments. Some of these experiments demands high performance computing environments such as clusters and grids. A new computing model called cloud computing is being adopted by the scientific community to execute their scientific experiments. In addition, in order to consider a scientific experiment as scientific, it has to be reproducible, by querying provenance metadata. However, cloud environments are still incipient when we are capturing and storing provenance metadata. This dissertation proposes an approach to support capturing and storing provenance metadata from cloud-based scientific workflows. This approach is coupled to the Matrioshka architecture. v

6 ÍNDICE Capítulo 1 - Introdução Contexto e motivação Definição do problema Objetivo Metodologia Estrutura da dissertação... 5 Capítulo 2 - Workflows Científicos e Computação em nuvem Proveniência Experimentos in silico Workflows científicos Sistemas de Gerência de Workflows Científicos Computação em nuvem Proveniência de Experimentos Científicos em Nuvens Computacionais Trabalhos relacionados Considerações finais Capítulo 3 - Captura de Dados de Proveniência de Workflows Científicos em Nuvens Computacionais Histórico Arquitetura Manifestos Dispatcher Execution Broker Provenance Broker Provenance Eavesdrop Repositório de Proveniência da Nuvem Bibliotecas utilizadas na implementação Considerações finais Capítulo 4 - Avaliação da arquitetura proposta OrthoSearch Configuração do ambiente Configuração do experimento vi

7 4.4 Consultas à proveniência Capítulo 5 - Conclusão Contribuições Limitações do trabalho Trabalhos futuros Referências Bibliográficas vii

8 LISTA DE FIGURAS Figura 1. Arquitetura Matrioshka adaptada para a captura de proveniência de workflows científicos executados no ambiente de nuvens (PAULINO et al., 2009, 2010, 2011) Figura 2. Estrutura do arquivo de manifesto de configuração da nuvem. SetupManifest.xml Figura 3. Estrutura do arquivo de manifesto com a especificação dos dados do experimento. ExperimentManifest.xml Figura 4. Estrutura do arquivo de manifesto com a especificação dos dados da atividade a ser executada no ambiente de nuvem. ActivityManifest.xml Figura 5. Substituição da atividade executada localmente pelo Dispatcher no VisTrails Figura 6. Modelo de dados de proveniência para o ambiente de nuvens Figura 7. Workflow OrthoSearch (CRUZ et al., 2008b) Figura 8. Workflow utilizado para avaliação da arquitetura proposta viii

9 LISTA DE QUADROS Quadro 1. Configuração de hardware e preços de utilização dos tipos de instâncias disponíveis Quadro 2. Resultado da consulta de proveniência (i) Quadro 3. Resultado da consulta de proveniência (ii) Quadro 4. Resultado da consulta de proveniência (iii) Quadro 5. Resultado da consulta de proveniência (iv) Quadro 6. Resultado da consulta de proveniência (v) Quadro 7. Resultado da consulta de proveniência (vi) ix

10 Capítulo 1 - Introdução Este capítulo tem como objetivo apresentar a contextualização e motivação para criação de uma arquitetura para a captura de metadados de proveniência dos workflows científicos executados em nuvens computacionais, além de delimitar qual é o escopo do problema tratado pela arquitetura proposta e definir o objetivo a ser alcançado pela mesma. Será apresentada também a metodologia utilizada para alcançar os objetivos definidos e as contribuições da dissertação, antecipando alguns resultados para que seja possível evidenciar as principais diferenças dessa arquitetura em relação a outras. 1.1 Contexto e motivação A computação em nuvem (VAQUERO et al., 2009) vem se firmando como um novo modelo de computação onde componentes de software e hardware são desenvolvidos como serviços baseados na Web e disponibilizados para uma gama (teoricamente infinita) de usuários. Uma grande vantagem disponibilizada pelas nuvens é a elasticidade de recursos oferecida (KIM et al., 2009, NAPPER e BIENTINESI, 2009, VAQUERO et al., 2009), uma vez que caso um usuário precise de mais recursos computacionais, basta que o mesmo solicite ao provedor da nuvem e os recursos serão automaticamente disponibilizados. Devido a estas vantagens, a computação em nuvem se mostra atrativa em diversos domínios do conhecimento, inclusive no científico (HOFFA et al., 2008, MATSUNAGA et al., 2008, SIMMHAN et al., 2008, WANG et al., 2008). Grande parte dos experimentos científicos elaborados para comprovar ou refutar uma determinada hipótese são baseados em infraestrutura computacional e simulações (TAYLOR et al., 2007b, MATTOSO et al., 2010). Esses experimentos são chamados de experimentos in silico (TRAVASSOS e BARROS, 2003), nos quais os cientistas normalmente utilizam um conjunto de programas para executar uma determinada atividade. Esses programas normalmente são encadeados formando um fluxo coerente onde a saída de um programa é a entrada do próximo no fluxo de execução. A este encadeamento de programas que representa o experimento que está sendo executado dáse o nome de Workflow Científico (TAYLOR et al., 2007b, MATTOSO et al., 2010). 1

11 Os workflows científicos podem ser gerenciados de maneira ad-hoc, mas são mais adequadamente manipulados por complexos mecanismos chamados Sistemas de Gerência de Workflows Científicos (SGWfC), que oferecem o arcabouço necessário para executar, definir e monitorar as execuções dos workflows científicos tanto local quanto remotamente. Existem diversos SGWfC disponíveis para utilização (TAYLOR et al., 2007b), como por exemplo: Kepler (ALTINTAS et al., 2004), VisTrails (CALLAHAN et al., 2006), Taverna (HULL et al., 2006), Pegasus (DEELMAN et al., 2007), Triana (TAYLOR et al., 2007a), Swift (ZHAO et al., 2007), cada um deles com características próprias e vantagens e desvantagens. Experimentos científicos in silico em larga escala podem ser modelados como workflows científicos. Esses experimentos são caracterizados pela composição e execução de diversas variações de workflows (MATTOSO et al., 2010). Estas variações em execuções incluem parâmetros, dados de entrada e até os programas que compõem o workflow. Nos experimentos em larga escala, estas variações podem ocorrer utilizando uma imensa quantidade de dados ou repetições, as quais necessitam de ambientes de processamento de alto desempenho (PAD) para que produzam resultados em um tempo aceitável (ZHAO et al., 2008). Desta forma, um workflow pode necessitar ser executado em ambientes distribuídos e muitas vezes heterogêneos. Porém, a execução e a definição do experimento não são os únicos aspectos importantes na experimentação científica. Para que um experimento não seja refutado pela comunidade científica, o mesmo deve ser passível de reprodução sob as mesmas condições em outras instalações por outros grupos de pesquisadores utilizando o método originalmente utilizado. Desta forma, toda a informação relacionada ao experimento, tanto sua definição quanto os dados inicialmente utilizados e gerados durante a sua execução, são fundamentais para que o experimento seja considerado consistente e válido. A este tipo de informação, damos o nome de proveniência (BUNEMAN et al., 2001, DAVIDSON e FREIRE, 2008, FREIRE et al., 2008). A captura dos metadados de proveniência nos ambientes distribuídos, chamada de proveniência distribuída, ainda é uma questão em aberto. Mesmo dentre os SGWfC concebidos para operar em ambientes distribuídos, como o Swift, Pegasus e o Triana, existem ainda limitações para a captura de proveniência distribuída, seja ela em clusters ou grades computacionais (FOSTER e KESSELMAN, 2004). No ambiente de nuvens computacionais, capturar a proveniência distribuída de um workflow também é um desafio ainda em aberto (OLIVEIRA et al., 2010a). Portanto, a adoção de nuvens 2

12 computacionais para a execução de workflows sem o apoio de mecanismos para a captura da proveniência distribuída pode representar uma barreira para a validade do experimento como um todo pela comunidade científica. A principal dificuldade da captura e armazenamento de proveniência na nuvem se dá devido à heterogeneidade do ambiente, pelo fato de existir vários tipos possíveis de configurações de hardware e software oferecidos pelos recursos da nuvem, e à mutabilidade, visto que esses recursos são alocados sob demanda. Atualmente, existem algumas propostas na literatura para capturar e gerenciar proveniência em ambientes distribuídos. Grande parte deles é focada em ambientes como clusters e grades computacionais. Um exemplo destes mecanismos é a Matrioshka (CRUZ et al., 2008a). A Matrioshka tem como objetivo prover uma série de serviços que podem ser acoplados em ambientes distribuídos, como clusters e grades computacionais. O principal diferencial da Matrioshka está em seu apoio à consultas semânticas por meio de relacionamentos entre os metadados de proveniência e ontologias (CRUZ, 2011). Entretanto, a Matrioshka não foi originalmente projetada para operar em ambientes de nuvens computacionais e, portanto, seus serviços precisam ser estendidos para que possam apoiar esse ambiente. Esta dissertação propõe uma evolução da arquitetura da Matrioshka para que a mesma possa ser utilizada na captura de proveniência de workflows científicos executados em nuvens computacionais e consiga manter as vantagens semânticas da Matrioshka. Assim, um dos objetivos está em responder algumas possíveis questões que podem ser realizadas sobre um experimento executado nesse ambiente, como por exemplo, Quais os nomes e as versões dos programas utilizados para executar as atividades do workflow X?, Quais instâncias do ambiente de nuvem estão disponíveis para executar o workflow X?, Qual a configuração da instância utilizada para executar a atividade Y do workflow X?, etc. Para isso, serão realizadas algumas extensões nos serviços da Matrioshka para atender as especificidades dos ambientes de nuvens computacionais. 1.2 Definição do problema Atualmente os experimentos científicos em larga escala do tipo in silico (TRAVASSOS e BARROS, 2003) requerem cada vez mais recursos computacionais que podem ser locais ou distribuídos. Com a adoção do modelo de computação em 3

13 nuvem, novos desafios foram impostos ao cientista, como por exemplo, a migração dos experimentos científicos para esse novo ambiente, o que faz com que novas soluções computacionais sejam necessárias. Um dos maiores problemas enfrentados pelos cientistas durante essa migração é a coleta dos metadados de proveniência do experimento cientifico. Essa coleta de metadados, conhecida também como proveniência de dados, ainda é uma questão em aberto neste novo paradigma de computação (OLIVEIRA et al., 2010a). A proveniência, também chamada de linhagem ou pedigree, é um registro digital acerca das informações sobre os dados de entrada e saída e processos associados às etapas dos workflows científicos e ao ambiente utilizado para executá-lo. A proveniência é utilizada para permitir a repetibilidade/reprodutibilidade e oferecer dados para o melhor entendimento sobre os experimentos científicos por outros cientistas. Ao longo do desenvolvimento dessa dissertação surgiram abordagens para execução de workflows científicos em ambientes de nuvem como o Pegasus (KIM et al., 2008) e o SciCumulus (OLIVEIRA et al., 2010b, 2011a, 2011b), porém, essas abordagens não possuem ligação de metadados de proveniência com dados ontológicos, o que limita o escopo de consultas sobre os metadados de proveniência. O problema relevante abordado nessa dissertação é como capturar a proveniência distribuída em ambientes de nuvem considerando os aspectos particulares desses ambientes, como a elasticidade de recursos, instâncias virtualizadas, heterogeneidade entre as instâncias com relação a hardwares e softwares, etc. e ao mesmo tempo permitir um relacionamento com ontologias. 1.3 Objetivo Desenvolver um conjunto de serviços baseados em arquitetura de código aberto e de software livre que serão acoplados a SGWfC existentes (ou máquinas de execução de workflows científicos) e serão utilizados para auxiliar a coleta de metadados de proveniência, desenvolvendo um repositório de proveniência das atividades do workflow científico executadas na nuvem. Além disso, criar um vínculo com os metadados de proveniência local armazenados pelo SGWfC, caso o mesmo realize a captura desses metadados. Esse conjunto de serviços é uma extensão da proposta original da Matrioshka e foram adaptados de acordo com as especificidades do ambiente de nuvem. 4

14 1.4 Metodologia Para alcançar o objetivo proposto por essa dissertação, foi realizada uma revisão da literatura que nos permitiu chegar a conclusões que apontaram para a extensão das funções dos serviços da Matrioshka para a captura de metadados de proveniência nos ambientes de nuvem, além da criação de um novo modelo de dados em que seja possível armazenar esses metadados. Posteriormente, foi projetada uma adaptação na arquitetura da Matrioshka, a qual foi sendo refinada através da criação de protótipos dos serviços e do modelo de dados a ser utilizado para atender às especificidades do ambiente de nuvem, gerando assim, após a realização de vários testes, componentes de extensão para a arquitetura da Matrioshka voltada para o ambiente de nuvem (PAULINO et al., 2009, 2010, 2011). Nessa dissertação também utilizamos o conceito de estudo de caso para que se pudesse verificar o funcionamento dos componentes da extensão da arquitetura proposta utilizando o workflow OrthoSearch (CRUZ et al., 2008b), o qual foi escolhido por ser projetado para ser executado em ambientes distribuídos devido à imensa quantidade de dados e processamento a ser realizado para gerar os resultados esperados. Esse workflow é um experimento real de bioinformática utilizado pelo consórcio BiowebDB (www.biowebdb.org). 1.5 Estrutura da dissertação Essa dissertação está organizada em quatro capítulos além da introdução. O Capítulo 2 apresenta uma breve definição dos principais conceitos utilizados nessa dissertação e, portanto, devem ser definidos, como por exemplo, experimentos científicos, workflows científicos, SGWfC, computação em nuvem e proveniência de dados, além de apresentar alguns trabalhos relacionados com a execução de workflows no ambiente de nuvens. O Capítulo 3 apresenta a arquitetura proposta para a captura de proveniência de workflows científicos executados no ambiente de nuvens. O Capítulo 4 explica como foi realizado o estudo de caso para validar a arquitetura desenvolvida e apresenta os resultados obtidos. E finalmente, no Capítulo 5 é apresentada a conclusão da dissertação, evidenciando as principais contribuições e limitações da mesma, além de relacionar possíveis trabalhos futuros que podem ser desenvolvidos a partir dos resultados apresentados nessa dissertação. 5

15 Capítulo 2 - Workflows Científicos e Computação em nuvem Esse capítulo tem como objetivo definir alguns conceitos que são utilizados nessa dissertação, como experimentos científicos in silico, workflows científicos e sistemas de gerência de workflows científicos (SGWfC), dentre os quais destacaremos o VisTrails, Kepler, Taverna, Pegasus, Triana e o Swift. Levando em consideração as principais características desses SGWfC um deles foi selecionado para ser usado no estudo de caso dessa dissertação. Além dos conceitos mencionados, também definimos com mais detalhes proveniência e sua utilidade em experimentos científicos, computação em nuvem e os principais trabalhos relacionados com a execução de workflows científicos em ambientes de nuvens. 2.1 Proveniência No domínio científico é possível encontrar diferentes formas de proveniência com os mais diversos propósitos. Por exemplo, publicações são comumente utilizadas para representar a proveniência de dados e resultados de um experimento. GOBLE et al. (2003) resumem as diversas funcionalidades para as informações de proveniência da seguinte maneira: 1 Qualidade dos Dados: informações de proveniência podem ser utilizadas para estimar a qualidade e a confiabilidade dos dados baseando-se na origem dos dados e suas transformações. 2 Auditoria dos Caminhos: os dados de proveniência podem traçar rotas dos dados, determinar a utilização de recursos e detectar erros na geração de dados. 3 Controle de replicação: informações de proveniência detalhadas permitem a derivação de dados e ajudam a padronizar a replicação. 4 Atribuição: mantém controle sobre as informações do dono do experimento e seus dados. Também permite a citação e atribuem responsabilidades em caso de dados errados. 5 Informacional: permite realizar consultas baseadas nos metadados de origem para a descoberta de dados, além de prover o contexto necessário para interpretar os dados. 6

16 A proveniência pode ser classificada em diversas formas (FREIRE et al., 2008), como por exemplo, as proveniências prospectiva, retrospectiva e analítica. A primeira diz respeito ao processo de definição do workflow científico, a segunda está relacionada com a sua execução e finalmente a terceira com a análise de dados do experimento. Essa dissertação se limita ao estudo da primeira e segunda forma. Para armazenar a proveniência retrospectiva podem ser utilizados modelos de dados que utilizem como base a mais recente recomendação do Open Provenance Model (OPM) (MOREAU et al., 2008), versão 1.1, o qual propõe uma representação genérica de proveniência. O OPM expressa as relações causais entre Processos, Agentes, Artefatos e Papéis existentes em workflows. Uma das principais vantagens do OPM é facilitar a interoperabilidade de metadados de proveniência oriundos de ambientes heterogêneos independentemente da tecnologia e dos SGWfC. Por esse motivo o OPM vem sendo utilizado por diversos SGWfC (FREIRE et al., 2008). 2.2 Experimentos in silico Um experimento científico pode ser definido como um teste sob condições controladas que é realizado para demonstrar um fato conhecido, examinar a validade de uma hipótese ou determinar a eficácia de algo que ainda não foi analisado (SOANES e STEVENSON, 2003). Também pode ser definido como uma situação, criada em laboratório, que tem como objetivo observar, sob condições controladas, o fenômeno de interesse (JARRARD, 2001). Entretanto, nas últimas décadas, um novo tipo de experimento foi criado, o experimento in silico (TRAVASSOS e BARROS, 2003). Os experimentos in silico são aqueles em que tanto os objetos de estudo quanto os ambientes são simulados através de modelos computacionais. A utilização dos experimentos in silico vem aumentando muito nos últimos anos principalmente devido ao surgimento dos experimentos científicos em larga escala, os quais devido ao grande volume de dados a ser processado pode levar dias ou até meses para serem executados, por isso, precisam de um ambiente de processamento de alto desempenho (PAD). Os ambientes de PAD, tais como clusters, grades computacionais e mais recentemente, as nuvens computacionais, surgem como soluções para atender a demanda de recursos computacionais requerida pelos experimentos científicos em larga 7

17 escala. Dentre esses ambientes, as nuvens computacionais se destacam atualmente, principalmente pela facilidade de configuração e devido a uma de suas principais características, a elasticidade, o que garante que cientistas sem conhecimentos avançados de computação possam configurar seus próprios ambientes de alto desempenho, algo pouco provável de acontecer no caso de clusters e grades computacionais, além de dimensionar seu ambiente de acordo com a demanda requerida de forma específica por cada experimento, o que evita o desperdício de recursos computacionais. 2.3 Workflows científicos De acordo com o Workflow Management Coalition (WFMC, 1997, BARGA e GANNON, 2007), um workflow pode ser definido como a automação de um processo de negócio, por completo ou em parte, no qual os documentos, informações e tarefas são passadas de um participante para outro a fim de que uma ação seja tomada de acordo com uma série de regras procedimentais. Um workflow define a ordem de invocação de atividades e as condições sob as quais devem ser invocadas e sincronizadas. Esta definição foi inicialmente elaborada para definir workflows de negócio, entretanto, pode ser expandida para o domínio científico (TAYLOR et al., 2007b). Os experimentos in silico, são representados por meio do encadeamento de atividades, onde cada atividade é mapeada para uma aplicação, formando um fluxo coerente de informações e controles, onde os dados de saída de um programa são entradas do próximo programa no fluxo. A esse encadeamento de atividades dá-se o nome de workflow científico. Experimentos científicos que são modelados como workflows científicos também devem seguir um método científico específico (JARRARD, 2001) e são caracterizados pela definição e execução de diversas variações de workflows no contexto do mesmo experimento (MATTOSO et al., 2010). Estas variações incluem parâmetros, dados de entrada e até os programas que compõem o workflow. Workflows científicos se assemelham em vários pontos aos workflows de negócio. Entretanto, existem algumas diferenças entre workflows científicos e workflows de negócio que valem a pena serem ressaltadas. As principais são o grande volume de 8

18 dados que pode ser manipulado em um workflow científico, cujo tamanho é muito variável, e a heterogeneidade de tipos e fontes desses dados. 2.4 Sistemas de Gerência de Workflows Científicos Os workflows científicos podem ser gerenciados de maneira ad-hoc, mas são mais adequadamente manipulados por mecanismos chamados Sistemas de Gerência de Workflows Científicos (SGWfC), que oferecem o arcabouço necessário para executar, definir e monitorar as execuções dos workflows científicos tanto local quanto remotamente. Geralmente os SGWfC oferecem aos usuários interfaces gráficas que visam facilitar não somente a definição dos workflows, como também sua execução e seu respectivo monitoramento. Alguns desses SGWfC oferecem também apoio à coleta de proveniência dos dados e atividades utilizados durante a definição e execução dos workflows, além de apoiar também a análise desses metadados de proveniência coletados. Existem diversos SGWfC disponíveis para utilização (TAYLOR et al., 2007b), como por exemplo: Kepler (ALTINTAS et al., 2004), VisTrails (CALLAHAN et al., 2006) e o Taverna (HULL et al., 2006), concebidos para operar em ambientes centralizados, e os SGWfC Pegasus (DEELMAN et al., 2007), Triana (TAYLOR et al., 2007a) e Swift (ZHAO et al., 2007), concebidos para operar em ambientes distribuídos. Com relação ao apoio a proveniência, o Kepler possui alguns recursos como os logs, mas os mesmos não foram projetados com a finalidade de serem usados como metadados de proveniência. Swift, Triana e Pegasus apresentam mecanismos projetados especialmente para captura da proveniência da execução distribuída dos workflows. O Taverna e o VisTrails possuem de forma nativa além da coleta dos metadados de proveniência gerados durante a definição e execução dos workflows, o seu respectivo gerenciamento, facilitando assim a consulta e análise da proveniência coletada. O VisTrails possui um modelo de dados no formato XML que é usado para armazenar os metadados de proveniência coletados, além do formato relacional, o que facilita a realização de consultas a esses metadados usando a linguagem SQL e o relacionamento com outras bases de dados relacionais. Um diferencial do VisTrails é capturar a proveniência prospectiva e retrospectiva (FREIRE et al., 2008). Devido a essas características podemos concluir que o SGWfC VisTrails é o mais indicado para ser usado no estudo de caso dessa dissertação, por oferecer de forma nativa, apoio ao 9

19 gerenciamento de proveniência, com mais semântica que os demais e um modelo de dados relacional para armazenar os metadados coletados a partir do ambiente local de execução do workflow. Entretanto, é importante destacar uma característica comum a grande maioria dos SGWfC mencionados acima, nenhum possui apoio nativo ao gerenciamento de metadados de proveniência coletados a partir da execução dos workflows científicos em ambiente de nuvens, nem mesmo o Swift, concebido para operar em ambientes distribuídos. A ausência desse apoio dificulta em muito a execução de workflows científicos no ambiente de nuvens. 2.5 Computação em nuvem Nos últimos anos a computação em nuvem emergiu (VAQUERO et al., 2009) como um novo paradigma computacional onde serviços baseados na Web possibilitaram que os mais diferentes tipos de usuários pudessem obter uma grande variedade de funcionalidades, como infraestrutura, software e hardware, sem que os usuários tenham que lidar com detalhes de desenvolvimento e configuração. Esse novo paradigma computacional também permite a migração de programas e dados, que são parte fundamental quando modelamos experimentos científicos utilizando a abstração de workflows científicos, de ambientes locais para as nuvens computacionais. FOSTER et al. (2008) examinaram e detalharam as diferenças principais entre grades computacionais e nuvens computacionais, oferecendo assim uma fundamentação teórica para o entendimento e a categorização dos ambientes de nuvem. Esses autores definiram computação em nuvem como um modelo de computação distribuída em larga escala que é composto por recursos virtualizáveis, dinamicamente escaláveis e que são disponibilizados para os usuários externos através da Web. Muitas aplicações estão sendo adaptadas para nuvens, como por exemplo, redes sociais, portais de jogos, aplicações para negócios, workflows científicos (VAQUERO et al., 2009), entre outras. Os serviços mais comuns oferecidos por um ambiente de computação em nuvem e que são importantes para o apoio à execução de workflows científicos seguem os seguintes modelos de computação: 1 SaaS: Software como um Serviço - O software é hospedado na nuvem como um serviço e acessado pelos usuários de acordo com a sua necessidade. Com isso a 10

20 instalação no computador local do usuário não é mais necessária e os custos com a licença, manutenção e atualização do software são reduzidos à zero. 2 DaaS: Dados como um Serviço - Dados de vários formatos e de diversas origens podem ser acessados e manipulados de forma transparente como serviços pelos usuários. 3 IaaS: Infraestrutura como Serviço - A infraestrutura computacional como grades e clusters de empresas e grandes corporações são disponibilizadas como serviços na Web de forma que se possa tirar proveito de recursos de grande porte sem arcar com seus custos iniciais de implantação e configuração. Nessa dissertação são utilizados esses três modelos de computação para a execução e captura dos metadados de proveniência dos workflows científicos em ambientes de nuvens computacionais. Por exemplo, os dados utilizados pelas atividades que compõem o workflow são providos pelo DaaS do provedor de nuvem utilizado na execução do workflow. Dentre as principais vantagens do modelo de computação em nuvem podemos destacar o fato que um usuário comum pode acessar uma grande variedade de recursos sem ter que adquirir e configurar toda a infraestrutura computacional. Essa é uma necessidade importante para aplicações científicas, uma vez que os cientistas devem estar isolados da complexidade do ambiente, focando apenas na gerência do experimento científico. Outras vantagens de suma importância a se destacar são a elasticidade de recursos oferecida e o acesso quase que ininterrupto aos mesmos. Isto é, caso o usuário necessite de mais recursos, basta que o mesmo solicite ao provedor da nuvem e os recursos estarão disponíveis quase que instantaneamente. Devido a estas vantagens, muitos cientistas já começaram a migrar seus experimentos científicos in silico, baseados em infraestrutura computacional e simulações para o ambiente das nuvens computacionais (HOFFA et al., 2008, MATSUNAGA et al., 2008, SIMMHAN et al., 2008, WANG et al., 2008, OLIVEIRA et al., 2011a). 2.6 Proveniência de Experimentos Científicos em Nuvens Computacionais Uma das principais vantagens da utilização do ambiente de nuvens para a execução dos experimentos científicos é prover aos cientistas o acesso a uma grande 11

21 variedade de recursos sem ter que necessariamente adquirir e configurar a infraestrutura computacional. São exemplos de experimentos in silico adaptados para nuvens, os projetos Sloan Digital Sky Survey e Berkley Water Center (HEY et al., 2009). Outra característica comum a muitos desses projetos é o uso intensivo de workflows científicos utilizando vários SGWfC. Consequentemente surge a necessidade da coleta de metadados de proveniência desses workflows executados na nuvem, pois, é necessário assegurar a reprodutibilidade desses experimentos. Sem esses metadados, o experimento tem sua avaliação e reprodução comprometidas. Por exemplo, em geral a execução em ambientes de nuvem ocorre de forma transparente para o cientista, ou seja, o que se passa na nuvem é uma caixa preta. Portanto, é fundamental que os cientistas saibam quais parâmetros foram utilizados e quais produtos de dados foram gerados em cada execução do workflow. Até o momento nenhum dos ambientes de nuvem oferecem, de forma nativa, meios capazes de capturar e armazenar metadados de proveniência produzidos por experimentos in silico. A captura e o gerenciamento de metadados de proveniência em ambientes distribuídos ainda representam uma questão em aberto (FREIRE et al., 2008, MATTOSO et al., 2010). No caso do ambiente de nuvem, além dos problemas típicos dos ambientes distribuídos para a coleta de metadados de proveniência, existe a questão relativa ao tráfego desses dados utilizando a internet, o que deixa mais suscetível a falhas o sistema responsável por capturar esses metadados. Por esse motivo, a arquitetura de captura descrita nessa dissertação armazena os metadados de proveniência na própria nuvem, sendo esses dados relacionados com os dados capturados localmente pelo SGWfC VisTrails para que o cientista possa ter uma visão geral de todos os metadados de proveniência coletados, tanto localmente pelo SGWfC quanto remotamente pela Matrioshka. 2.7 Trabalhos relacionados Atualmente os ambientes de nuvem não oferecem de forma nativa o armazenamento de proveniência. Em MUNISWAMY-REDDY et al. (2009) é fornecida uma motivação para que os provedores de nuvem forneçam a captura e armazenamento de proveniência de dados na nuvem de forma nativa, independente da tarefa que está sendo executada na nuvem. Além dos benefícios de validação e reprodução de experimentos científicos, a proveniência também fornece uma maior transparência e 12

22 segurança da nuvem, fatores que são determinantes para que algumas aplicações possam ser migradas pra nuvem. Porém vários requisitos são enumerados pelo autor para que os ambientes de nuvem possam capturar e armazenar proveniência de forma nativa, e alguns desses requisitos, como por exemplo, a segurança da proveniência armazenada, precisam ser bem definidos, pois, em alguns casos pode comprometer a privacidade do usuário final da nuvem. Com isso podemos perceber que existem ainda muitos desafios para que os provedores de nuvem ofereçam a captura e armazenamento de proveniência de forma nativa, o que pode demorar ainda alguns anos e com isso prejudicar a adesão da nuvem principalmente por cientistas que desejam rodar seus experimentos nesse ambiente. Em MUNISWAMY-REDDY et al. (2009) os autores mostram também que a computação em nuvem se mostra muito eficiente para o armazenamento de dados, porém, não possui apoio para o armazenamento e posterior consulta de metadados de proveniência. São apresentadas algumas alternativas para o armazenamento da proveniência usando o ambiente de computação em nuvem da Amazon EC2 (AMAZON EC2, 2010) e utilizando o PASS (SIMMHAN et al., 2006). O PASS é um sistema para coleta e armazenamento de proveniência distribuída. O artigo propõe a utilização de três arquiteturas utilizando estruturas de armazenamento nativas da Amazon EC2, o Simple Storage Service (S3), o SimpleDB e o Simple Queueing Service (SQS). As arquiteturas utilizadas são compostas de uma ou mais estruturas de armazenamento, visando assim, minimizar suas limitações quanto ao armazenamento e posterior consulta dos dados armazenados. A arquitetura utilizando apenas o S3 se mostrou ineficiente quanto a consulta dos dados armazenados, a arquitetura utilizando S3 e SimpleDB não garante a atomicidade dos dados e a arquitetura utilizando as três estruturas de armazenamento se mostrou eficiente em todos os requisitos avaliados (atomicidade, consistência, ordenação e eficiência das consultas). Porém, é importante destacar que todo processo de armazenamento é realizado utilizando estruturas nativas da nuvem da Amazon EC2, com isso, caso o ambiente de captura de proveniência não seja a nuvem da Amazon EC2, como por exemplo, utilizando a nuvem da IBM (IBM SMART BUSINESS DEVELOPMENT & TEST, 2010), o sistema terá que ser totalmente adaptado, pois, não utiliza uma estrutura de armazenamento comum entre esses dois ambientes de nuvens. Outro ponto que merece ser destacado é a enorme quantidade de dados que são armazenados para se obter a proveniência. No ambiente de nuvem, quanto mais dados 13

23 precisam ser trafegados utilizando a internet, mais suscetível a falhas fica o sistema responsável por capturar e armazenar os metadados de proveniência. Para minimizar a quantidade de metadados que precisam ser armazenados, GROTH et al. (2009) propõem um novo modelo de proveniência. Esse novo modelo proposto armazena metadados de proveniência que são realmente consultados pelos usuários finais, visto que em outros modelos são armazenados volumes de metadados extremamente grandes, nos quais o usuário na prática consulta apenas os metadados de determinadas atividades, e com isso, a enorme quantidade de metadados se torna desnecessária. Os autores utilizam o workflow científico Montage (JACOB et al., 2009) utilizado para processamento de imagens astronômicas, nos testes realizados para armazenamento de proveniência utilizando o novo modelo proposto. Por ser um workflow que trabalha com imagens, o tamanho dos dados gerados e que precisam ser armazenados é extremamente grande, na ordem de petabytes. O modelo de proveniência pipeline-centric consiste basicamente em realizar um levantamento dos dados de proveniência que o usuário final necessita para validar e reproduzir seu experimento científico. No exemplo do artigo utilizando o Montage foi apresentada uma redução significativa do tamanho dos metadados armazenados de proveniência, porém, é preciso destacar que para cada workflow científico onde esse modelo é aplicado é necessário determinar quais metadados precisam ser armazenados. Recentemente foi proposto o sistema SciCumulus (OLIVEIRA et al., 2010b, 2011a, 2011b) com objetivo específico de executar workflows científicos em larga escala aproveitando os recursos da nuvem. Porém, o SciCumulus não possui ligação de metadados de proveniência com dados ontológicos, o que limita o escopo de consultas sobre os metadados de proveniência. 2.8 Considerações finais A computação em nuvem, principalmente devido à elasticidade de recursos e a alta disponibilidade, apresenta-se como uma interessante alternativa para a execução de experimentos científicos in silico em larga escala baseados em workflows científicos que demandam ambientes computacionais distribuídos para que sua execução ocorra em um tempo aceitável pelos cientistas. Porém, por ser uma tecnologia ainda incipiente em aplicações científicas a execução dos workflows em nuvens ainda é um problema em aberto, principalmente no que tange à captura e ao gerenciamento de metadados de 14

24 proveniência gerados nesse ambiente. 15

25 Capítulo 3 - Captura de Dados de Proveniência de Workflows Científicos em Nuvens Computacionais Nesse capítulo é proposta uma nova arquitetura estendida da Matrioshka para coletar e armazenar os metadados de proveniência de workflows científicos executados nos ambientes de nuvens computacionais. 3.1 Histórico A captura dos metadados de proveniência nos ambientes distribuídos ainda é uma questão em aberto. Mesmo dentre os SGWfC concebidos para operar em ambientes distribuídos, como o Swift, Pegasus e o Triana, existem ainda limitações para a captura de proveniência distribuída, seja ela em clusters ou grades computacionais (FOSTER e KESSELMAN, 2004). Além disso, esses poucos existentes são focados em ambientes como clusters e grades computacionais. Um exemplo destes mecanismos é a Matrioshka (CRUZ et al., 2008a, CRUZ, 2011), cuja arquitetura foi concebida para ambientes de clusters e grades computacionais, e que, por isso, utiliza serviços exclusivos desses ambientes, como por exemplo, gerenciadores de fila (i.e. PBS ou Condor), escalonadores, entre outros. As características do ambiente de nuvens computacionais, como por exemplo, elasticidade de recursos, virtualização, independência de localização, métodos de acesso, entre outras, não são apoiadas pela Matrioshka. No ambiente de nuvens computacionais, capturar a proveniência distribuída de um workflow também é um desafio ainda em aberto (OLIVEIRA et al., 2010a). Para a Matrioshka ser utilizada nas nuvens, foi necessário adaptá-la para os modelos de computação (IaaS, SaaS e DaaS) oferecidos pelos provedores de nuvens. A arquitetura da Matrioshka é composta por três componentes: Provenance Broker, Provenance Eavesdrop e o repositório de metadados de proveniência. Estes componentes operam no ambiente distribuído. No entanto, para que a Matrioshka opere no ambiente de nuvem surge a necessidade não só de alterar os três componentes principais da arquitetura original, como também agregar novos componentes, o Dispatcher e o Execution Broker, e criar o conceito de manifestos, os quais são arquivos no formato XML que permitem ao executor do workflow no ambiente de nuvem 16

26 configurar o ambiente, o experimento e as atividades que serão executadas. O Dispatcher foi criado para realizar a execução de uma determinada atividade do workflow no ambiente de nuvem. O Execution Broker foi criado para controlar a execução das atividades no ambiente de nuvem e sincronizá-las com o ambiente local, função desempenhada pelo escalonador do cluster ou grades computacionais na arquitetura original da Matrioshka, o qual não existe no ambiente de nuvem. Todos os componentes da arquitetura Matrioshka foram desenvolvidos na linguagem Java e o modelo de dados foi instanciado no SGBD relacional MySQL. 3.2 Arquitetura A arquitetura proposta para a extensão da Matrioshka no ambiente de nuvens (PAULINO et al., 2009, 2010, 2011) possui dois novos componentes incorporados em relação a sua arquitetura original, o primeiro componente tem como função invocar a execução da atividade que será realizada no ambiente de nuvens de dentro do fluxo de execução local do workflow (Dispatcher), e o segundo componente é o responsável por gerenciar essa execução (Execution Broker). Além desses componentes existem outros dois nativos da arquitetura original, o Provenance Eavesdrop, responsável por coletar os metadados de proveniência gerados pela execução das atividades do workflow nas instâncias da nuvem, e o Provenance Broker, que tem a função de persistir esses metadados coletados no modelo de dados estendido seguindo a recomendação do OPM versão 1.1 para armazenar metadados específicos do ambiente de nuvem. Todos os componentes da arquitetura proposta foram desenvolvidos utilizando a linguagem Java e compilados no formato JAR, o que facilita a execução dos mesmos em qualquer sistema operacional. O Execution Broker, Provenance Broker e o Provenance Eavesdrop são os componentes que trabalham no ambiente de nuvem, já o Dispatcher é o componente que trabalha na máquina local onde o workflow é gerenciado pelo SGWfC. A comunicação entre o ambiente local de execução do workflow e o ambiente de nuvens é realizada através dos arquivos de manifesto, os quais são: o arquivo de manifesto de configuração do ambiente da nuvem, o manifesto com os dados do experimento científico e o manifesto com os dados das atividades que serão executadas em nuvem. A comunicação entre os componentes da Matrioshka é síncrona e utiliza o protocolo SSH através da biblioteca Ganymed (GANYMED, 2011). A Figura 1 17

27 apresenta a adaptação da arquitetura da Matrioshka proposta para a coleta de metadados de proveniência de workflows executados em ambientes de nuvens. Os componentes da arquitetura apresentada são explicados detalhadamente durante as próximas seções. Figura 1. Arquitetura Matrioshka adaptada para a captura de proveniência de workflows científicos executados no ambiente de nuvens (PAULINO et al., 2009, 2010, 2011) Manifestos Os arquivos de manifestos são usados para três propósitos. Cada propósito é representado por um arquivo de manifesto específico. O primeiro visa especificar as configurações do ambiente de nuvem que não puderam ser capturadas automaticamente (SetupManifest.xml), o segundo especifica os dados do experimento a ser executado (ExperimentManifest.xml) e o terceiro detalha os dados das atividades que são executadas no ambiente de nuvem (ActivityManifest.xml). As principais vantagens dos arquivos de manifesto são o fato de eles serem tecnologicamente agnósticos e representarem um conjunto de metadados de proveniência prospectiva associada à execução de uma ou mais atividades de um workflow na nuvem. Grande parte desses metadados será armazenada no Repositório de Proveniência da Nuvem pelo Provenance Broker, conforme mostrado na Figura 1. 18

28 Em seguida vamos detalhar as informações contidas em cada um dos arquivos de manifesto utilizados. Inicialmente vamos detalhar o arquivo SetupManifest.xml. É importante destacar que os dados das instâncias que estão sendo executadas no ambiente de nuvem que o usuário possui acesso e os dados das imagens de instâncias são coletados automaticamente pelo Execution Broker. A Figura 2 é uma representação da estrutura do arquivo SetupManifest.xml. Figura 2. Estrutura do arquivo de manifesto de configuração da nuvem. SetupManifest.xml O arquivo SetupManifest.xml possui as seguintes informações: InstanceConfigurations: Dados de configurações das instâncias da nuvem, como por exemplo, quantidade de memória principal e secundária, arquitetura, capacidade de processamento, etc. UserSubscribe: Dados que são utilizados para acesso do usuário no ambiente de nuvem e a quais imagens de instâncias da nuvem o mesmo criou ou possui acesso. ConcreteActivities: Dados das atividades concretas do workflow. É importante destacar que os programas que representam essas atividades devem estar instalados previamente no ambiente antes que as mesmas sejam executadas. Nesse elemento do arquivo XML também é especificado em quais imagens esses programas estão instalados. ActivityParameter: São especificados os valores dos parâmetros que podem ser informados para as atividades concretas. CloudAccess: Nesse elemento do arquivo XML são especificados os dados de acesso necessários para que o usuário possa utilizar os serviços da nuvem, além de informar qual o endereço da instância que está executando o componente Execution Broker. 19

29 ProvenanceBroker: Dados para acessar o Repositório de Proveniência da Nuvem. A Figura 3 contém a representação da estrutura do arquivo ExperimentManifest.xml, o qual vamos detalhar a seguir. Figura 3. Estrutura do arquivo de manifesto com a especificação dos dados do experimento. ExperimentManifest.xml CloudProvider: Dados do provedor do ambiente de nuvem e quais imagens de instância estão armazenadas nesse provedor. Institution / Laboratory: Dados da instituição / laboratório ao qual o pesquisador que criou ou está executando o experimento está vinculado. Researcher: Dados pessoais do pesquisador e informa qual o seu usuário no ambiente de nuvem. Experiment: Informações acerca do experimento, como por exemplo, área, referência bibliográfica, data de criação do experimento, etc. ResearchProject: Informações acerca do projeto de pesquisa, como por exemplo, pesquisador coordenador, data de início, duração prevista, etc. 20

30 AbstractWorkflow: Dados do workflow abstrato, como por exemplo, a qual experimento ele está vinculado, qual pesquisador foi o responsável por sua criação, etc. ConcreteWorkflow: Informações sobre o workflow concreto, dentre as quais podemos destacar, qual o pesquisador responsável por sua criação, qual(is) pesquisador(es) tem(têm) permissão para executá-lo, quais atividades concretas (informadas no SetupManifest.xml) fazem parte desse workflow, a qual workflow do ambiente local de execução o workflow executado no ambiente de nuvens está relacionado, etc. AbstractActivities: Dados das atividades abstratas que fazem parte desse workflow e qual(is) atividade(s) concreta(s) as representam. CloudAccess / ProvenanceBroker: Mesmas funções informadas durante o detalhamento do SetupManifest.xml. ProvenanceVT: Dados para acessar o Repositório de Proveniência Local. Para finalizar os arquivos de manifestos vamos detalhar o ActivityManifest.xml, o qual possui sua estrutura representada na Figura 4. Para cada atividade executada no ambiente de nuvens é criado um arquivo de manifesto ActivityManifest.xml correspondente aos dados dessa atividade. Figura 4. Estrutura do arquivo de manifesto com a especificação dos dados da atividade a ser executada no ambiente de nuvem. ActivityManifest.xml RemoteActivity: Arquivos de entrada e saída da atividade a ser executada no ambiente de nuvem, nome da atividade concreta a ser executada, quantidade de instâncias da nuvem utilizadas na execução da atividade, etc. CloudAccess / ProvenanceBroker: Mesmas funções informadas durante o detalhamento do SetupManifest.xml. 21

31 Todos os arquivos de manifesto são enviados para o ambiente de nuvens usando o protocolo de comunicação SCP. Com isso o Execution Broker realiza a leitura desses arquivos e, posteriormente, o Provenance Broker realiza a inserção dos dados lidos a partir do SetupManifest.xml e do ExperimentManifest.xml no Repositório de Proveniência da Nuvem. Os dados informados no ActivityManifest.xml são usados para executar as atividades usando os arquivos de entrada e na quantidade de instâncias informadas pelo usuário Dispatcher Inicialmente é necessário determinar qual atividade do workflow deve ser executada na nuvem. A mesma será substituída na modelagem do workflow no SGWfC por um módulo chamado Dispatcher. O Dispatcher é o módulo responsável pela invocação remota dessa atividade na nuvem. É importante destacar que o programa associado a esta atividade deve ser anteriormente instalado nas imagens a partir das quais são criadas as instâncias a que o usuário possui acesso na nuvem. O Dispatcher recebe como parâmetro de entrada um dos seguintes arquivos de manifesto: SetupManifest.xml, ExperimentManifest.xml ou ActivityManifest.xml, os quais são preenchidos conforme descrito na seção O Dispatcher realiza a comunicação e o envio dos arquivos de manifesto para o componente Execution Broker, o qual é executado no ambiente de nuvem, fazendo uso respectivamente dos protocolos de comunicação SSH e SCP. A Figura 5 mostra como é realizada a substituição de uma atividade executada localmente para a execução da mesma no ambiente de nuvem em um workflow para mineração de texto (OLIVEIRA et al., 2007) definido no SGWfC VisTrails. 22

32 Figura 5. Substituição da atividade executada localmente pelo Dispatcher no VisTrails Uma outra função do Dispatcher é coletar do Repositório de Proveniência Local do SGWfC o identificador do workflow que está sendo executado e armazená-lo no ExperimentManifest.xml (tag ConcreteWorkflow). Esse identificador é utilizado pelas consultas de proveniência para realizar o relacionamento dos dados armazenados nos dois repositórios de proveniência, tanto o local quanto o da nuvem Execution Broker O Execution Broker é instalado em uma instância do ambiente de nuvem e possui como funções disparar a execução da atividade nas instâncias da nuvem a que o usuário possui acesso e na quantidade que foi informada no arquivo de manifesto ActivityManifest.xml invocando o componente Provenance Eavesdrop, realizar a leitura dos arquivos de manifesto SetupManifest.xml e ExperimentManifest.xml para que os dados dos mesmos sejam armazenados no Repositório de Proveniência da Nuvem ou no banco de dados de Configuração e validar os dados de segurança do usuário para acesso ao ambiente de nuvem no banco de dados de Configuração. Esse banco de dados, conceitualmente explicando, é diferente do Repositório de Proveniência da Nuvem, porém, ambos são implementados em um mesmo banco de dados físico, visto que essas informações de Configuração do ambiente de nuvem podem ser usadas como metadados de proveniência. O Execution Broker utiliza threads para invocar a execução de uma atividade em mais de uma instância do ambiente de nuvem simultaneamente. 23

33 Quando a execução da atividade é concluída nas instâncias em que foi disparada, o Execution Broker repassa essa informação ao Dispatcher para que o fluxo de execução local do workflow no SGWfC continue normalmente Provenance Broker O Provenance Broker, assim como o Execution Broker, também é instalado em uma instância no ambiente de nuvem, geralmente na mesma instância do Execution Broker, mas não existem impedimentos para a instalação desse componente em qualquer outra instância do ambiente de nuvem. A função do Provenance Broker é persistir no Repositório de Proveniência da Nuvem e no banco de dados de Configuração os metadados capturados pelo Provenance Eavesdrop durante a execução das atividades na instância ou pelo Execution Broker durante a leitura dos arquivos de manifesto. O Provenance Broker é um componente da arquitetura original da Matrioshka, no qual foi necessário realizar algumas alterações, as quais foram basicamente a adequação do componente para trabalhar como um serviço disponibilizado no ambiente de nuvem, acessado tanto pelo Execution Broker quanto pelo Provenance Eavesdrop Provenance Eavesdrop O Provenance Eavesdrop é o componente responsável por executar a atividade e capturar os metadados de proveniência gerados durante essa execução em cada uma das instâncias onde as atividades estão sendo executadas. O Provenance Eavesdrop é o componente da arquitetura que interage diretamente com a instância onde ocorre a execução da atividade, além de interagir com o Execution Broker, mantendo-o informado sobre o andamento da execução da atividade e com o Provenance Broker enviando os metadados de proveniência gerados por essa execução. É importante destacar que a instalação do Provenance Eavesdrop é obrigatória em todas as instâncias do ambiente de nuvem que são utilizadas para executar as atividades. Geralmente essa instalação é realizada na imagem utilizada para a criação dessas instâncias, facilitando assim a alocação de novas instâncias no ambiente de nuvem. O Provenance Broker e o Provenance Eavesdrop trabalham com dados produzidos no ambiente de nuvem que podem ser originados de diversas fontes, como 24

34 por exemplo, processos em execução, arquivos utilizados ou produzidos ou informações sobre as instâncias. Assim como o Provenance Broker, o Provenance Eavesdrop também é um componente da arquitetura original da Matrioshka, porém, pelo fato do mesmo interagir diretamente com as instâncias da nuvem foram realizadas nesse componente e no Repositório de Proveniência da Nuvem as principais adaptações necessárias para o funcionamento da arquitetura proposta Repositório de Proveniência da Nuvem A Matrioshka foi adaptada para o ambiente de nuvens com um novo modelo de metadados de proveniência motivado pelas diferenças dos dados disponíveis em clusters e grades computacionais. Como exemplo de algumas dessas diferenças, podemos citar o fato de que as nuvens são fortemente baseadas nos conceitos de virtualização de recursos, onde um cientista pode acessar uma ou mais contas em diferentes provedores de serviço de nuvem que provêem diferentes tipos de instâncias no que se refere à configuração do hardware e software. Além disto, é necessário registrar em qual instância os produtos de dados das atividades do workflow se encontram, quais foram os recursos consumidos, versão dos programas utilizados, dentre outros. Na proposta original do modelo de dados da Matrioshka havia metadados tais como nós do cluster e detalhes do jobs, os quais eram coletados do ambiente de clusters ou grades computacionais, de forma a descrever o ambiente de execução. Além disso, não havia correlação com a atual versão do OPM. Entretanto, ao desenvolvermos a adaptação da Matrioshka para o ambiente de nuvem, muitos destes metadados perderam o sentido ou devem ser representados de maneira diferente. Por exemplo, o conceito de nó é substituído por máquinas virtuais (instâncias) disponibilizadas pelos provedores de nuvens computacionais e cada instância pode ser diferente da outra no que se refere ao hardware e ao software, pois, o ambiente de nuvens é altamente heterogêneo. Para garantir a reprodutibilidade do experimento é essencial que todos os metadados que descrevem o ambiente de execução e os parâmetros de entrada das atividades do workflow sejam coletados. Visando isso, essa dissertação propõe um novo modelo de dados a ser utilizado pela Matrioshka no ambiente de nuvens. A Figura 6 apresenta esse modelo de dados de proveniência adotado na adaptação da Matrioshka para o ambiente 25

35 de nuvens. Ele é representado como um diagrama de classes UML e é resultado de um levantamento sobre quais metadados de proveniência podem ser capturados pelos componentes Provenance Eavesdrop e Execution Broker. O modelo de dados é composto por quatro partes principais: (i) elementos que representam os processos que serão distribuídos nas instâncias na nuvem, por exemplo, as atividades do workflow; (ii) elementos que representam os cientistas, associados a execução e definição do workflow; (iii) elementos que representam os artefatos e recursos computacionais utilizados em determinada execução do workflow, e por fim; (iv) elementos que representam informações relacionadas com a temporalidade do workflow e suas atividades. Figura 6. Modelo de dados de proveniência para o ambiente de nuvens 26

36 Uma vez que o modelo de dados seguiu a recomendação do OPM, temos que, as classes na cor amarela correspondem à representação conceitual de um Artefato-OPM, possuindo a mesma semântica, isto é, representam estruturas digitais em sistemas de computação (i.e. parâmetros, bancos de dados, arquivos, instâncias, entre outros). As classes na cor verde são mapeadas como um Processo-OPM. Um processo representa uma ou mais ações que utilizam ou atuam sobre artefatos e produzem novos artefatos. As classes na cor azul representam um Agente-OPM. Um agente é um elemento que catalisa, possibilita, controla ou afeta a execução de um processo. As classes na cor alaranjada são mapeadas como Papéis-OPM. Um papel determina e correlaciona a função de um agente ou artefato em um processo. A classe matri_execution representa o momento das execuções de um processo na nuvem, com a respectiva instância onde ocorreu a execução e o usuário que realizou a mesma. A utilização desse modelo de dados para armazenar os metadados de proveniência coletados no ambiente de nuvens relacionado ao Repositório de Proveniência Local pode responder várias consultas a serem realizadas pelos cientistas sobre o experimento executado, como por exemplo, Quantos workflows concretos foram necessários para mapear o workflow abstrato X?, Em qual diretório e de qual instância foram armazenados os arquivos de saída da atividade Y?, Qual o diretório da máquina local, onde está instalado o SGWfC, que armazena o arquivo de manifesto utilizado para executar a atividade Z?. No Capítulo 4, onde é descrito o estudo de caso para validar a arquitetura proposta para captura de proveniência, são mostradas as respostas a essas e outras possíveis consultas que podem ser realizadas pelos cientistas. 3.3 Bibliotecas utilizadas na implementação Os componentes da arquitetura descrita nas seções anteriores utilizam as seguintes bibliotecas para facilitar o desenvolvimento de algumas funções: a) AWS SDK for Java 1.2.1: Biblioteca desenvolvida pela Amazon para disponibilizar aos desenvolvedores todas as rotinas que podem ser realizadas no ambiente de nuvem da Amazon através da linguagem Java, como por exemplo, listar todas as instâncias que um usuário da nuvem da Amazon possui. b) Ganymed SSH-2 for Java: Biblioteca que possui funções para utilizar os protocolos de comunicação SSH e SCP para, por exemplo, acessar as instâncias na nuvem ou enviar arquivos de manifesto. 27

37 c) XStream 1.1.3: Biblioteca para a leitura e escrita de arquivos XML, a qual é utilizada para trabalhar com os arquivos de manifesto. d) Driver JDBC para o MySQL 5.1.6: Biblioteca utilizada para realizar a conexão com o SGBD MySQL, o qual armazena o Repositório Local e da Nuvem de Proveniência. É importante destacar que todas as bibliotecas usadas na arquitetura proposta podem ser utilizadas gratuitamente. 3.4 Considerações finais Durante a implementação dos componentes da arquitetura proposta surgiram dificuldades, dentre as quais, destacamos o levantamento de quais metadados deveriam ser coletados no ambiente de nuvem e como ocorreria a comunicação entre os componentes. O levantamento dos metadados a serem coletados foi direcionado pela ontologia de proveniência proposta por (CRUZ, 2011), a qual norteou a escolha desses metadados. Quanto à comunicação entre os componentes da arquitetura, as dificuldades encontradas foram com relação à comunicação do ambiente local (Dispatcher) com o ambiente de nuvem (Execution Broker, Provenance Broker e o Provenance Eavesdrop). Para solucionar esse problema foram utilizados os protocolos de comunicação SSH e SCP, os quais permitem a execução de comandos remotamente e a transmissão de arquivos. 28

38 Capítulo 4 - Avaliação da arquitetura proposta A arquitetura proposta nessa dissertação foi avaliada utilizando um experimento real da área de bioinformática. Todas as atividades que fazem parte do workflow que representa esse experimento foram executadas no ambiente de nuvem, favorecendo assim a verificação do funcionamento da coleta dos metadados de proveniência dessas atividades e a posterior consulta aos mesmos, integrando-os com os dados da proveniência local coletada pelo SGWfC. O OrthoSearch possui como principal função detectar homologias distantes em protozoários (CRUZ et al., 2008b). Inicialmente esse workflow foi desenvolvido utilizando scripts na linguagem de programação Perl. Esse workflow tem sido utilizado pelo consórcio BiowebDB (www.biowebdb.org). 4.1 OrthoSearch A grande maioria das doenças negligenciadas pelas empresas farmacêuticas afetam, principalmente, as populações de baixa renda de países em desenvolvimento na Ásia, África e América do Sul. Essas populações não possuem condições financeiras de adquirir medicamentos, por isso, não são prioridade para as empresas farmacêuticas. Esse fato vem chamando a atenção de um número cada vez maior de cientistas da comunidade científica internacional, pois, existe uma imensa necessidade de pesquisa dessas doenças para criação de remédios visando minimizar a contaminação e a morte de milhões de seres humanos. A maioria dessas doenças é causada por cinco protozoários, Trypanosoma cruzi, Trypanosoma brucei, Leishmania major, Plasmodium falciparum e Entamoeba histolytica. Para explorar as informações e conhecer melhor esses cinco protozoários são usados modelos computacionais, objetivando descobrir maneiras eficientes e de baixo custo para o controle das doenças causadas por eles. O OrthoSearch foi criado para facilitar as tarefas de pesquisa, análise e apresentação das semelhanças entre estruturas de diferentes organismos que possuem a mesma origem ortogenética e filogenética desses cinco protozoários, utilizando o Ptn DB, um repositório de proteínas (arquivo FASTA) de cada protozoário, e os 29

39 comparando com os arquivos contidos no COGs DB, copiados previamente do repositório do National Center for Biotechnology Information (www.ncbi.nlm.nih.gov/cog). Esses arquivos COGs armazenam genes ortólogos, ou seja, que possuem um ancestral em comum, das vias metabólicas, as quais desempenham um papel fundamental na vida dos protozoários. Esses serão os dados de entrada do OrthoSearch. A Figura 7 mostra o workflow OrthoSearch completo, porém, no experimento dessa dissertação estaremos utilizando apenas uma parte desse workflow, visto que o foco é a coleta de proveniência e apenas com algumas das atividades realizadas por esse workflow foi possível verificar o funcionamento da arquitetura proposta. Além dos dados de entrada, COGs DB e Ptn DB, explicados anteriormente, foram utilizados o programa MAFFT e o pacote de programas HMMER, com exceção do programa HMMPFAM. O MAFFT otimiza o alinhamento dos genes ortólogos com base em propriedades físicas dos aminoácidos, reduzindo o tempo de processamento nas demais atividades do workflow. O HMMER é um conjunto de programas que tem a função de descobrir as melhores correspondências entre os genes dos protozoários com os genes armazenados nos arquivos COGs. Na Figura 7 é demarcada, com um retângulo de linha contínua, a parte do workflow OrthoSearch que será utilizada no experimento dessa dissertação para avaliar a arquitetura proposta. Figura 7. Workflow OrthoSearch (CRUZ et al., 2008b) 30

40 4.2 Configuração do ambiente O ambiente de nuvem inicialmente utilizado para realização dos testes com os módulos desenvolvidos foi o da IBM, que possui o mesmo modelo de acesso e controle utilizado pela nuvem da Amazon. Já o estudo de caso apresentado nessa dissertação utilizando o experimento OrthoSearch foi realizado na nuvem da Amazon, utilizando a Elastic Compute Cloud (EC2), o ambiente de nuvem propriamente dito da Amazon, e o Simple Storage Service (S3), o serviço de armazenamento disponibilizado pela Amazon. É importante destacar que a nuvem da Amazon é comercial e, portanto, a cobrança é realizada de acordo com os recursos utilizados. Porém, existem alguns softwares livres, como por exemplo, o Eucalyptus (NURMI et al., 2008) que permitem a instalação e configuração de um ambiente de nuvem utilizando recursos computacionais próprios e que devido a isso não são realizadas cobranças a cada utilização do ambiente, como ocorre nos ambientes de nuvens comerciais. No ambiente de nuvem da Amazon existem vários tipos de configuração de hardware de instâncias, os quais variam de acordo com a imagem utilizada para criar a instância. Essa imagem é criada utilizando o serviço Amazon Machine Image (AMI) com o intuito de armazenar os softwares instalados na instância e evitar perda de tempo na instalação desses softwares toda vez que uma instância é criada. Essa imagem é armazenada dentro do próprio ambiente de nuvem da Amazon, em um serviço chamado Elastic Block Store (EBS). As imagens de instâncias utilizadas nesse experimento são as seguintes: (i) ami-16c3367f: Nessa imagem está instalado o sistema operacional Ubuntu 10.10, o SGBD MySQL , para armazenamento do Repositório de Proveniência da Nuvem, os componentes da arquitetura proposta Execution Broker e Provenance Broker e o Java Runtime Environment 6 para execução desses componentes. (ii) ami-e2c3368b: Nessa imagem está instalado o sistema operacional Ubuntu 10.10, o componente da arquitetura proposta Provenance Eavesdrop, o Java Runtime Environment 6 para execução desse componente, o sistema de arquivos S3QL (S3QL, 2011), o qual é utilizado para mapear os dados armazenados no serviço Amazon Simple Storage Service (S3) onde estão os dados de entrada/saída utilizados/gerados pelo workflow e os seguintes programas usados pelas atividades do workflow: MAFFT 6.717b e o pacote de programas 31

41 HMMER 2.3.2, o qual é composto pelo HMMBUILD, HMMCALIBRATE e HMMSEARCH. As duas imagens são executadas na arquitetura i386 e ocupam cada uma 15 Gb de espaço no EBS. Os tipos de configurações de hardware disponíveis e o preço de utilização por hora para as imagens acima durante a execução do experimento realizado no dia 30/07/2011 foram os seguintes: Quadro 1. Configuração de hardware e preços de utilização dos tipos de instâncias disponíveis Tipo da Disco Unidades de Cores de Memória instância rígido processamento processamento Arquitetura Preço Small 1.7 Gb ECU* 1 Core 32 bits $0,085/h Gb Medium 1.7 Gb ECU* 2 Cores 32 bits $0,17/h Gb Micro 613 Mb 15 Gb 1 ECU* 1 Core 32 ou 64 $0,02/h bits *ECU (EC2 Compute Unit): 1 ECU é equivalente a capacidade de processamento de 1.0 a 1.2 GHz. Dentre os tipos de instâncias disponíveis para serem utilizadas nesse experimento utilizamos o tipo Micro. Esse tipo foi escolhido basicamente pelo baixo custo de utilização e pelo fato do experimento proposto não levar em consideração questões relativas ao desempenho. 4.3 Configuração do experimento O workflow OrthoSearch foi definido no SGWfC VisTrails, conforme mostrado na Figura 8. As quatro primeiras atividades do workflow foram utilizadas para armazenar no Repositório de Proveniência da Nuvem os metadados relativos à configuração do ambiente, através do arquivo de manifesto SetupManifest.xml, além dos dados coletados do ambiente de nuvem pelo Execution Broker, e a configuração do experimento, através do arquivo de manifesto ExperimentManifest.xml. As outras oito atividades representam os programas utilizados pelo workflow, com seus respectivos arquivos de manifesto ActivityManifest.xml, para processar os arquivos de entrada. Todas as atividades, tanto as de configuração do ambiente quanto do experimento, e as atividades do workflow OrthoSearch são executadas no ambiente de nuvem da Amazon. 32

42 Figura 8. Workflow utilizado para avaliação da arquitetura proposta A execução do experimento foi realizada utilizando seis instâncias do tipo Micro, sendo cinco instanciadas a partir da imagem ami-e2c3368b, a qual possui a instalação dos programas utilizados pelas atividades do workflow OrthoSearch. Nessas instâncias foram mapeados os diretórios armazenados no S3 usando o sistema de arquivos S3QL. Esses diretórios foram utilizados para armazenar todos os arquivos de entrada/saída usados/gerados por esse workflow. Cada instância possui um diretório específico. A sexta instância foi criada a partir da imagem ami-16c3367f, onde foi armazenado o Repositório de Proveniência da Nuvem. Essa instância foi a responsável por receber as informações de execuções e metadados de proveniência gerados pelas 33

Captura de Metadados de Proveniência para Workflows Científicos em Nuvens Computacionais

Captura de Metadados de Proveniência para Workflows Científicos em Nuvens Computacionais Captura de Metadados de Proveniência para Workflows Científicos em Nuvens Computacionais Carlos Paulino, Daniel de Oliveira, Sérgio Manuel Serra da Cruz, Maria Luiza Machado Campos, Marta Mattoso Universidade

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

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

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 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE Andressa T.R. Fenilli 1, Késsia R.C.Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil andressa.trf@gmail.com, kessia@unipar.br Resumo. Computação em

Leia mais

UMA ABORDAGEM PARA ALTERAÇÃO NA DEFINIÇÃO DE ATIVIDADES DE WORKFLOWS CIENTÍFICOS EM TEMPO DE EXECUÇÃO. Igor de Araujo dos Santos

UMA ABORDAGEM PARA ALTERAÇÃO NA DEFINIÇÃO DE ATIVIDADES DE WORKFLOWS CIENTÍFICOS EM TEMPO DE EXECUÇÃO. Igor de Araujo dos Santos UMA ABORDAGEM PARA ALTERAÇÃO NA DEFINIÇÃO DE ATIVIDADES DE WORKFLOWS CIENTÍFICOS EM TEMPO DE EXECUÇÃO Igor de Araujo dos Santos Dissertação de Mestrado apresentada ao Programa de Pós-graduação em Engenharia

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 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Classificação::Modelo de implantação

Classificação::Modelo de implantação Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;

Leia mais

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada

Leia mais

SciCumulus 2.0: Um Sistema de Gerência de Workflows Científicos para Nuvens Orientado a Fluxo de Dados *

SciCumulus 2.0: Um Sistema de Gerência de Workflows Científicos para Nuvens Orientado a Fluxo de Dados * paper:6 SciCumulus 2.0: Um Sistema de Gerência de Workflows Científicos para Nuvens Orientado a Fluxo de Dados * Vítor Silva 1, Daniel de Oliveira 2 e Marta Mattoso 1 1 COPPE Universidade Federal do Rio

Leia mais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

Leia mais

SciProvMiner: Arquitetura para Captura de Proveniência de dados de Workflows Científicos utilizando o Modelo OPM

SciProvMiner: Arquitetura para Captura de Proveniência de dados de Workflows Científicos utilizando o Modelo OPM SciProvMiner: Arquitetura para Captura de Proveniência de dados de Workflows Científicos utilizando o Modelo OPM Tatiane O. M. Alves Regina M. M. Braga Departamento de Ciência da Computação Universidade

Leia mais

Paralelização de Tarefas de Mineração de Dados Utilizando Workflows Científicos 1

Paralelização de Tarefas de Mineração de Dados Utilizando Workflows Científicos 1 Paralelização de Tarefas de Mineração de Dados Utilizando Workflows Científicos 1 Carlos Eduardo Barbosa, Eduardo Ogasawara, Daniel de Oliveira, Marta Mattoso PESC COPPE Universidade Federal do Rio de

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

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

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate

TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate Workshop Divisão Tributária 18.04.2013 CIESP - CAMPINAS PROGRAMA 1. BREVE INTRODUÇÃO À COMPUTAÇÃO EM NUVEM 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM Ederson dos Santos Cordeiro de Oliveira 1, Tiago Piperno Bonetti 1, Ricardo Germano 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil edersonlikers@gmail.com,

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

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Alexandre Malveira, Wolflan Camilo

Alexandre Malveira, Wolflan Camilo Alexandre Malveira, Wolflan Camilo Introdução Cloud Computing Computação Móvel SaaS, PaaS e IaaS CloudBees Diariamente arquivos são acessados, informações dos mais variados tipos são armazenadas e ferramentas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Clayton Maciel Costa

Leia mais

Importância do GED. Implantação de um Sistema de GED

Importância do GED. Implantação de um Sistema de GED Implantação de um Sistema de GED Gerenciamento Eletrônico de Documentos Importância do GED O GED tem uma importante contribuição na tarefa da gestão eficiente da informação; É a chave para a melhoria da

Leia mais

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

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

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

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ TRIBUTAÇÃO NA NUVEM Tax Friday 21 de outubro de 2011 AMCHAM - RJ PROGRAMA 1. INTRODUÇÃO À COMPUTAÇÃO EM NUVEM CONCEITOS APLICÁVEIS 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS INTRODUÇÃO À

Leia mais

Estratégias para avaliação da segurança da computação em nuvens

Estratégias para avaliação da segurança da computação em nuvens Academia de Tecnologia da IBM White paper de liderança de pensamento Novembro de 2010 Estratégias para avaliação da segurança da computação em nuvens 2 Proteção da nuvem: do desenvolvimento da estratégia

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Computação em Nuvem Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente Computadores

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

2 Preliminares. 2.1. Estado da Arte. 2.1.1. Workflows Científicos

2 Preliminares. 2.1. Estado da Arte. 2.1.1. Workflows Científicos 2 Preliminares 2.1. Estado da Arte 2.1.1. Workflows Científicos As primeiras definições de workflow surgiram como uma forma de descrever processos realizados em escritório, que configuram uma sequência

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

Como a nuvem mudará as operações de liberação de aplicativos

Como a nuvem mudará as operações de liberação de aplicativos DOCUMENTAÇÃO TÉCNICA Junho de 2013 Como a nuvem mudará as operações de liberação de aplicativos Jacob Ukelson Entrega de aplicativos Sumário Resumo executivo 3 Seção 1: 4 Mudando o cenário de automação

Leia mais

Quarta-feira, 09 de janeiro de 2008

Quarta-feira, 09 de janeiro de 2008 Quarta-feira, 09 de janeiro de 2008 ÍNDICE 3 4 RECOMENDAÇÕES DE HARDWARE PARA O TRACEGP TRACEMONITOR - ATUALIZAÇÃO E VALIDAÇÃO DE LICENÇAS 2 1. Recomendações de Hardware para Instalação do TraceGP Este

Leia mais

EXIN Cloud Computing Fundamentos

EXIN Cloud Computing Fundamentos Exame Simulado EXIN Cloud Computing Fundamentos Edição Maio 2013 Copyright 2013 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

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

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

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

Projeto OBAA. Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias. Proposta de Federação de Repositórios de Objetos Educacionais.

Projeto OBAA. Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias. Proposta de Federação de Repositórios de Objetos Educacionais. Edital MCT/FINEP/MC/FUNTTEL Plataformas para Conteúdos Digitais 01/2007 Projeto OBAA Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias Proposta de Federação de Repositórios de Objetos Educacionais

Leia mais

HEURÍSTICAS PARA CONTROLE DE RE-EXECUÇÃO PARALELA DE WORKFLOWS CIENTÍFICOS EM NUVENS DE COMPUTADORES. Flavio da Silva Costa

HEURÍSTICAS PARA CONTROLE DE RE-EXECUÇÃO PARALELA DE WORKFLOWS CIENTÍFICOS EM NUVENS DE COMPUTADORES. Flavio da Silva Costa HEURÍSTICAS PARA CONTROLE DE RE-EXECUÇÃO PARALELA DE WORKFLOWS CIENTÍFICOS EM NUVENS DE COMPUTADORES Flavio da Silva Costa Dissertação de Mestrado apresentada ao Programa de Pós-graduação em Engenharia

Leia mais

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

Impactos do Envelhecimento de Software no Desempenho dos Sistemas. Jean Carlos Teixeira de Araujo jcta@cin.ufpe.br

Impactos do Envelhecimento de Software no Desempenho dos Sistemas. Jean Carlos Teixeira de Araujo jcta@cin.ufpe.br Impactos do Envelhecimento de Software no Desempenho dos Sistemas Jean Carlos Teixeira de Araujo jcta@cin.ufpe.br 1 Agenda Introdução; Software Aging; Software Rejuvenation; Laboratório MoDCS Cloud; Dúvidas?

Leia mais

Minicurso Computação em Nuvem Prática: Openstack

Minicurso Computação em Nuvem Prática: Openstack Grupo de Pesquisa em Software e Hardware Livre André Rover de Campos Membro Colméia andreroverc@gmail.com Joinville Minicurso Computação em Nuvem Prática: Openstack Roteiro Definições Virtualização Data

Leia mais

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Resumo. Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Autor: Danilo Humberto Dias Santos Orientador: Walteno Martins Parreira Júnior Bacharelado em Engenharia da Computação

Leia mais

Novas tecnologias otimizando a avaliação de bens

Novas tecnologias otimizando a avaliação de bens Novas tecnologias otimizando a avaliação de bens Avaliando Imóveis Urbanos em 2 minutos Antônio Pelli Neto Eng. Civil e Mecânico INTRODUÇÃO Agenda: Conceitos básicos sobre Avaliando nas Nuvens Porque somente

Leia mais

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2 ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 Definição de uma tecnologia de implementação e do repositório de dados para a criação da ferramenta

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

A seguir, respostas aos questionamentos referentes ao Pregão Presencial nº 17/14:

A seguir, respostas aos questionamentos referentes ao Pregão Presencial nº 17/14: Senhores, A seguir, respostas aos questionamentos referentes ao Pregão Presencial nº 17/14: Questionamento 1: 2. ESPECIFICAÇÕES TÉCNICAS MÍNIMCAS No que diz respeito ao subitem 2.1.2, temos a seguinte

Leia mais

XXXVIII Reunião Anual da SBNeC

XXXVIII Reunião Anual da SBNeC XXXVIII Reunião Anual da SBNeC Introdução ao Armazenamento de Dados de Experimentos em Neurociência Parte 3: Uso de questionários digitais (continuação) + Ferramentas para Gerenciamento de Arquivos Amanda

Leia mais

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

Leia mais

Núvem Pública, Privada ou Híbrida, qual adotar?

Núvem Pública, Privada ou Híbrida, qual adotar? Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 03/04/2015 Núvem Pública, Privada ou Híbrida, qual adotar? Paulo Fernando Martins Kreppel Analista de Sistemas

Leia mais

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

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Engenharia de Sistemas Computacionais

Engenharia de Sistemas Computacionais Engenharia de Sistemas Detalhes no planejamento UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Introdução Na aplicação de um sistema

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

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

DIGIMAN. WTB Tecnologia 2009. www.wtb.com.br

DIGIMAN. WTB Tecnologia 2009. www.wtb.com.br DIGIMAN MANDADO JUDICIAL ELETRÔNICO Arquitetura WTB Tecnologia 2009 www.wtb.com.br Arquitetura de Software O sistema DIGIMAN é implementado em três camadas (apresentação, regras de negócio e armazém de

Leia mais

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015 GIS Cloud na Prática Fabiano Cucolo 26/08/2015 Um pouco sobre o palestrante Fabiano Cucolo fabiano@soloverdi.com.br 11-98266-0244 (WhatsApp) Consultor de Geotecnologias Soloverdi Engenharia www.soloverdi.com.br.

Leia mais

Proposta de Avaliação de Empresas para o uso do SAAS

Proposta de Avaliação de Empresas para o uso do SAAS 1 INSTITUTO DE EDUCAÇÃO TECNOLÓGICA PÓS-GRADUAÇÃO Gestão e Tecnologia da Informação/ IFTI 1402 Turma 25 09 de abril de 2015 Proposta de Avaliação de Empresas para o uso do SAAS Raphael Henrique Duarte

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 PRESIDÊNCIA DA REPÚBLICA Gabinete de Segurança Institucional Departamento de Segurança da Informação ORIGEM e Comunicações Departamento de Segurança da Informação e

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados 35 3 Trabalhos Relacionados Alguns trabalhos se relacionam com o aqui proposto sob duas visões, uma sobre a visão de implementação e arquitetura, com a utilização de informações de contexto em SMA, outra

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

O que é Grid Computing

O que é Grid Computing Grid Computing Agenda O que é Grid Computing Grid vs Cluster Benefícios Tipos de Grid Aplicações Ferramentas e padrões Exemplos no mundo Exemplos no Brasil Grid no mundo dos negócios Futuro O que é Grid

Leia mais

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist Cloud Computing: Quando a nuvem pode ser um risco para o negócio Marco Lima aka Mago Enterprise Technology Specialist 05 De onde vem o termo nuvem? Business Servidores SAN WAN SAN LANs Roteador NAS Switch

Leia mais

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

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Introdução à Arquitetura de Software (continuação)

Leia mais

5 Implantação. 5.1. Plano do Piloto

5 Implantação. 5.1. Plano do Piloto 5 Implantação Neste capítulo será abordada a fase de implantação do novo sistema de gerenciamento de conhecimento baseado em Web Semântica. O capítulo 4 (Desenvolvimento) modelou, arquitetou e desenvolveu

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Aula II Prof. Rosemary Silveira F. Melo Arquitetura de Sistemas Distribuídos Conceito de Arquitetura de Software Principais elementos arquiteturais

Leia mais

Modelos e Arquiteturas de Sistemas Computacionais

Modelos e Arquiteturas de Sistemas Computacionais Modelos e Arquiteturas de Sistemas Computacionais Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas SUMÁRIO Importância da definição da Arquitetura

Leia mais

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI Profa. Gislaine Stachissini Unidade III GOVERNANÇA DE TI Information Technology Infrastructure Library ITIL Criado pelo governo do Reino Unido, tem como objetivo a criação de um guia com as melhores práticas

Leia mais

Gerenciamento de Redes de Computadores. Introdução ao Gerenciamento de Redes

Gerenciamento de Redes de Computadores. Introdução ao Gerenciamento de Redes Introdução ao Gerenciamento de Redes O que é Gerenciamento de Redes? O gerenciamento de rede inclui a disponibilização, a integração e a coordenação de elementos de hardware, software e humanos, para monitorar,

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

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO Competências Analista 1. Administração de recursos de infra-estrutura de tecnologia da informação 2.

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

Leia mais

Introdução a Computação nas Nuvens

Introdução a Computação nas Nuvens Introdução a Computação nas Nuvens Professor: Rômulo César Dias de Andrade. E-mail: romulocesar@faculdadeguararapes.edu.br romulodandrade@gmail.com www.romulocesar.com.br PROFESSOR... Mini CV: NOME: RÔMULO

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais