Sistemas Distribuídos e Paralelos

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

Download "Sistemas Distribuídos e Paralelos"

Transcrição

1 Sistemas Distribuídos e Paralelos Objectos e Componentes Distribuídos Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org November 19, 2014 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

2 Outline 1 Introdução 2 Objectos distribuídos 3 Dos objectos aos componentes 4 Caso de estudo: Enterprise JavaBeans Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

3 Introdução Uma solução de middleware completa deve apresentar uma abstracção tanto ao nível de programação de alto-nível, como ao nível do sistema distribuído. Neste capítulo vamos abordar duas das mais importantes abstracções na programação, nomeadamente: Objectos distribuídos Componentes distribuídos Para além da análise teórica, vamos ainda abordar um caso prático: Enterprise JavaBeans Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

4 Introdução Middleware de objectos distribuídos A característica chave dos objectos distribuídos é que permitem adoptar um modelo de programação totalmente orientado aos objectos, escondendo toda a complexidade dos sistemas distribuídos. Neste panorama as entidades são representadas por objectos. Os objectos comunicam maioritariamente utilizando o método de invocação remota de métodos. Porém, outros métodos como eventos distribuídos são também utilizados. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

5 Introdução Middleware de objectos distribuídos Esta abordagem simplista apresenta um conjunto de benefícios: O encapsulamento herdado das soluções baseadas em objectos é uma mais valia nos sistemas distribuídos. A abstracção de dados permite separar completamente o uso do objecto da sua implementação, permitindo que os programadores preocupem-se simplesmente em invocar os métodos fornecidos, ignorando totalmente os detalhes de implementação. Esta abordagem permite assim soluções dinâmicas e extensíveis, introduzindo, por exemplo, novos objectos ou substituir objectos por outros. Exemplo de soluções: Java RMI e CORBA. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

6 Introdução Middleware de componentes distribuídos As soluções baseadas em componentes têm sido desenvolvidas para resolver uma série de limitações que têm vindo a ser detectadas nos sistemas baseados em objectos distribuídos, nomeadamente: Dependências implícitas: As interfaces dos objectos não descrevem as dependências da implementação do objecto, tornando os sistemas baseados em objectos difíceis de desenvolver e gerir, principalmente para os third-party. Complexidade de programação: A programação de objectos distribuídos leva à necessidade de dominar vários detalhes de baixo nível associados com a implementação do middleware. Falha na separação dos detalhes da distribuições: Os programadores têm o dever de considerar detalhes como segurança, gestão de falhas e concorrência, o que não conseguem se não tiverem conhecimento da distribuição do sistema. Sem suporte de instalação: Os middlewares orientados a objectos fornecem pouca ou nenhuma informação sobre a instalação e configuração dos objectos. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

7 Outline 1 Introdução 2 Objectos distribuídos 3 Dos objectos aos componentes 4 Caso de estudo: Enterprise JavaBeans Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

8 Objectos distribuídos Os middleware orientados a objectos são desenhados para fornecer o nível de programação orientada a objectos e, como tal, trazer os benefícios da mesma para a programação distribuída. Os programadores deste tipo de sistemas têm ao seu dispor não só uma abstracção mais rica, mas também os princípios da orientação a objectos, ferramentas e técnicas, tais como UML. Por exemplo, o CORBA OMG incluí suporte para a norma UML. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

9 Objectos distribuídos Os objectos distribuídos fornecem uma abstração baseada nos princípios orientados a objectos. Os principais exemplos de middlewares que seguem esta lógica são o Java RMI, analisado anteriormente, e o CORBA.. Apesar de ambas as soluções partilharem bastante em comum, existe uma diferença importante: O uso de Java RMI está limitado à linguagem Java, enquanto que o CORBA é uma solução multi-linguagem permitindo objectos escritos numa variedade de linguagens interoperarem. (Ex: C++, Python, Java, etc...). Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

10 Objectos distribuídos Diferenças entre objectos e objectos distribuídos Objectos Objectos Distribuídos Referências Referências para objectos para objectos remotos. Interfaces Interface remotas. Acções Acções distribuídas. Excepções col- Garbage lection remoto (uso de IDL). Iniciadas pela invocação de um método, resultando possivelmente numa cadeia de invocações. Excepções distribuídas. Garbage collection distribuído. Descrição dos objectos distribuídos As referências para objectos remotos são únicas e globais, podendo ser passadas por parâmetro. Fornecem uma especificação abstracta dos métodos que podem ser invocados no objecto Excepções adicionais geradas pela natureza distribuída do sistema, incluinda mensagens perdidas ou falhas nos processos. Garante que um objecto continua a existir desde que uma referência ou uma referência remota para o objecto exista.requer um algoritmo de garbage collection distribuído. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

