e-infraestruturas para Ciência e Engenharia Walter Abrahão Santos, LAC-INPE

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

Download "e-infraestruturas para Ciência e Engenharia Walter Abrahão Santos, LAC-INPE http://www.lac.inpe.br/~walter Email: walter.abrahao@lac.inpe."

Transcrição

1 Capítulo 1 e-infraestruturas para Ciência e Engenharia Walter Abrahão Santos, LAC-INPE 1 Introdução A grande motivação deste trabalho foi o crescente número de projetos empregando recursos de aplicações eletrônicas, necessidade de tentar difundir conhecimento já pré-existente em torno desta temática e a rápida convergência de tecnologias. No INPE, vários projetos empregando e-infraestruturas estão em andamento focados nas áreas técnico-científicas do instituto como veremos ao longo deste trabalho. No Brasil, dentro do Congresso da Sociedade Brasileira de Computação, anualmente é realizado o evento e-science Workshop o qual em sua 4ª edição motiva a participação de interessados usando a seguinte exposição (CSBC, 2010): Nas últimas décadas, tem havido uma revolução no modo como ciência e engenharia têm sido conduzidas. Nesta revolução, a Computação tem se estabelecido como um terceiro tipo de ciência, ao lado de teoria e experimentação. A ciência de apoio computacional à experimentação cientifica tem sido chamada de e-ciência (do inglês e-science). Neste novo modo de fazer ciência, pesquisadores precisam explorar grandes coleções de dados, além de utilizar, através de uma rede de alto desempenho, recursos computacionais em larga escala que estão geograficamente distribuídos. Além disso, tais pesquisadores também necessitam de alto desempenho em tarefas de visualização de seus resultados experimentais. Como conseqüência destas novas demandas, novos problemas relacionados à modelagem e gerenciamento de dados científicos, software e de todo o conhecimento envolvido neste cenário precisam ser resolvidos. Para resolver essa nova geração de problemas científicos, equipes de pesquisadores multidisciplinares e distribuídas precisam colaborar para progredir nestes novos Grandes Desafios. Recentes avanços em pesquisa em Computação incluindo ontologias, inteligência artificial, modelagem de workflows científicos,

2 serviços web semânticos, gerenciamento de componentes de software, computação em grade (grid), modelagem de recursos, proveniência de dados e processos, curadoria de dados, entre outros podem ajudar nestes Grandes Desafios. Vários projetos nacionais e internacionais ao redor do mundo têm sido iniciados para realizar pesquisas que transformarão o objetivo de e-science e computação em grande em uma realidade. Apesar da limitação de espaço e tempo, este texto tenta abranger uma variedade enorme de tópicos relevantes, ainda que superficialmente, e está organizado nas seguintes sessões: (1) apresenta introdução e as tendências emergentes em Engenharia de Software; (2) fundamentos de Orientação a Objetos, UML e Padrões como blocos construtivos para e-infraestruturas; (3) uma breve introdução a Arquitetura Orientada a Serviços (SOA) e Web Services (WS); (4) os principais padrões, protocolos, especificações e semântica para WS são apresentados bem como em (5) as principais tecnologias WS: XML, WSDL, SOAP e UDDI; (6) a composição de serviços, Mashups, adoção nas empresas e tendências de Mercado; (7) aborda brevemente com Web Semântica, Ontologias, Clouds e Grids e finalmente (8) ilustra dois estudos de caso, um observatório virtual para aplicações de e-science e um ambiente colaborativo para Engenharia de Sistemas de satélites usando um Barramento Corporativo de Serviços (SpaceESB) focado em e-engineering. Comentários finais e referências completam o trabalho que se espera auxiliar para melhor entendimento da área. 1.1 Tendências Emergentes em Engenharia de Software A área de Engenharia de Software constantemente se adéqua aos novos desafios impostos na construção eficiente de sistemas. Pressman menciona que sistemas software intensivos tornaram-se hoje parte central de praticamente qualquer tecnologia moderna uma vez que (PRESSMAN, 2005) : (a) Software contido em virtualmente qualquer produto ou serviço irá continuar a crescer e em alguns casos dramaticamente; (b) Software deve ser comprovadamente seguro, íntegro e confiável; (c) Requisitos irão surgir à medida em que sistemas evoluem; (d) Interoperabilidade e conectividade irão ser tornar dominantes à medida que mash-ups 1 tornam-se padrões em desenvolvimento e (e) Um mundo inteligente requer software mais elaborado e confiável. Neste contexto, Pressman também apresenta tendências na engenharia destes novos sistemas de software dividindo-as em soft e hard em sua dificuldade. As 1 Mash-ups são páginas Web ou aplicações que usam e combinam dados, apresentação e funcionalidades de duas ou mais fontes para gerar novos serviços.

