e-infraestruturas para Ciência e Engenharia Walter Abrahão Santos, LAC-INPE walter.abrahao@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 walter.abrahao@lac.inpe.br 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 ( 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

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

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

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

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

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

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

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

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

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

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

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

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

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

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

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

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

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

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

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

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

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

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

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

Leia mais

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

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

Leia mais

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

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

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

Leia mais

Usando Service Design Thinking para criar SOA Corporativo

Usando Service Design Thinking para criar SOA Corporativo Usando Service Design Thinking para criar SOA Corporativo Hilton Menezes 2013 Introdução Uma área de Tecnologia da Informação - TI ágil pode contribuir significativamente para que o negócio possa fazer

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

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

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

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

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

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

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

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

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

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

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

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

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos

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

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

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

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

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

IV. Intercâmbio Eletrônico de Dados (EDI)

IV. Intercâmbio Eletrônico de Dados (EDI) IV. Intercâmbio Eletrônico de Dados (EDI) 1. Funcionamento do EDI 2. EDI tradicional X WEB EDI 3. EDI Tradicional 4. WEB EDI Intercâmbio Eletrônico de Dados (EDI) EDI: Electronic Data Interchange Troca

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

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

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

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

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

Leia mais

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

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

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

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

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

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

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

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

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Arquiteturas, Padrões e Serviços para Geoprocessamento. Lúbia Vinhas 13/05/2008

Arquiteturas, Padrões e Serviços para Geoprocessamento. Lúbia Vinhas 13/05/2008 Arquiteturas, Padrões e Serviços para Geoprocessamento Lúbia Vinhas 13/05/2008 Desejo saber estatísticas sobre áreas queimadas. Desejo fazer análises por localização, por classes de uso ou ainda por seleção

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

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada Insight completo sobre IDG/Oracle Relatório de pesquisa de SOA Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada Alinhamento

Leia mais

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

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO Versão Março 2008 1 Introdução Este documento tem por objetivo

Leia mais

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO INSTITUTO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA PROJETO SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO ALUNO RICARDO CARDOSO TERZELLA

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

MVC e Camadas - Fragmental Bliki

MVC e Camadas - Fragmental Bliki 1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

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

Estruturação da Arquitetura Estadual de Sistemas de Informação por Meio da Orientação a Serviços

Estruturação da Arquitetura Estadual de Sistemas de Informação por Meio da Orientação a Serviços Estruturação da Arquitetura Estadual de Sistemas de Informação por Meio da Orientação a Serviços Relato de Experiência da ATI-PE WCGE 2010 20/07/2010 1 Introdução 2 Sobre a ATI Agência Estadual de Tecnologia

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

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 10 Persistência de Dados

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

Padrões de projeto 1

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

Leia mais

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

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

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

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

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

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

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

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

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

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

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