11 Objectos distribuídos Complexidade acrescida Para além das diferenças entre objectos e objectos distribuídos, os SD adicionam um nível de complexidade superior, nomedamente: Comunicação entre objectos: Um middleware de objectos distribuídos deve oferecer um ou mais mecanismos para que os objectos comuniquem no ambiente distribuído. Estes mecanismos são normalmente implementados via invocação remota, mas existem outras técnicas, por exemplo, baseadas na comunicação indirecta, que também são utilizadas. CORBA fornece um sistema de eventos e notificações implementados como serviços no topo do middleware. Gestão do tempo de vida: A gestão do tempo de vida aborda a criação, migração e eliminação de objectos, com cada etapa a ter de lidar com a questão distribuída. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

12 Objectos distribuídos Complexidade acrescida (continuação) Activação e desactivação: Num sistema não distribuído é assumido que os objectos estão activos durante todo o tempo de execução. Num sistema distribuído isto não pode ser assumido, uma vez que o número de objectos pode ser muito vasto, o que seria um desperdício de recrusos garantir a disponibilidade de todos simultaneamente. Para além disso, os nós "donos" dos objectos podem eles próprios não estarem disponíveis. Persistência: Os objectos tipicamente têm um estado que é importante manter independentemente dos ciclos de activação e desactivação ou mesmo de falhas do sistema. Como tal, os middleware orientados a objectos distribuídos devem oferecer gestão de persistência para o estado dos objectos. Seviços adicionais: Uma framework deste género deve ainda suportar uma série de serviços considerados importantes no âmbito dos sistemas distribuídos, tais como serviço de nomes, segurança e tolerância a falhas. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

13 Outline 1 Introdução 2 Objectos distribuídos 3 Dos objectos aos componentes 4 Caso de estudo: Enterprise JavaBeans Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

14 Dos objectos aos componentes Introdução Os middleware baseados em objectos distribuídos têm sido largamente utilizados nos mais variados cenários, incluindo os abordados no 1 o capítulo: finanças, banca, jogos, saúde, educação, etc... As técnicas incorporadas no CORBA e plataformas similares, provaram a sua eficiência em resolver pontos chave dos sistemas distribuídos: heterogeneidade, portabilidade, interoperabilidade dos softwares, segurança e fiabilidade. No entanto, uma série de questões têm surgido, o que levou ao desenvolvimento do que se conhece por abordagens baseadas em componentes. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

15 Dos objectos aos componentes Problemas nos middlewares orientados a objectos As abordagens baseadas em componentes surgiram de modo a resolver os problemas nas abordagens orientadas a objectos, nomeadamente: Dependências implícitas Como sabemos, os objectos distribuídos fornecem os seus métodos via interfaces, que abstraem completamente a implementação. Ao invocar cada método remoto, não existe conhecimento sobre o código que é executado e se esse código recorre ele próprio a outras chamadas remotas,ou seja, se tem dependências externas, sejam de serviços de nomes, controlo de concorrência, etc. Ao desconhecer estes detalhes, torna-se impossível garantir uma configuração segura do sistema como um todo, substituir um objecto por outro, ou ainda integrar com desenvolvimentos e terceiros. Requisito. Daqui existe um claro requisito no que toca não só à especificação das interfaces oferecidas por um objectos, mas também das dependências que esse objecto tem de outros objectos numa configuração distribuída. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

16 Dos objectos aos componentes Problemas nos middlewares orientados a objectos (continuação) Interacção com o middleware As plataformas de middleware baseadas em objectos, estão implementadas de uma forma que utilizam inúmeros processos de baixo nível que garantem a operação e manutenção do middleware ao longo do seu tempo de vida, como por exemplo, código para criar e gerir as referências de objectos, para gerir os ciclos de vida dos objectos, as políticas de acesso, etc.. Requisito Existe a necessidade clara de simplificar a programação das aplicações distribuídas, apresentando uma separação limpa entre código da aplicação (lógica de negócio) e código de gestão do middleware. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