3 tendências soft se concentram em (a) características gerais dos novos sistemas que construímos e testamos, por exemplo: requisitos emergentes e autonomia de ação e (b) características sócio-antropológicas da nova geração de pessoas trabalham na engenharia de software. As tendências hard são: (a) os aspectos técnicos da próxima geração de sistemas software-intesivos e (b) as direções técnicas que processos, métodos e ferramentas de engenharia de software irão tomar. Este mini-curso estará focado em atender as tendências hard no tocante aos aspectos técnicos na infraestrutura de construção de sistemas para e-science e mais especificamente e-engineering. Para tanto discutiremos, em linha geral, como estes sistemas requerem uma abordagem de Orientação a Objetos que emprega UML e Padrões de projetos para aumentar produtividade e eficiência em reuso na seção 2. A adoção de uma arquitetura orientada a serviços (SOA) e serviços web lida com a complexidade de construção como mostrado na seção 3. Os padrões, protocolos e especificações e a semântica para Web Services na seção 4 são elucidados. Na seção 5, as principais tecnologias de Web Services, como XML, WSDL, SOAP e UDDI são apresentadas. Na seção 6 mostra como estas aplicações são construídas pela composição de serviços, mash-ups bem como está sua adoção nas empresas e quais as tendências de mercado. Na seção 7 mostra como a Web Semântica e Ontologias auxiliam na geração destes sistemas e como podem se materializar em formas como computação em Nuvem (Cloud) e em Grade (Grid). Finalmente, na seção 8 são apresentados alguns estudos de casos em e-science e e-engineering com subseqüente fechamento em comentários finais e referências bibliográficas. 2 Fundamentos de Orientação a Objetos, UML e Padrões Um dos maiores desafios na construção de sistemas software-intensivo é lidar com aspectos de complexidade e tamanho. Neste contexto esta seção apresenta algumas direções visando aumentar produtividade e eficiência em reuso mediante a metodologia de Orientação a Objetos, modelagem e documentação que emprega UML e emprego de padrões de projetos. 2.1 Orientação a Objetos (OO) Orientação a Objetos (OO) é um paradigma de construção de software, ou seja, uma maneira de abordar o problema de escrita de software através da abstração de sua

4 realidade no que chamamos de objetos, os quais possuem um nome, atributos e métodos ou operações. Como mostrado na Figura 1, um programa OO seria, portanto é um conjunto de objetos que trocam mensagens entre si invocando no final seus métodos e alterando seus atributos. Os objetos são próprios do domínio do problema. Figura 1 Abstração de um programa orientado a objetos em execução Objetos são na realidade instâncias do que chamamos de classes. Um software de bordo para controle de satélites pode ter classes específicas para sensores, atuadores, interfaces, controladores, etc. Estes quando instanciados tornam-se objetos, por exemplo, sensor solar SS1, magnetotorqueador MT2, etc. Conforme a Figura 02, classes podem se relacionar entre si e uma das principais são relações Generalização/Especialização. Para um maior aprofundamento vide (PRESSMAN, 2005) e (FOWLER, 2005). Figura 2 Generalização/Especialização entre classes e instanciação de objetos

5 2.2 UML Linguagem de Modelagem Unificada Para facilitar a construção de sistemas utilizamos modelos que são uma simplificação da realidade. A UML (Unified Modeling Language) é hoje o padrão de facto para modelagem de sistemas após ter sido consolidada por grandes especialistas na área (PRESSMAN, 2005) (FOWLER, 2005). A UML é uma linguagem visual de modelagem empregada em qualquer processo de desenvolvimento. Ela consiste de um conjunto de diagramas, vide Figura 03, focados em aspectos de caráter estrutural ou comportamental e construídos utilizando blocos fundamentais da UML como mostrado na Figura 04, por exemplo, para sistemas para Tempo Real (RATIONAL, 2003). Figura 3. Diagramas da UML (MORAES, 2012) Figura 4. Blocos fundamentais de construção UML para aplicações de Tempo Real (RATIONAL, 2003) 2.3 Padrões Com a introdução de OO e crescimento em tamanho de sistemas, questões de recorrência em projetos foram surgindo o que motivou o emprego da idéia de padrões, que fundamentalmente oferecem exemplos de projetos. Padrões descrevem maneiras comuns de se fazer coisas e são coletadas por profissionais que encontram temas recorrentes em sistemas (FOWLER, 2005). A fase de projeto em que são usados, e.g.