17 Dos objectos aos componentes Problemas nos middlewares orientados a objectos (continuação) Falha na separação das preocupações da distribuição Quando se programa para sistemas distribuídos temos de nos preocupar não só com as questões funcionais da aplicação, mas também com questões não funcionais, tais como segurança, transacções, coordenação e replicação. Nas abordagens por objectos, estes pontos são alcançados com a inserção das chamadas apropriadas para cada serviço do sistema. Este método obriga a que os programadores conheçam muito bem os detalhes dos serviços e ferramentas disponíveis, aumentando a complexidade da programação distribuída. Requisito: A separação abordada no ponto anterior deve ser estendida aos serviços, abstraindo, sempre que possível, a complexidade em lidar com estes. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

18 Dos objectos aos componentes Problemas nos middlewares orientados a objectos (continuação) Sem suporte de implantação Apesar dos middlewares orientados a objectos, como CORBA ou RMI, possibilitarem configurações arbitrárias de objectos, não existe qualquer suporte na implantação dos mesmos, tendo esse passo que ser manualmente realizado. Esta questão torna-se critica quando o número de objectos envolvidos é grande, levando facilmente a que ocorram erros básicos. Requisito: As plataformas de middleware devem fornecer ferramentas que permitam a implantação do sistema distribuído, de forma fácil e transparente, tal como se de uma aplicação local se tratasse. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

19 Dos objectos aos componentes Problemas nos middlewares orientados a objectos (continuação) Com base nos quatro problemas apontados nos slides anteriores, surgiu o conceito de abordagens baseadas em componentes e, como resultado, middlewares baseados em componentes. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

20 Dos objectos aos componentes Componente Definição: Um componente de software é uma unidade de composição com interfaces contractualmente especificadas, com todas as dependências de contexto explicitas. Os componentes de software são como os objectos, na perspectiva em que ambos encapsulam unidades de composição. No entanto, os componentes especificam explicitamente, para além das interfaces, as suas dependências para com outros componentes, ao contrário dos objectos. As dependências são também representadas como interfaces. Um componente é especificado em forma de contrato, incluindo: um conjunto de interfaces fornecidas - as interfaces que o componente oferece como serviços aos outros componentes. um conjunto de interfaces requeridas - as dependências que este componente tem em relação aos outros componentes. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

21 Dos objectos aos componentes Componente Exemplo TinyOS - Arquitectura do Software Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

22 Dos objectos aos componentes Componente As interfaces podem ser de vários tipos. No geral, as abordagens baseadas em componentes oferecem dois estilos de interfaces, nomeadamente: interfaces com suporte para invocação remota de métodos, tal como CORBA e Java RMI. interfaces com suporte para eventos distribuídos. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

23 Dos objectos aos componentes Componente A programação de sistemas baseados em componentes assenta sobre o desenvolvimento de componentes e a sua composição. O objectivos é suportar um estilo de programação totalmente modular, permitindo conjugar diferentes componentes, de diferentes modos, desenvolvendo serviços mais sofisticados. Migrar do desenvolvimento de software para o assemblamento de software Com este estilo de desenvolvimento e estruturação de software, torna-se mais simples: a disponibilização/integração de/com código de terceiros. adaptar a configuração de sistemas em runtime, substituindo módulos, desde que disponham das mesmas interfaces. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

24 Dos objectos aos componentes Componentes e sistemas distribuídos Uma série de middlewares baseados em componentes têm surgido, sendo os mais populares o Enterprise JavaBeans (que vamos analisar mais à frente) e o CORBA Component Model (CCM). Estes sistemas não só suportam os conceitos abordados anteriormente, como também introduzem suporte para o desenvolvimento de sistemas distribuídos e respectiva implantação. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

25 Dos objectos aos componentes Componentes e sistemas distribuídos Container O conceito de containers é totalmente central nos middleware baseados em componentes. Os containers suportam um padrão comum, frequentemente encontrado neste tipo de middleware, que consiste em: um cliente front-end; um ou mais componentes que implementam a aplicação ou a lógica do negócio; um conjunto de serviços responsáveis pela gestão dos dados nas bases de dados persistentes. Assim, a função do container é a de fornecer um ambiente de gestão de componentes do lado do servidor, resolvendo um dos problemas das soluções orientadas a objectos, com os componentes a lidarem com as questões da aplicação e o container a lidar com as questões do sistema distribuído, do middleware e com todos os processos não-funcionais. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

26 Dos objectos aos componentes Componentes e sistemas distribuídos Container O container encapsula vários componentes. O acesso directo aos componentes é vedado, sendo que as invocações são interceptadas e processadas garantindo que as devidas propriedades do SD são mantidas. Middlewares com suporte de containers são conhecidos como Servidores Aplicacionais Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

27 Dos objectos aos componentes Suporte para implantação Os middleware baseados em componentes fornecem suporte para a configuração da implantação (deployment) dos componentes. As releases de software são empacotadas como arquitecturas de software, ou seja, incluindo os componentes e as suas inter-ligações, juntamente com a descrição da implantação, que define detalhadamente como a configuração deve ser implantada no ambiente distribuído. Note-se que os componentes são implantados nos containers, sendo estes responsáveis por interpretar os descritores da implantação, de modo a garantir as políticas requeridas pelo sistema (segurança, fiabilidade, etc.). Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

28 Dos objectos aos componentes Suporte para implantação Deste modo, um determinado container incluí um conjunto de componentes que requerem a mesma configuração em termos de sistema distribuído. Os descriptores de implantação são normalmente definidos em XML e incluem informação suficiente para garantir que: os componentes estão correctamente ligados utilizando os protocolos apropriados e com o devido suporte do middleware. o middleware é configurado para garantir determinado nível de suporte à configuração do componente. o sistema distribuído associado é configurado para fornecer determinado nível de segurança, suporte de transacções, fiabilidade, etc. Os middleware fornecem ainda ferramentas para interpretar os descriptores de implantação e garantir a correcta implantação numa determinada arquitectura física. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

29 Outline 1 Introdução 2 Objectos distribuídos 3 Dos objectos aos componentes 4 Caso de estudo: Enterprise JavaBeans Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

30 Caso de estudo: Enterprise JavaBeans Os desafios em desenvolver aplicações corporativas As aplicações corporativas apresentam diversos desafios, tais como portabilidade, reutilização, interoperabilidade e integração aplicacional. Desde a sua génese, o Java tinha tido, maioritariamente, maior foco nas aplicações cliente, não apostando na resolução dos problemas do lado do servidor. O desafio era então desenvolver aplicações servidor capazes de responder aos requisitos das corporações. Para isso era necessário o desenho de componentes pequenos e transparentes na localização que, operando em conjunto, respondessem aos requisitos. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

31 Caso de estudo: Enterprise JavaBeans Os desafios em desenvolver aplicações corporativas A computação empresarial está em constante mudança, tanto em termos de hardware como de software. Novas aplicações são constantemente requisitadas, garantindo, no entanto, interoperabilidade com os sistemas antigos. Não é viável deitar todo o esforço e dinheiro gasto no desenvolvimento de software que com os anos torna-se legacy, substituindo todo o sistema. É por isso importante desenvolver novos módulos possíveis de integrar nas aplicações já existentes, mesmo que desenvolvidas em linguagens de programação antigas. Hoje em dia, os software de servidor permitem que uma corporação repense a sua infraestrutura, não só para as necessidades actuais, mas também para a capacidade de crescimento e integração de novas funcionalidades. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

32 Caso de estudo: Enterprise JavaBeans Os desafios em desenvolver aplicações corporativas As aplicações corporativas são complexas e em muitos casos estão distribuídas por múltiplos domínios. As aplicações dos dias de hoje requerem tempos de resposta cada vez mais rápidos para preencher os requisitos dos utilizadores. Para além disso, a interoperabilidade com outros ambientes (hardware, software e rede) é cada vez mais importante nos ambientes corporativos e, como tal, um enorme desafio. Nesse âmbito, as arquitecturas de sistemas corporativos têm sofrido uma evolução bastante grande, que se iniciou com a arquitectura cliente-servidor (two-tier), seguindo para uma arquitectura three-tier e mais tarde web-based. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