6 Análise, Projeto, etc., define a classe de padrões. Há um repositório na web, mantido pelo The Hillside Group (HILLSIDE, 2012), que congrega diversos padrões nos mais diversos domínios promovendo o uso de padrões e linguagens de padrões para registrar, analisar e melhorar software e seu desenvolvimento. Para nosso trabalho dois grupos de padrões são particularmente importantes: padrões GOF (Gang of Four) e padrões Java 2EE (Enterprise Edition). Os padrões GOF, em número de 23 padrões, denominação devida aos seus quatro autores (GAMMA, 1994) e, como esquematizado na Figura 5, se dividem em três grandes grupos pelo propósito: Criação, Estrutura e Comportamento. Figura 5. Os 23 padrões GOF (Gang of Four) (GAMMA, 1994) Diversas aplicações que e-infraestruturas possuem uma grande quantidade de características comuns que podem ser otimizadas mediante o emprego de padrões. A Java 2 Platform, Enterprise Edition (J2EE ) contém padrões que são mais recentes que os padrões GOF e advém do uso difundido de Java como linguagem de construção de algumas aplicações (J2EE, 2012). Os relacionamentos entre os diversos padrões J2EE são mostrados na Figura 6 onde são divididos por camadas. Atualmente, um grande número de desenvolvedores deseja escrever aplicações com transações distribuídas para suas instituições e assim incrementar a velocidade, segurança e confiabilidade da tecnologia no lado do servidor de aplicações. Para aqueles já nesta área, é notória a rápida demanda para que aplicações institucionais sejam projetadas, construídas e produzidas com menor custo, maior velocidade, e poucos recursos. Visando reduzir custos e aumentar rapidez no projeto e

7 desenvolvimento, o J2EE provê uma solução baseada em componentes para projeto, desenvolvimento, montagem e implantação de aplicações empresariais. Figura 6. Os relacionamentos entre os diversos padrões J2EE (J2EE, 2012) A plataforma J2EE, conforme a Figura 7 oferece um modelo de aplicação distribuída multicamadas e com componentes reutilizáveis, um modelo unificado de segurança lógica, um controle flexível de transações e suporte a web services através de padrões e protocolos abertos baseados em uma linguagem extensível de marcação, o XML (Extensible Markup Language).

8 Figura 7. Modelo de Aplicações utilizando J2EE - Resumidamente, para se desenvolver aplicações Java para a web e distribuídas com maior facilidade e robustez, serão empregados vários especificações J2EE, como JSP, Servlets, Web Services, EJB, etc. Particularmente, EJBs são componentes Java distribuídos, que são executados em um servidor de aplicações, JBOSS ou GlassFish por exemplo. A aplicação cliente pode se conectar remotamente a um desses servidores de aplicações, instanciar um EJB e utilizá-lo como o mesmo fosse uma classe local. Todas as funcionalidades relativas a transações, segurança, persistência de dados, etc. são responsabilidade do servidor de aplicações poupando tempo do programador desses detalhes. Entretanto a curva de aprendizado para EJBs requer grande empenho (J2EE, 2012). 3 Introdução à Arquitetura Orientada a Serviços (SOA) e WS Ao longo de muitos anos, as empresas investem cada vez mais no desenvolvimento de soluções de TI. Essas soluções têm plataformas, linguagens de programação, paradigmas de programação e até middleware diferentes, fazendo com que haja uma grande redundância de funcionalidades e alto acoplamento entre as soluções.

9 Devido a esse crescimento desordenado, essas empresas possuem inúmeras aplicações legadas que não podem ser descartadas e necessitam ser integradas às novas soluções. Ao contrário do que muitos pensam a Arquitetura Orientada a Serviços não foi inventada. SOA é uma evolução natural da arquitetura de sistemas tradicional em resposta às demandas de um mercado que exibe, a cada dia, mais agilidade e qualidade (ERL, 2004). O modelo arquitetônico SOA acomoda inúmeras visões e consolida qualidades oriundas da arquitetura dos objetos distribuídos e componentes, como: distribuição, reutilização, contratos, estilo modular, baixo acoplamento e conectividade (LAZZERI, 2010). Segundo a OASIS, 2006, SOA é um paradigma para organizar e utilizar competências distribuídas que podem estar sob controle de diferentes domínios proprietários, é um meio para organizar as soluções que promovem o reuso, crescimento e interoperabilidade. O uso de SOA muda a maneira como as soluções são desenvolvidas e implementadas, a exposição das funcionalidades do negócio como serviços possibilita às empresas respostas mais rápidas às mudanças do mercado. SOA permite também que os sistemas já existentes sejam combinados com novos esforços de desenvolvimento (aplicativos compostos). Daí a motivação em empregá-la como base para alguns processos de engenharia de sistemas. Freqüentemente, na Arquitetura Orientada a Serviços, os serviços são organizados através de um barramento de serviços que disponibiliza interfaces, ou contratos, acessíveis através de web services ou outra forma de comunicação entre aplicações. A arquitetura SOA, mostrada genericamente na Figura 8, é baseada nos princípios da computação distribuída e utiliza o paradigma request / reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços (WU et al., 2008). Neste cenário, o provedor de serviços publica e registra um serviço em um repositório. O consumidor de serviços utiliza o registro para obter o contrato do serviço, que contém informações sobre as operações disponíveis e os parâmetros que o serviço