33 Caso de estudo: Enterprise JavaBeans Introdução A arquitectura JEE (Java Enterprise Edition) é um conjunto de especificações, standards, frameworks e guias que fornecem capacidades Java nos servidores corporativos. O Enterprise JavaBeans (EJB) é o coração da arquitectura JEE. As restantes APIs são utilizadas como serviços pela API EJB. Existem inúmeras implementações de JEE, tais como o BEA s WebLogic Server, IBM s WebSphere ou o JBoss (open source). JEE oferece aplicações corporativas com alto nível de abstracção. Não oferece somente portabilidade das aplicações-servidor baseadas em componentes, como também oferece um conjunto de serviços que suportam todos os aspectos da infraestrutura. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

34 Caso de estudo: Enterprise JavaBeans Porquê EJB? A arquitectura EJB permite que as aplicações corporativas sejam portáveis ao correrem em servidores aplicacionais compatíveis com JEE. As aplicações EJB podem ser particionadas de um modo mais reutilizável, flexível e expansível. Os EJBs são componentes altamente reutilizáveis e representam a próxima geração no progresso do Java, permitindo desenvolver aplicações capazes de suportar aplicações corporativas críticas.. Os EJBs permitem assim que o desenvolvimento da lógica de negócio seja transversal a todas as aplicações corporativas e entre diferentes plataformas. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

35 Caso de estudo: Enterprise JavaBeans Porquê EJB? O modelo EJB é baseado em Java RMI, que permite a separação da execução de componentes entre múltiplos tiers. Esta separação permite maior flexibilidade na implementação e alta escalabilidade. O RMI permite o acesso a componentes remotos, como se estes fossem locais. Para além disso, a inclusão na infraestrutura de um service provider permite gerir e oferecer uma série de serviços aos EJBs implantados. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

36 Caso de estudo: Enterprise JavaBeans Porquê EJB? - Resumo Simplicidade Oferece uma série de serviços já pré-adicionados que facilitam no desenvolvimento das aplicações. Portabilidade Aplicações EJB podem ser instaladas em qualquer servidor que suporte JEE. Reutilização O EJB é construído em blocos altamente reutilizáveis. Particionamento A separação da lógica de negócio da sua apresentação permite que as equipas de desenvolvimento de negócio trabalhem independentes das equipas de front-end. Distribuição EJB permite facilmente criar aplicações distribuídas que, independentemente do número de servidores, parecem unificadas aos olhos dos utilizadores. Interoperabilidade A arquitectura EJB permite que os componentes EJB acedam a outros componentes desenvolvidos noutras linguagems, tais como CORBA ou.net. Integração Um dos objectivos do EJB foi facilitar a integração de aplicações, mesmo com sistemas legacy e non- Java. As especificações JCA (Java Connecter Architecrure) e JMS (Java Message Service) são utilizadas nesse sentido. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

37 Caso de estudo: Enterprise JavaBeans EJB Objectivos A arquitectura EJB foi desenvolvida com os seguintes objectivos: Ser o standard das arquitecturas baseadas em componentes para o desenvolvimento dos sistemas distribuídos orientados a objectos nas aplicações Java. Tornar mais fácil o desenvolvimento das aplicações corporativas, evitando a necessidade de conhecer transacções de baixo nível e detalhes de gestão de estados, multi-threading, pools de ligações e outras APIs de baixo-nível. Permitir que um EJB seja desenvolvido como um só, mas implantado em múltiplas plataformas sem necessidade de recompilação ou modificação de código. Para endereçar o desenvolvimento, implantação e aspectos de execução do tempo de vida das aplicações corporativas. Para ser compatível com plataformas servidor existentes e com outras APIs Java. Para fornecer interoperabilidade entre EJBs, componentes JEE e aplicações não-java. Para ser compatível com os protocolos CORBA. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

38 Caso de estudo: Enterprise JavaBeans Dentro do EJB Geralmente um EJB é constituído por duas interfaces e uma classe: as interfaces home e component e a classe bean. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

39 Caso de estudo: Enterprise JavaBeans Dentro do EJB A interface home lista os métodos para criar, remover e encontrar EJBs no container. O objecto home representa a implementação do objecto home que é gerado pelo container no momento da implantação. Durante a execução o objecto home vai ser utilizado pelo cliente em conjunto com um serviço de nomes para encontrar o componente e estabelecer a ligação à interface do seu componente. A interface do componente define os métodos do negócio oferecidos pela classe bean. A classe bean não implementa esta interface, mas utiliza uma classe EJBObject que faz a ligação entre as chamadas do cliente e o respectivo objecto bean. O container contem a implementação desta interface e o cliente utiliza-a. A interface componente pode tanto ser local como remota, dependendo da localização do EJB cliente relativamente ao EJB. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