10 necessita para se comunicar. Através desse contrato o consumidor inicia as requisições ao serviço. Figura 8 - Esquema básico do ambiente SOA (W3C, 2002). A Engenharia de Software, no decorrer dos anos, evoluiu da programação estruturada para a orientada a objetos, para a baseada em componentes, e por fim para a orientada a serviços. Cada uma das evoluções se baseia na abstração anterior e SOA abrange as melhores práticas da orientação a objetos e componentes. A Figura 9 ilustra os diferentes níveis de abstração: de objetos a serviços (HOLLEY; ARSANJANI, 2010). Figura 9 - Níveis de abstração até SOA (HOLLEY; ARSANJANI, 2010) Conforme mostra a Figura 10, SOA tem como base os seguintes aspectos: interface com consumidor, processos de negócio, serviços, componentes de serviço, sistemas operacionais e integração. Adicionalmente, os aspectos de SOA são representados em camadas lógicas que podem ser usadas como diretrizes para o projeto de soluções orientadas a serviços.

11 Figura 10 - Camadas lógicas da Arquitetura SOA, (Open Group, 2009). A partir da Figura 10, fica claro que SOA evoluiu a partir das camadas de provedores de serviços, focadas na construção de objetos e componentes usando as abordagens orientada a objetos e a componentes, para a integração com as camadas de consumidores de serviços, focadas na construção e orquestração de serviços para implementar os processos de negócios usando a abordagem orientada a serviços. O modelo de camadas apresentado é apenas uma referência para Arquitetura Orientada a Serviços que permite entendimento das entidades significativas e os relacionamentos entre elas em um ambiente orientado a serviço. 3.1 Web Services SOA e web services muitas vezes são tratados como sinônimos, mas não são a mesma coisa (JOSUTTIS, 2007). Em SOA as atividades do negócio são expostas como serviços. O web service é uma das possíveis maneiras de se colocar em prática as características de SOA (MORO et al., 2009). A implementação da Arquitetura Orientada a Serviços tem sido realizada através de web services, pois essa tecnologia tem se consolidado como uma das mais adequadas para a integração de sistemas heterogêneos (MOREIRA, 2005). Outros exemplos de arquiteturas que podem ser usadas para a implementação de SOA são (SOMMERVILLE, 2007): CORBA (Common Object Request Broker Architecture), que define uma arquitetura de objetos para a computação distribuída, DCOM

12 (Distributed Component Object Model), promovido pela Microsoft e JavaRMI (Java Remote Method Invocation). Um serviço em SOA deve ter os seguintes atributos (HOLLEY; ARSANJANI, 2010): (a) Sem estado (Stateless): os web services não dependem do contexto ou do estado de outros serviços. Um serviço stateless não guarda o estado e trata cada requisição como uma transação nova e independente, sem relação com requisições anteriores ou futuras; (b) Detectável: um web service deve ser descoberto por potenciais consumidores do serviço. Serviços são publicados em um repositório pelos provedores de serviços, assim aqueles podem ser detectados e invocados; (c) Autodescrição: um web service deve ter um contrato ou interface bem definido, descrevendo as informações que um consumidor de serviços necessita para descobrir e conectar-se ao serviço; (d) Combinável: um web service pode compor e/ou ser composto por outros serviços para criar novas soluções; (e) Baixo acoplamento: é a capacidade de um serviço ser independente de outros serviços para realizar uma tarefa; (f) Regido por políticas: Serviços são construídos por contrato. Relações entre os serviços são regidas por políticas e acordos de nível de serviço (SLA - Service Level Agreement), promovendo a consistência do processo e reduzindo a complexidade; (g) Localização, linguagem e protocolos independentes: serviços são projetados para serem transparentes, sendo acessíveis por qualquer usuário, em qualquer plataforma, de qualquer lugar. 4 Padrões, protocolos, especificações e semântica para WS Utilizando padrões, protocolos, especificações e semântica para WS é possível materializar os atributos anteriormente mencionados para SOA. Segundo o W3C, 2004, web services são usados na integração de sistemas e na comunicação entre diferentes aplicações. A Figura 11 mostra alguns padrões W3C para WS onde é possível utilizálos para integrar aplicações escritas em diferentes linguagens e executando em diferentes plataformas através de mensagens baseadas em XML (extensible Markup Language).

13 Figura 11 Padrões W3C para Web services, disponível em: As trocas de informações realizadas com web services utilizam um canal de comunicação, geralmente, o protocolo HTTP (Hypertext Transfer Protocol). Na Figura 12, mostra-se a pilha de protocolos que apóiam a utilização de WS. Existem alguns tipos de arquiteturas para o desenvolvimento de web services, entretanto o RPC, WS-* (WSDL/SOAP) e REST os mais conhecidos e usados hoje em dia. A arquitetura WS-* é a mais utilizada hoje em dia e é composta por mais de 20 especificações, donde SOAP, WSDL e UDDI são as especificações base deste conjunto e descritas a seguir (MORO et al., 2009). Figura 12 Pilha de protocolos na utilização de WS (BASTOS, 2011)