40 Caso de estudo: Enterprise JavaBeans Dentro do EJB O cliente EJB localiza os containers EJB através do serviço JNDI (Java Naming and Directory Interface). Depois do cliente EJB localizar a referência para a interface home do EJB, pode requerer a interface componente, invocar um método do negócio e o container, por sua vez, invocar o respectivo bean. Os clientes EJB podem ser servlets, JSPs ou simples aplicações Java. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

41 Caso de estudo: Enterprise JavaBeans EJB Server - JEE Application Server Um EJB Server ou JEE Application Server é o container de topo que aglomera todos os containers e restantes elementos que compõem o ambiente EJB. O EJB Server gere um ou mais EJB containers e fornece o suporte a serviços requeridos, tais como gestão de transacções, persistência e acesso de clientes. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

42 Caso de estudo: Enterprise JavaBeans EJB Server - JEE Application Server Um EJB Server fornece ainda recursos operacionais, tais como, processos e execução de threads, memória, rede, gestão de recursos, pooling de ligações, caching, load balancing, fail-over, etc., aos containers e elementos nele inseridos. O EJB Server pode fornecer ainda funcionalidades especificas de vendedores, tais como, drivers de BD optimizados, interfaces para sistemas de backend e acessibilidade CORBA. Ex.: BEA s WebLogic Server, IBM s WebSphere ou o JBoss (open source). Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

43 Caso de estudo: Enterprise JavaBeans EJB Container - Serviços essenciais Todos os EJB correm dentro de um container, que lhes fornece uma série de serviços de sistema e controla os seus ciclos de vida. Uma vez que o container gere todas as questões ao nível do sistema, os programadores EJB só têm de se preocupar em desenvolver devidamente a lógica de negócio. Em geral os containers JEE definem três tipos principais de serviços, nomeadamente: serviços verticais comuns, serviços horizontais comuns e ferramentas de implantação comuns. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

44 Caso de estudo: Enterprise JavaBeans EJB Container - Serviços verticais comuns Estes serviços são herdados dos containers e não são especificados na API JEE. Contribuem para a performance e aspectos de runtime dos EJBs e dos serviços a estes prestados. Gestão do ciclo de vida Segurança RMI Gestão de transacções O container cria e destrói instâncias de bens com base nos requisitos dos clientes. O container pode multiplexar transparentemente uma pool de instâncias entre vários clientes e assim optimizar os recursos. Este serviço garante que apenas utilizadores autorizados acedem aos recursos. O JEE só fornece uma método simples de segurança para os beans e componentes web, sendo que na maioria das vezes são integradas soluções third-party, como LDAP. O container gere a comunicação de modo transparente entre os beans e os outros componentes. Assim, não é necessário implementar sockets, mensagens, empacotar, desempacotar ou outras questões de baixo nível. O programador somente implementa o negócio e ignora a comunicação. O serviço de transacções liberta o programador da preocupação em lidar com transacções complexas, que podem ocorrer em múltiplos beans ou recursos, tais como bases de dados. Assim, se um update ou delete falhar num os elementos, este serviços é responsável por fazer rollback e garantir a integridade dos dados no sistema. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

45 Caso de estudo: Enterprise JavaBeans EJB Container - Serviços verticais comuns (continuação) Persistência O serviço de persistência simplifica a ligação entre a aplicação e os tiers de bases de dados. Passivação/Activação Este mecanismo é utilizado pelo container para guardar um bean inactivo no disco e restaura-lo para memória quando invocado. Deste modo é possível servir mais clientes libertando recursos, tais como memória, dinamicamente. Clustering Permite a replicação de EJBs e serviços por múltiplas aplicações servidor, instaladas na mesma máquina ou em máquinas distintas. Clustering envolve o balanceamento de carga de pedidos de serviços e EJBs entre as instâncias replicadas. Para além, disso suporte fail-over. Se uma instância falha, a outra assegura o serviço. Pooling de recursos dos clientes. Quando um instância é libertada, esta volta novamente Suporta a alocação de pools de instâncias, que atribuí aos pedidos para a pool. Existem pools, por exemplo, para as ligações JDBC. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November 19, / 53

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

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores

Leia mais

Web Technologies. Tópicos da apresentação

Web Technologies. Tópicos da apresentação Web Technologies Tecnologias de Middleware 2004/2005 Hugo Simões hsimoes@di.fc.ul.pt 1 A Web Tópicos da apresentação Tecnologias Web para suporte a clientes remotos (Applets,CGI,Servlets) Servidores Aplicacionais

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

J2EE TM Java 2 Plataform, Enterprise Edition

J2EE TM Java 2 Plataform, Enterprise Edition CURSO DE GRADUAÇÃO J2EE TM Java 2 Plataform, Enterprise Edition Antonio Benedito Coimbra Sampaio Junior abc@unama.br OBJETIVOS DO CURSO Capacitar os alunos no desenvolvimento de aplicações para a WEB com

Leia mais

Enterprise Java Bean. Enterprise JavaBeans

Enterprise Java Bean. Enterprise JavaBeans Enterprise Java Bean Introdução Elementos do Modelo Enterprise JavaBeans A especificação do Enterprise JavaBeansTM (EJB) define uma arquitetura para o desenvolvimento de componentes de software distribuídos

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

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 6 EJB Enterprise Java

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

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

R/3 e SAP WAS. 8/28/2003 José Alves Marques. R/3 e SAP WAS(2)

R/3 e SAP WAS. 8/28/2003 José Alves Marques. R/3 e SAP WAS(2) R/3 e SAP WAS O R/3 é um ERP Enterprise Resource Planning Um ERP é o sistema empresarial que disponibiliza módulos para os processos de negócio - de uma empresa Um ERP permite aumentar a eficiência dos

Leia mais

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

WebSphere MQ. Bruno Miguel de Sousa Gonçalves WebSphere MQ Bruno Miguel de Sousa Gonçalves 1.Introdução ao WebSphere Os produtos WebSphere providenciam comunicação entre programas através da interligação entre componentes heterogéneos, processadores,

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelos e arquitecturas 14/15 Sistemas Distribuídos 1 Modelos arquitecturais 14/15 Sistemas Distribuídos 2 Camadas de Software: o Middleware Aplicações Middleware Sistema Operativo

Leia mais

J2EE. J2EE - Surgimento

J2EE. J2EE - Surgimento J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

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

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

Escola Superior de Tecnologia de Setúbal. Projecto Final

Escola Superior de Tecnologia de Setúbal. Projecto Final Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Projecto Final Computação na Internet Ano Lectivo 2002/2003 Portal de Jogos Executado por:

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

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

Sistemas Distribuídos

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

Leia mais

UFG - Instituto de Informática

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

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Fundamentos da Plataforma Java EE Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como a plataforma Java EE trata o SERVIÇO DE NOMES Serviço de Nomes Num sistema distribuído os componentes necessitam

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

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

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duraçã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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro

ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE André Esteves nº3412 David Monteiro INTRODUÇÃO É proposto uma arquitectura de servidor Web dividida que tolera perfeitamente tanto falhas na

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

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

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

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Oracle WebLogic Server 11g: Conceitos Básicos de Administração Oracle University Entre em contato: 0800 891 6502 Oracle WebLogic Server 11g: Conceitos Básicos de Administração Duração: 5 Dias Objetivos do Curso Este curso treina administradores Web nas técnicas para

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

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

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

1.2.4. Organizar a estrutura do site

1.2.4. Organizar a estrutura do site 1.2.4. Organizar a estrutura do site 1 Organizar a estrutura do site A organização da estrutura do site passa pela definição das ligações entre as páginas que o compõem Esta organização deve ser intuitiva

Leia mais

Padrões Arquiteturais. Sistemas Distribuídos: Broker

Padrões Arquiteturais. Sistemas Distribuídos: Broker Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade

Leia mais

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

Leia mais

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Framework. Marcos Paulo de Souza Brito João Paulo Raittes Framework Marcos Paulo de Souza Brito João Paulo Raittes Sobre o seu surgimento A primeira versão do spring foi escrita por Rod Johnson em 2002, quando ele estava Lancando o seu livro Expert One-on-One

Leia mais

Acronis Servidor de Licença. Manual do Utilizador

Acronis Servidor de Licença. Manual do Utilizador Acronis Servidor de Licença Manual do Utilizador ÍNDICE 1. INTRODUÇÃO... 3 1.1 Descrição geral... 3 1.2 Política de licenças... 3 2. SISTEMAS OPERATIVOS SUPORTADOS... 4 3. INSTALAR O SERVIDOR DE LICENÇA