14 Alguns dos principais padrões para WS são: (a) Camada de Transporte (protocolos de transporte); (b) Camada de Mensagem (XML, SOAP); (c) Camada de Descrição (Descrição de Serviços: WSDL, XSD); (d) Camada de Descoberta (Registro de Serviço: UDDI) e (e) Camada de Processo (BPEL). Há alguns padrões para Web Services que definem frameworks para Coordenação de Serviços, dentre eles é destacado o WS-Transactions que é uma família de especificações da OASIS compreendendo: (a) WS-BusinessActivity (WS- BA); (b) WS-AtomicTransaction (WS-AT) e (c) WS-Coordination (WS-C): framework genérico que suporta WS-AT e WS-BA. 5 Principais tecnologias WS: XML, WSDL, SOAP e UDDI. As principais tecnologias envolvidas em WS são mostradas na Figura 13, tais como o consumidor de serviço, o provedor serviço e seu relacionamento. O consumidor de serviços invoca ou usa um serviço mediante a descrição do serviço em WSDL (Web Service Definition Language) para obter as informações necessárias para consumir o serviço. Um broker é usado para encontrar um serviço publicado em UDDI (Universal Description Discovery & Integration). Provedores de serviços utilizam UDDI para publicar os serviços que eles oferecem. Consumidores de serviços usam UDDI para descobrir serviços que lhes interessam e obter os dados necessários para utilizar esses serviços. Figura 13 Web services, protocolos e mensagens, (GOTTSCHALK, al., 2002).

15 5.1 XML O XML (extensible Markup Language )é uma linguagem capaz de descrever diversos tipos de dados. O XML, cujo trecho exemplo é mostrado na Figura 14, é uma recomendação para gerar linguagens de marcação para necessidades especiais e tem como propósito principal é a facilidade de compartilhamento de informações através da internet com capacidade de descrever diversos tipos de dados. Figura 14 Trecho do arquivo WSDL de WS com XML (SOUZA, 2011) Por criar uma infraestrutura única para diversas linguagens e ser uma tecnologia simples, ferramentas que lidam com XML permitem que programadores dediquem seus esforços às tarefas importantes quando trabalha com os dados, pois realizam a validação destes percorrendo as estruturas. 5.2 SOAP O SOAP (Simple Object Access Protocol) é um protocolo padrão para troca de mensagens. Como SOAP adota um formato XML, o qual é baseado em texto, SOAP é interpretado pela maioria de ambientes novos, e já existentes, e pode ser transportado sobre vários protocolos. Na maioria das vezes SOAP é transportado sobre o protocolo HTTP, mas também já existem implementações que enviam SOAP usando JMS (Java Message Service).

16 Em web services uma requisição feita por um consumidor de serviços é formatada em uma mensagem XML, a qual é encapsulada utilizado o protocolo SOAP para ser transportado sobre HTTP. No provedor de serviços, essa mensagem é desempacotada, os dados são lidos e processados e o resultado é novamente encapsulado por SOAP e enviado pelo protocolo HTTP ao solicitante. 5.3 UDDI O UDDI é um diretório de serviços que permite a descrição e descoberta de: (1) empresas, organizações e outros provedores de serviços, (2) web services disponíveis, e (3) as interfaces que podem ser utilizadas para acessar esses serviços. Com base em um conjunto comum de padrões da indústria, incluindo HTTP, XML, e SOAP, o UDDI fornece uma infraestrutura fundamental para um ambiente baseado em web services (OASIS, 2004). 5.4 WSDL WSDL é uma linguagem de definição de interface baseada em XML que permite descrever os contratos dos serviços. Esse contrato é um documento que contém a descrição do serviço, suas operações e a forma como acessá-lo. Os documentos WSDL são constituídos por palavras-chave como (W3C, 2001): (a) PortType: descreve as operações existentes no web service e seus dados de entrada e saída; (b) Binding: provê informações de como interagir com o web service especificando o protocolo a ser usado, como por exemplo, SOAP/HTTP e (c) Port: descreve o endereço através do qual o web service poderá ser invocado, geralmente representado por uma URL. Através do WSDL, aplicações desenvolvidas em qualquer linguagem e plataforma conseguem acessar um web service e suas operações. Por exemplo, a partir de WSDL de um web service em Java, executando em um ambiente WebSphere, e oferecendo invocação por meio de HTTP, um desenvolvedor.net pode importar o WSDL e gerar um aplicativo que faça solicitações ao serviço.

17 6 Composição de serviços, Mash-ups, Adoção nas empresas e tendências de Mercado O plano de composição de serviços abrange papéis e funcionalidades para agregar vários serviços em um único serviço composto, vide Figura 15, que pode ser usado como serviço básico em composições de serviços adicionais ou oferecido como aplicações completas e soluções para clientes do serviço. Figura 15 Papéis e funcionalidades na composição de serviço Uma das principais características de um serviço, desejável desde o momento da especificação, é a sua capacidade de se compor com outros Serviços para a elaboração de um novo de mais alto nível de abstração. Conforme esquematizado na Figura 16, Web services podem ser encadeados de diversas maneiras no que se denomina de composição de serviços o qual pode envolve basicamente os seguintes conceitos: (a) Orquestração; (b) Coreografia; (c) Modelagem de processos e (d) Mash-ups.