Leia mais

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT 1. IDENTIFICAÇÃO Padrão Segmento Código P06.002 Revisão v. 2014 Plataformas Web 2. PUBLICAÇÃO Recursos Tecnológicos Versão Data para adoção Publicação v. 2014 23 de dezembro de 2014 PORTARIA N Nº 225 de

Leia mais

Novidades no Q-flow 3.02

Novidades no Q-flow 3.02 Novidades no Q-flow 3.02 Introdução Um dos principais objetivos do Q-flow 3.02 é adequar-se às necessidades das grandes organizações. Por isso, o Q-flow 3.02 possui uma versão Enterprise que inclui funcionalidades

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

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

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Java 2 Enterprise Edition

Java 2 Enterprise Edition Java 2 Enterprise Edition Pablo Vieira Florentino 8/11/2006 Contexto Linguagem Java A linguagem Java é Orientada a Objetos Influenciada diretamente por C++ e Eiffel, a linguagem segue a grande tendência

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Desenho de Software. Desenho de Software 1

Desenho de Software. Desenho de Software 1 Desenho de Software Desenho de Software 1 Sumário Caracterização Conceitos fundamentais Desenho funcional e desenho OO Qualidades Desenho de Software 2 Bibliografia Pfleeger, Capítulo 6 Design the Modules

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

Java e JavaScript. Krishna Tateneni Tradução: José Pires

Java e JavaScript. Krishna Tateneni Tradução: José Pires Krishna Tateneni Tradução: José Pires 2 Conteúdo 1 Java e JavaScript 4 1.1 Java............................................. 4 1.2 JavaScript.......................................... 4 3 1 Java e JavaScript

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

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

Engenharia de Software Sistemas Distribuídos

Engenharia de Software Sistemas Distribuídos Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2007/2008 Requisitos para a 1 a entrega Loja Virtual 1 Introdução O enunciado base do projecto conjunto das disciplinas de Engenharia de Software

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Aspectos técnicos do desenvolvimento baseado em componentes

Aspectos técnicos do desenvolvimento baseado em componentes Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos

Leia mais

Sistemas Cliente-Servidor

Sistemas Cliente-Servidor Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha Desenvolvimento WEB II Professora: Kelly de Paula Cunha O Java EE (Java Enterprise Edition): série de especificações detalhadas, dando uma receita de como deve ser implementado um software que utiliza

Leia mais

Engenharia de Software

Engenharia de Software Conceitos básicos sobre E.S: Ambiência Caracterização do software Fases de desenvolvimento 1 Introdução Aspectos Introdutórios Crise do Software Definição de Engenharia do Software 2 Crise do Software

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

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

Leia mais

Servidor de Dados. Sistemas de Informação Módulo 4

Servidor de Dados. Sistemas de Informação Módulo 4 Servidor de Dados Sistemas de Informação Módulo 4 Módulo 4 Arquitectura Cliente/Servidor Administração de um Servidor/Base de Dados Conteúdos do Módulo 4 Conceitos Gerais sobre a arquitectura Cliente/Servidor;

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX 19 de Dezembro de 2014 Carlos Leocádio - ee09313@fe.up.pt Tiago Ferreira - ee10085@fe.up.pt Departamento de Engenharia Electrotécnica

Leia mais

Engenharia de Software Sistemas Distribuídos

Engenharia de Software Sistemas Distribuídos Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software

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

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Engenharia de software A economia de todos os países desenvolvidos depende do software. O

Leia mais

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

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

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000 ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário Gestão da Qualidade 2005 1 As Normas da família ISO 9000 ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e especifica

Leia mais

Conceito. As empresas como ecossistemas de relações dinâmicas

Conceito. As empresas como ecossistemas de relações dinâmicas Conceito As empresas como ecossistemas de relações dinâmicas PÁG 02 Actualmente, face à crescente necessidade de integração dos processos de negócio, as empresas enfrentam o desafio de inovar e expandir

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

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

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações Sistemas Multimédia Arquitectura Protocolar Simples Modelo OSI TCP/IP Redes e Comunicações Francisco Maia famaia@gmail.com Já estudado... Motivação Breve História Conceitos Básicos Tipos de Redes Componentes

Leia mais