18 Figura 16 Algumas categorias de composição de web services, adaptado de (https://blogs.oracle.com/strawberryfieldsforever/entry/composição_de_serviços_parte_ii) A composição de processos de negócio através de Web Services via Orquestração e Coreografia são dois termos comumente utilizados, mas muitas vezes usados como equivalentes gerando confusão. A diferença básica entre ambos é que enquanto na Orquestração há um controlador central responsável pela invocação dos Serviços, na Coreografia, não existe um controlador. A explicação comparativa sobre cada um destes termos segue: Processo Mestre: coordena a composição de processos e controla sua execução dentro de uma orquestração; Processo Participante: participa de uma composição de processos; Orquestração: composição de Web Services oriundos de processos de negócio onde existe a figura de um processo central (processo mestre) que controla e coordena os demais processos. Somente o processo mestre detém a inteligência sobre o processo completo, e a execução é então centralizada. Devido a essa centralização, orquestrações ocorrem normalmente dentro de uma mesma corporação, uma vez que dentro dessa corporação é simples decidir qual processo será o processo-mestre. Nele cada processo participante não tem conhecimento de que faz parte de uma composição de processos, exceto o processo mestre;

19 Coreografia: composição de Web Services onde não existe um processo mestre. Nela cada processo envolvido tem o conhecimento de participar de uma composição de processos e que necessita interagir com outros processos ordenadamente por isso coreografia - para que a composição resultante tenha sucesso. Assim, cada processo participante sabe exatamente quando atuar, com quais outros processos participantes interagir, quais operações deve executar, quais mensagens deve trocar e até mesmo o momento adequado de troca de mensagens. A coreografia é o resultado do conhecimento e comportamento coletivo espalhado pelo sistema. Devido à descentralização, coreografia de processos costuma ser utilizada entre processos ou Web Services de corporações distintas. Modelagem de processos - termo utilizado para os trabalhos relativos ao Mapeamento - levantamento e diagramação do processo como ele é executado e seu possível Redesenho, otimização do processo. Mash-ups é um site personalizado ou uma aplicação web que emprega conteúdo de mais de uma fonte para gerar um novo serviço completo. O código de terceiros é tipicamente executado em mash-ups através de uma interface pública ou uma API. Outras codificações de conteúdo podem ser Web feeds (exemplo: RSS ou Atom), Javascript e widgets (mini aplicações web, disponíveis para serem incorporadas a outros sites). Semelhante a revolução de publicação online obtida via blogs, os mash-ups, feitos sob encomenda muitas vezes, estão revolucionando o desenvolvimento web pela simplicidade de projeto possibilitando a qualquer um combinar dados de diversas fontes. Arquiteturalmente, um mash-up é dividido em três camadas: (a) Apresentação / Interação com Usuários; (b) Web Services: fornece funcionalidades como vimos e (c) Dados: gerenciamento de dados como transmissão, armazenagem e recepção. 7 Introdução a Web Semântica, Ontologias, Clouds e Grids Devido ao crescimento da Web tanto em tamanho, como em diversidade, automação passa a ser necessária nos aspectos relacionados aos serviços Web, tipicamente, sua descoberta, execução, seleção e composição automáticas. O emprego de tecnologias da Web Semântica como serviços Web semânticos e ontologias, pode facilitar no processo de automatização [SILVA, 2009]. Além disso, plataformas ofertadas como serviço permitem que o usuário faça uso de toda uma plataforma de

20 desenvolvimento de aplicações voltadas para outros paradigmas da computação como a Computação em Nuvem (Clouds) e em Grade (Grid) (OASIS, 2004). 7.1 Web Semântica Diversas aplicações de pesquisa em e-science ou execuções em e-engineering demandam um fluxo de trabalho que, em geral, é muito extenso, composto por muitas computações, e voltado para representar um processo, geralmente de natureza colaborativa. Devido à sua extensão, um fluxo de trabalho acaba se tornando de difícil definição e exigindo ferramentas que fazem uso da semântica para facilitar sua composição. Conforme mostrado na Figura 17, a web semântica ganha espaço hoje porque, apesar do fácil acesso, intercâmbio e a recuperação de informações, a web tradicional foi estruturada com descentralização e ligeiramente anárquica apresentando um crescimento exponencial e caótico. Adicionalmente, as tecnologias e linguagens atualmente utilizadas para web se focam em exibição e apresentação dos dados com pobre conteúdo de informações e dificuldade de manuseio por máquinas e seres humanos. Diferentemente a web semântica emprega algumas tecnologias para tal, a saber: (a) RDF (Resource Description Framework) e RDFa - (RDF in attributes) linguagens para a publicação de dados com significado; (b) SPARQL (SPARQL Protocol and RDF Query Language) - linguagem para a consulta de dados e (c) OWL - (Web Ontology Language) para a definição de vocabulários. Figura 17 Web tradicional vs. Web Semântica vs. Serviços Web Semânticos

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

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

UFG - Instituto de Informática

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

Leia mais

3 Serviços na Web (Web services)

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

Leia mais

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

Fase 1: Engenharia de Produto

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

Leia mais

Service Oriented Architecture SOA

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

Leia mais

Arquitetura Orientada a Serviço

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

Leia mais

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

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

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

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

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

Leia mais

Web Services. (Introdução)

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

Leia mais

UFG - Instituto de Informática

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

Leia mais

Introdução a Web Services

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

Leia mais

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

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

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

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

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

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

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

Leia mais

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

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

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

Leia mais

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

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, 2010. Todos os direitos reservados.

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, 2010. Todos os direitos reservados. Arquitetura Orientada a Serviços (SOA) Visão Geral e-coree Estabelecida em 1999 Escritórios rios no Brasil e EUA Aproximadamente 100 profissionais Atua em prestação de serviços offshore desde 2004 Roteiro

Leia mais

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

Arquiteturas Orientadas a Serviços ESB. Enterprise Service Bus. Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos

Arquiteturas Orientadas a Serviços ESB. Enterprise Service Bus. Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos ESB Enterprise Service Bus Prof. Ricardo J. Rabelo DAS5316 Integração de Sistemas Corporativos Resumo Introdução Definição Problemas atuais e Vantagens Evolução do ESB ESB versus EAI, MOM, Workfow, SOA

Leia mais

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

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

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

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

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

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

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Aplicação de arquitetura orientada a serviços na modelagem de um sistema de monitoramento de ovinos e bovinos confinados

Aplicação de arquitetura orientada a serviços na modelagem de um sistema de monitoramento de ovinos e bovinos confinados Aplicação de arquitetura orientada a serviços na modelagem de um sistema de monitoramento de ovinos e bovinos confinados Juciara Nepomuceno de Souza, Kleber Padovani de Souza, Leonardo Souza Silva 1 Universidade

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

Arquitetura SOA SCP. Sistema de Controle Patrimonial. Pandora Tech Soluções em Software Livre. Versão Atual 1.0. Data Versão Descrição Autor

Arquitetura SOA SCP. Sistema de Controle Patrimonial. Pandora Tech Soluções em Software Livre. Versão Atual 1.0. Data Versão Descrição Autor SCP Pandora Tech Soluções em Software Livre Versão Atual 1.0 Histórico das Revisões Data Versão Descrição Autor 24/02/2010 1.0 Criação do Documento Fernando Anselmo Parte Conceito O uso de tecnologias

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

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

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

Leia mais

Porque adotar SOA. (Service Oriented Architecture) SOA. Por Ricardo de Castro Barbosa. Publicado Setembro/2008. 1 Portal BPM - www.portalbpm.com.

Porque adotar SOA. (Service Oriented Architecture) SOA. Por Ricardo de Castro Barbosa. Publicado Setembro/2008. 1 Portal BPM - www.portalbpm.com. SOA Porque adotar SOA (Service Oriented Architecture) Por Ricardo de Castro Barbosa Publicado Setembro/2008 Ricardo de Castro Barbosa é sócio da SOA- Savoir Faire (www.soa-savoirfaire.com.br) empresa dedicada

Leia mais

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

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

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

Leia mais

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping;

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping; Guia de Orientação para Implementação de Web Services Este documento apresenta alguns direcionamentos referentes à implementação de web services. É uma versão preliminar da construção do Guia de Orientação

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

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

Rompendo os Limites dos Sistemas Tradicionais Aplicação de SOA no Ambiente da Automação

Rompendo os Limites dos Sistemas Tradicionais Aplicação de SOA no Ambiente da Automação Rompendo os Limites dos Sistemas Tradicionais Aplicação de SOA no Ambiente da Automação Carlos E. G. Paiola Engenheiro de Controle e Automação, M.Sc. Gerente Comercial - Aquarius Software Ricardo Caruso

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

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

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

Leia mais

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

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

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

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

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

Abstraindo as Camadas de SOA & Aplicações Compostas

Abstraindo as Camadas de SOA & Aplicações Compostas Abstraindo as Camadas de SOA & Aplicações Compostas Serviço Service Requisitante Consumer Service Serviço Provider Provedor consumidores processos business e processes negócios Coreografia process choreography

Leia mais

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

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

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

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

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações Universidade de São Paulo Escola Politécnica Programa de Educação Continuada em Engenharia PROGRAMA DE MBA em Gestão e Engenharia do Produto O Produto Internet e suas Aplicações Tecnologias de Informação

Leia mais

Integração Orientada a Serviços

Integração Orientada a Serviços Integração Orientada a Serviços Porto Alegre, Agosto de 2006 Agenda Sobre a e-core SOA O que é? Web Services x SOA Principal Motivação - Integração SOI ESB BPEL JBI ServiceMix Solução Proposta A Empresa

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

UFG - Instituto de Informática

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

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

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

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

Serviços Web: Arquitetura

Serviços Web: Arquitetura Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Table 1. Dados do trabalho

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

Leia mais

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

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

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

SOA. Fabio Perez Marzullo. Inovando seu negócio por meio de soluções orientadas a serviços. Novatec

SOA. Fabio Perez Marzullo. Inovando seu negócio por meio de soluções orientadas a serviços. Novatec SOA na prática Inovando seu negócio por meio de soluções orientadas a serviços Fabio Perez Marzullo Novatec Sumário Parte I Fundamentos técnicos da teoria de serviços... 17 Capítulo 1 Introdução à teoria

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

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

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

Leia mais

Computação em Grid e em Nuvem

Computação em Grid e em Nuvem Computação em Grid e em Nuvem Computação em Nuvem Molos 1 Definição Um grid computacional é uma coleção recursos computacionais e comunicação utilizados para execução aplicações Usuário vê o grid como

Leia mais

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

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

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

Linha de Produto para BPM

Linha de Produto para BPM Linha de Produto para BPM Prof. Dr. Marcelo Fantinato m.fantinato@usp.br Sistemas de Informação, EACH/USP Agenda Fundamentos LP para BPM Estabelecimento de Contratos Exemplo de Aplicação Trabalhos em Andamento/Próximos

Leia mais

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

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

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Acelere o valor da computação em nuvem com a IBM

Acelere o valor da computação em nuvem com a IBM Acelere o valor da computação em nuvem com a IBM Obtenha soluções em nuvem comprovadas para as suas prioridades mais urgentes Destaques da solução Saiba sobre os benefícios mais comuns de implementações

Leia mais

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

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

Obtendo Qualidade com SOA

Obtendo Qualidade com SOA Obtendo Qualidade com SOA Daniel Garcia Gerente de Prática BPM/SOA daniel.garcia@kaizen.com.br 11 de Novembro de 2009 Copyright 2009 Kaizen Consultoria e Serviços. All rights reserved Agenda Sobre a Kaizen

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

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

Leia mais

Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil

Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil Integração da Informação e do Conhecimento no Contexto da Copa do Mundo e os Jogos Olímpicos no Brasil Ivan Guilherme 1, Jonas Queiroz 1, Caio Marques 2 1 Universidade Estadual Paulista, IGCE, DEMAC, Caixa

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Universidade Federal de Goiás Instituto de Informática Sistemas de Informação Código da Matriz Curricular: 109P1NB

Universidade Federal de Goiás Instituto de Informática Sistemas de Informação Código da Matriz Curricular: 109P1NB Universidade Federal de Goiás Instituto de Informática Sistemas de Informação Código da Matriz Curricular: 109P1NB Plano de Disciplina Ano Letivo: 2012-2 º Semestre Dados da Disciplina Código Disc. Nome

Leia mais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software

Leia mais

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello 1/39 Serviços Web (Web Services) Emerson Ribeiro de Mello Departamento de Automação e Sistemas Universidade Federal de Santa Catarina 22 de Maio de 2007 2/39 Arquitetura Orientada a Serviços Arquitetura

Leia mais

Programação Cliente em Sistemas Web

Programação Cliente em Sistemas Web Programação Cliente em Sistemas Web WEBSERVICES Cap 18. - Sistemas distribuídos e serviços web em Deitel, H.M, Sistemas Operacionais, 3 ª edição, Pearson Prentice Hall, 2005 Fonte: Rodrigo Rebouças de

Leia mais

Desenvolvimento e Administração de Sistemas de Informação Paulo Motta

Desenvolvimento e Administração de Sistemas de Informação Paulo Motta Desenvolvimento e Administração de Sistemas de Informação Paulo Motta prmottajr@acm.org Administração da Informação Quem pode acessar, alterar, inserir e apagar? Qual a consistência dos dados? Quão críticos

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

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

Leia mais

Computação Distribuída, Web Service - um estudo de caso

Computação Distribuída, Web Service - um estudo de caso CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO Diogo Francisco Sales da Silva Flávio Rodrigo Lovatti Computação Distribuída, Web Service - um estudo de caso VILA VELHA 2009 Diogo Francisco

Leia mais

Web Semântica e Matching de Ontologias: Uma Visão Geral

Web Semântica e Matching de Ontologias: Uma Visão Geral Web Semântica e Matching de Ontologias: Uma Visão Geral Hélio Rodrigues de Oliveira Departamento de Computação Universidade Federal do Ceará heliorodrigues@lia.ufc.br Bernadette Farias Lóscio Departamento

Leia mais