Notas de Aula v4 Janeiro de 2012

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

Download "Notas de Aula v4 Janeiro de 2012"

Transcrição

1 FACULDADE DE INFORMÁTICA LEMOS DE CASTRO Autorizada pelo Parecer no. 423/99 de 18/05/1999 e homologado pela Portaria Ministerial no. 947 de 22/06/1999 Nome da Disciplina Período Carga Horária (CD) COMPUTAÇÃO DISTRIBUÍDA 7 o 120 Notas de Aula v4 Janeiro de 2012 Professor M. França FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 1

2 Esta página foi deixada propositadamente em branco. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 2

3 O Autor Marcelo França é técnico em Processamento de Dados, tecnólogo em Processamento de Dados, analista de sistemas pós-graduado pela PUC-Rio, bacharel em Administração de Sistemas de Informação, licenciado em Informática pelo Instituto Superior de Educação do Rio de Janeiro ISERJ, mestre em Informática pela Universidade Federal do Estado do Rio de Janeiro UNIRIO, aluno do MBA em gerenciamento de projetos da Fundação Getúlio Vargas, certificado MCAD pela Microsoft, certificado SCJA pela Sun, certificado RAD Associate pela IBM, certificado OCJP 6 (SCJP) pela Oracle, professor de Informática da FAETEC e da Faculdade de Informática Lemos de Castro, e especialista de sistemas da IBM Brasil. Estuda Informática desde 1990 e trabalha com Informática desde Dedicatória Dedico este trabalho a todos os meus alunos e ex-alunos. Desejo a todos vocês muito sucesso profissional. Que seus objetivos sejam alcançados e que vocês sempre perseverem, mantendo o foco! Agradecimentos Agradeço ao Professor Walter Henrique pelo voto de confiança, e por ter me aberto as portas da FILC. Obrigado, professor! FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 3

4 Esta página foi deixada propositadamente em branco. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 4

5 Índice Aula 1 Aspectos Estratégicos da Computação Distribuída... 9 Introdução... 9 Sistema Distribuído... 9 Histórico... 9 Tecnologias Padrões para Aplicações EAI Enterprise Application Integration ou Integração de Aplicações Corporativas. 12 Enterprise Architecture A Profissão de Arquiteto Outras Questões Exercícios Aula 2 Middlewares Introdução Middleware Taxonomia Stubs vs. Skeletons Queue VS. Topic Servidores de Aplicação Outras Questões Exercícios Aula 3 Objetos Distribuídos (Java IDL) [ESTUDO DIRIGIDO] Introdução Serialização e RMI Serialização e Persistência Introdução ao RMI Outras Questões Exercícios Aula 4 Balanceamento de Carga Introdução Recursos Taxonomia Políticas de Escalonamento Outras Questões Exercícios Aula 5 Algoritmos Distribuídos Introdução FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 5

6 Breve Histórico Características dos Sistemas Distribuídos Computação Concorrente Comunicação Taxonomia Características Outras Questões Exercícios Aula 6 Banco de Dados Distribuídos Introdução Considerações Importantes Vantagens de bancos de dados distribuídos Desvantagens de banco de dados distribuídos Arquitetura de um banco de dados distribuídos em Oracle Transações Distribuídas Outras Questões Exercícios Aula 7 Tolerância a Falhas em Ambiente Distribuído Introdução Mitigar Riscos Solução Outras Questões Exercícios Aula 8 Segurança em Ambientes Distribuídos Cenário-Exemplo Sub-net Masking Motivação Desafios Conceitos Básicos Cuidados Ataque (Taxonomia): Políticas de Segurança Criptografia Conclusão Outras Questões Exercícios Aula 9 Computação em Grade FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 6

7 Histórico Internet/Web Como Plataforma Tecnologias Conclusão Outras Questões Exercícios Aula 10 Análise de Desempenho de SD [ESTUDO DIRIGIDO] Introdução Benchmark Outras Questões Exercícios Aula 11 Componentes para Computação Distribuída Introdução Componentes Distribuídos Desenvolvimento Orientado a Componentes Padrões para Empacotamento e Distribuição Outras Questões Exercícios Aula 12 Microsoft.NET Remoting Introdução DCOM NET Remoting NET Framework Diferenças entre o Microsoft.NET Remoting e o DCOM Outras Questões Exercícios Bibliografia/Créditos Apêndice A Questionário de Avaliação do Curso FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 7

8 Esta página foi deixada propositadamente em branco. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 8

9 Aula 1 Aspectos Estratégicos da Computação Distribuída Introdução Estratégia competitiva é o conjunto de planos, políticas, programas e ações desenvolvidos por uma empresa ou unidade de negócios para ampliar ou manter, de modo sustentável, suas vantagens competitivas (inclui oferecer valor agregado) frente aos concorrentes. Para Ohmae (1983),... Sem competidores não haveria necessidade de estratégia, pois o único propósito do planejamento estratégico é tornar a empresa apta a ganhar, tão eficientemente quanto possível, uma vantagem sustentável sobre seus concorrentes..... Para Porter (1985), A estratégia competitiva visa estabelecer uma posição lucrativa e sustentável contra as forças que determinam a competição industrial. A informática (TI) é suporte para a estratégia corporativa (sistemas de informação versus ciência da computação). Implementar sistemas distribuídos (SD) é uma forma de se operacionalizar este suporte. Sistema Distribuído Definição de um SD: vários computadores, interconectados por uma rede, compartilhando um estado. Comunicação por mensagem (síncronas ou assíncronas) entre os componentes. Exemplos de SD: Internet, Web, DNS, Multiprocessador, Cluster, Grid. Cenários favoráveis à distribuição (motivação): problema distribuído (groupware), escalabilidade (horizontal) e confiabilidade (dependability) são características desejáveis. Características de um SD: [heterogeneidade,] modularidade, escalabilidade, compartilhamento de recursos, degradação paulatina, mais sujeito a ataques (maior área), custo menor (ao longo do tempo)[, controle distribuído]. Valores agregados com a distribuição: redundância (suporte a falhas, disponibilidade), flexibilidade, manutenibilidade (crescimento modular), integração de serviços. Entretanto, o custo com gerência tende a aumentar - TCO. Histórico Histórico dos sistemas distribuídos: 1. acesso remoto (terminais/mainframes) 2. distribuição de arquivos e memória (workstations) 3. servidores de arquivo (fator custo) 4. arquitetura cliente-servidor (downsizing) 5. cliente servidor em três camadas (thin client/www) 6. arquitetura peer-to-peer (P2P) 7. computação ubíqua (pervasive computing) faculdade, trabalho, praia, etc.. Impulsionadores da evolução das arquiteturas: avanços tecnológicos e mudanças nos requisitos definidos pelos usuários. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 9

10 Processos de Negócio: Representam as atividades relacionadas a negócios do dia-a-dia de uma empresa. Centralizados ou distribuídos em múltiplos sites (carros são projetados em um lugar, montados em muitos lugares e comercializados em diversos outros lugares). Anos 60, 70 e 80: Processos de Negócios Centralizados. Sistemas de Informação centralizados (CPD). Processamento centralizado. Poder dos negócios centralizado. Aplicações centralizadas. Indústria dos computadores guiada mais pela tecnologia do que pelas necessidades dos usuários. Vendedores são controladores do mercado. Mercado de massa. Tempo longo para firmar presença no mercado. Tempo longo entre concepção e entrega. Anos 90: Novo Ambiente de Negócios. Demanda cada vez mais sofisticada. Maior número de concorrentes. Concorrência acirrada. Necessidades de respostas rápidas (ondemand): novos produtos e novos serviços. Os vendedores já não mais controlam o mercado. Clientes é que mandam: tratamento individualizado (Amazon.com); Informam o que desejam, como desejam e quanto pagarão (ebay, MercadoLivre); Produtos configurados (personalizados, customizados Fiat.com.br); Cronogramas de entrega; Prazos de pagamentos mais convenientes. Organizações novatas não obedecem às regras, elas definem as regras (copyright & Internet). Dispersão dos Sistemas de Informações. Dispersão dos negócios (Internet). Dispersão do poder de processamento. Dispersão das aplicações. Diminuição dos sistemas proprietários (crescimento do Open Source e Padrões Abertos xml, webservices). Departamentos adquirem recursos computacionais ( fim do CPD). Globalização. Para atender a estas exigências: Interação e cooperação crescentes entre grupos de trabalhos e departamentos nas empresas (Intranet), assim como entre empresas (Extranet). Mudanças organizacionais (culturais) drásticas. Groupware. Reengenharia Empresarial: Mudanças maiores nas próprias estruturas organizacionais: Reengenharia Empresarial: O repensar fundamental e a reestruturação radical dos processos empresariais, objetivando alcançar drásticas melhorias em indicadores críticos e contemporâneos de níveis de desempenho: custos, qualidade, atendimento e rapidez. Para satisfazer a estes e outros desafios competitivos, empresas estão crescendo contando com as Tecnologias da Informação (TI). Negócios estão sendo fundamentalmente transformados através das Tecnologias da Informação. Tecnologias RPC, Middleware (integrar a empresa, programa de computador que faz a mediação entre outros softwares) Orientados a Mensagem, OSF DCE (industry-standard, vendor-neutral set of distributed computing technologies), Middleware de Dados Distribuídos (gateways SQL, ODBC, JDBC), Middleware de Processamento de Transações, Cliente/Servidor, Serviços de rede (sockets TCP/IP), Servidores de Replicação, Groupware, Multimídia, WWW (gateways, FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 10

11 servidores e browsers), Objetos Distribuídos (CORBA, OLE, OpenDoc, Microsoft.NET Remoting), Middleware para Computação Móvel. Tecnologia da Informação, com as funcionalidades oferecidas pela Computação Distribuída, adequa-se perfeitamente como fornecedora de soluções para as organizações que buscam os modelos adotados pela Reengenharia. Sistemas Proprietários (Hardware + Software): Muitas empresas fornecedoras de sistemas de computadores consideravam seu diferencial de competitividade baseado em tecnologias proprietárias. Portabilidade de aplicações era quase impossível. Preços exagerados, gerando grandes lucros para os fornecedores. Sistemas Abertos: Com o advento de microprocessador (Anos 80), os fabricantes viram seu poder começar a ser contestado. Grupos de interesse: Grupo de Desenvolvedores de Software, Grupos de Usuários, Grupo dos Fabricantes de Hardware. Exigência: padrões para os produtos de Tecnologia da Informação. Os sistemas abertos formam um conjunto compreensivo de padrões internacionais para a Tecnologia da Informação, que especificam interfaces, serviços e suporte a formatos que possam atender à interoperabilidade e portabilidade de aplicações, dados (xml) e pessoas. Uma metodologia para a integração de tecnologias divergentes, permitindo que se crie um ambiente flexível para resolver os problemas de negócios de uma organização, através do uso de software e hardware abertos, isto é não proprietários. A força de sustentação dos sistemas abertos é a independência de fornecedores. Órgãos de Padronização: OMG, W3C, ANSI (American National Standards Institute), ISO (International Organization for Standardization), IEEE (Institute of Eletrical and Eletronic Engineers), JIS (Japanese Institute for Standards), ABNT (Brasil). Padrões para Aplicações API (Interface de Programação de Aplicações). O que posso fazer com essa aplicação? Estensibilidade. Permitir que um mesmo sistema operacional suporte diversos conjuntos de interfaces, no sentido de que as aplicações possam ser executadas em qualquer sistema operacional que suporte esse conjunto de interfaces. Aplicações escritas para um ambiente de sistema operacional podem rodar em outros sistemas operacionais, porque existe uma API para o desenvolvedor comum aos dois sistemas operacionais (c/c++, Java). A Computação Distribuída fornece toda a infraestrutura necessária para a construção e operação efetiva de aplicações distribuídas e engloba todos os produtos necessários para permitir que essas aplicações sejam construídas e possam ser executadas em um ambiente de rede heterogêneo, ou em um ambiente centralizado. A infra-estrutura para a Computação Distribuída (CD) não precisa basear-se, obrigatoriamente, em sistemas abertos. Podem ser suportados elementos abertos ou proprietários. Porém, à medida que a complexidade e o número de aplicações construídas em FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 11

12 uma plataforma de CD forem crescendo, então diferentes ambientes operacionais e plataformas de HW vão estar presentes. Nestas circunstâncias, é prudente o uso de interfaces o mais abertas possíveis. EAI Enterprise Application Integration ou Integração de Aplicações Corporativas Com o objetivo de conter custos durante as mudanças de negócios, as indústrias de tecnologia freqüentemente necessitam integrar suas aplicações com sistemas legados sob diferentes plataformas. Esta necessidade tem criado uma área de atuação atualmente conhecida como mercado de integração de aplicações. O termo EAI ou Enterprise Application Integration é novo, mas sugere toda essa integração. É, ainda, o termo formal que contempla a integração de aplicações corporativas e de um conjunto de ferramentas e tecnologias. A dependência das corporações em relação à tecnologia tem crescido e se tornado mais complexa. Por isso, a integração de aplicações em um único arsenal de processos de negócios tem se tornado prioridade para o sucesso de uma empresa. No contexto de EAI, uma figura de destaque é o broker, núcleo das integrações. O Broker fica no centro das integrações fazendo o roteamento das mensagens para os seus destinatários. Também faz a verificação das regras de negócio e transformações necessárias. O objetivo é substituir integrações ponto a ponto, principalmente reutilizando mensagens. A saída é única, indo para o broker, que transforma e roteia a mensagem. Enterprise Architecture An enterprise architecture (EA) is a rigorous description of the structure of an enterprise, which comprises enterprise components (business entities), the externally visible properties of those components, and the relationships (e.g. the behavior) between them. "Enterprise" as used in enterprise architecture generally means more than the information systems employed by an organization. The popular TOGAF framework divides the practice into three domains: "Business Architecture", "Information Systems Architecture" and "Technology Architecture" and then subdivides the information systems architecture into "Information Architecture and "Applications Architecture". Describing the architecture of an enterprise aims primarily to improve the effectiveness or efficiency of the business itself. This includes innovations in the structure of an organization, the centralization or federation of business processes, the quality and timeliness of business information, or ensuring that money spent on information technology (IT) can be justified. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 12

13 A Profissão de Arquiteto Arquitetos definem arquitetam soluções para problemas de negócios de clientes através da aplicação fundamentada da Tecnologia; Essas soluções podem incluir sistemas e/ou processos e geralmente envolvem a aplicação ou integração de uma variedade de produtos, tecnologias e serviços; Características gerais de um arquiteto incluem: Experiência no ciclo de vida completo de soluções; Amplo conhecimento de tecnologia; Experiência em diversos casos; Bom comunicador; Liderança técnica; Usa metodologias formais; Produz arquiteturas de valor; A demanda por arquitetos está aumentando. Mais detalhes em FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 13

14 Outras Questões Carreira (Punto VS. MBA) Não ser um profissional bit/byte (estar antenado ao negócio da empresa). Que tal R$ (CLT) em uma grande empresa? Pô, não dá... Que perfil é esse? (Especialista em Middleware/Integração) Visão estratégica de TI (maximizar lucros, reduzir custos, sempre estamos empregados). Engenharia de Produção (Analista de Negócios) Clusterização versus Virtualização (Mainframes Z10/ZOS) custo Oracle por processador. Exercícios 1. O que são sistemas distribuídos, e como eles podem ajudar na estratégia competitiva de uma empresa? 2. Cite características encontradas em sistemas distribuídos. 3. O que é dependability? 4. O que é Groupware? 5. Relacione Sistemas Proprietário e Sistemas Abertos com o histórico da tecnologia da informação. 6. O que é uma API? Qual a relação desse conceito com o sucesso (aceitação) da tecnologia Java? 7. Quais os dois entendimentos mais comuns para o termo EAI? 8. No contexto de EAI, defina Broker. 9. Relacione padrões de mercado, soluções de TI e TCO. 10.O que faz um arquiteto (de integração)? FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 14

15 Aula 2 Middlewares Introdução Sistema distribuído (SD): coleção de componentes, distribuídos entre vários computadores conectados via uma rede. Esses componentes interagem a fim de trocar dados ou acessar os serviços uns dos outros. Essa interação pode ser construída diretamente através das APIs do sistema operacional extremamente complexo para muitos desenvolvedores. Em vez disso suporte de Sistemas de Middleware: localizados entre componentes do SD e componentes do sistema operacional; sua tarefa é facilitar as interações entre esses componentes. Middleware Camada de software que permite a comunicação entre aplicações (distribuídas); Um conjunto de serviços que fornece comunicação e distribuição de forma transparente à aplicação: Middleware permite que processos em diferentes espaços de endereçamento consigam se comunicar. Objetivo: Facilitar o desenvolvimento de aplicações e a integração de sistemas legados (adaptadores) ou desenvolvidos de forma não integrada (transparência). Ajudam a gerenciar a complexidade e a heterogeneidade inerentes ao desenvolvimento de aplicações e sistemas distribuídos; Mascara a heterogeneidade com que os programadores de aplicações distribuídas têm que lidar: Rede & hardware; Sistemas operacionais & linguagem de programação; Localização, acesso, falhas, concorrência; Diferentes plataformas de middleware. Middleware deve fornecer: Facilidade de Uso - Middleware deve ser mais fácil de usar do que escrever uma interface de comunicação de baixo nível usando sockets; Transparência de Localização - Deve ser possível mover uma aplicação para um endereço de rede diferente sem a necessidade de recompilar qualquer software (diminuir o acoplamento/dns); Transparência de Linguagem (e plataforma) - Um processo usando o middleware deve ser capaz de se comunicar com um processo que foi escrito em uma linguagem diferente. Serviços Oferecidos: Infra-estrutura: Encapsulam e melhoram os mecanismos de concorrência e comunicação nativos do sistema operacional. Ex. estabelecimento de conexão, sincronização, (un) marshalling (serialização). Ex.: RPC, ACE (Adaptive Communication Environment) abstraem as peculiaridades dos SOs. Distribuição, remotabilidade: Permitem a integração de aplicações remotas de forma transparente. Exemplo: Brokers CORBA, RMI, SOAP. Definem modelos de programação que permitem a construção de aplicações distribuídas, onde a comunicação é abstraída. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 15

16 Comuns: Serviços independentes do domínio de aplicação que fazem uso da infra-estrutura de distribuição/comunicação. Ex. segurança, transação. Específicos, outros: Diretamente relacionados a domínios específicos. Exemplo de domínios: telecomunicações (URAs, CTI), comércio eletrônico, automação, saúde, computação móvel. Principais Plataformas de Middleware Existentes: CORBA da OMG, JEE da Sun/Oracle, COM, COM+, DCOM da Microsoft,.NET Remoting da Microsoft (hoje, WCF), Web Services/SOA. Denominações Equivalentes: Modelos de Integração de Objetos, Plataformas de Distribuição de Objetos. Taxonomia Procedure Oriented Middleware (RPC Remote Procedure Call): Chamadas Remotas de Procedimentos. É uma chamada de procedimento que cruza as fronteiras dos componentes locais (hosts). Idéia básica: no que concerne ao processo cliente, não há diferença lógica entre chamar um procedimento local ou um remoto. Uma chamada remota de procedimento usa comunicação direta, orientada a conexão e síncrona para permitir a um processo cliente chamar um procedimento remoto. Paradigma criado pela Sun como parte de sua plataforma Open Network Computing (ONC). Serviços: comunicação síncrona (request/wait-for-reply). Vários problemas devem ser tratados pelo programador. Exemplo: Falhas na comunicação. Stubs vs. Skeletons Dado (marshalling) (unmarshalling) Dado In the distributed computing environment, stub stands for client side object participating in the distributed object communication. The stub acts as a gateway (design pattern PROXY) for client side objects and all outgoing requests to server side objects that are routed through it. The stub wraps client object functionality and by adding the network logic ensures the reliable communication channel between client and server. In the distributed computing environment skeleton stands for server side object participating in the distributed object communication. Skeleton acts as gateway for server FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 16

17 side objects and all incoming clients requests are routed through it. The skeleton wraps server object functionality and exposes it to the clients, moreover by adding the network logic ensures the reliable communication channel between clients and server. Para fazer uma RPC: O processo cliente chama o stub do cliente como se fosse um procedimento local. O stub do cliente converte os parâmetros em uma string de bits (marshalling) e envia os bits na rede para o skeleton do servidor. O skeleton do servidor converte os bits de volta para parâmetros (unmarshalling) e chama o procedimento no servidor. O skeleton do servidor converte a resposta do procedimento em uma string de bits e envia pela rede para o stub do cliente. O stub do cliente converte os bits para a resposta e a retorna para o procedimento chamador. Middleware Orientado a Transação: Conhecidos como Monitores de Processamento de Transações (transaction-processing - TP). Chamada de procedimento remoto + controle de transações. Principais Serviços: Comunicação síncrona/assíncrona, Transação, Outros Serviços: Segurança e integridade de dados, Tuning, Balanceamento de carga, Entrega confiável dos dados, Serviços de nomes - facilitam a descoberta de recursos distribuídos. Usado em aplicações que demandam rapidez na execução de transações remotas. Frequentemente usado com aplicações de bancos de dados distribuídos. Tipicamente, os monitores de TP não são usados para comunicação aplicação-aplicação. Mas, fornecem um ambiente completo para aplicações de transações que acessam bancos relacionais. Exemplo: BEA Tuxedo. Construído sobre uma arquitetura orientada a serviços (Service Oriented Architecture - SOA). Sua plataforma para processamento de transações fornece a infra-estrutura necessária para: aumentar a acessibilidade de aplicações existentes; consolidar soluções para transações e passagem de mensagens; garantir a maior disponibilidade e o maior throughput possível de aplicações; aumentar a eficiência de processamento e melhorar a gerência de recursos. Middleware Orientado a Mensagem (Message Oriented Middleware MOM): É o mais usado, mais comum. Comunicação através de passagem de mensagens; Tecnologia FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 17

18 inerentemente assíncrona, e com fraco acoplamento; Filas de mensagens implementam um link de comunicação indireto, sem conexão e assíncrono entre dois ou mais processos; Um gerente de filas rodando em um servidor separado gerencia as filas e garante que não importa o que ocorra na rede, apenas uma cópia da mensagem eventualmente chega ao seu destino; Deve-se notar que embora a comunicação de processo para processo seja assíncrona, a comunicação entre um processo e o gerente de fila é em geral implementada usando um link de comunicação direto e síncrono; Isso significa que se a rede cair ou se o gerente cair, um processo não pode incluir mensagens em uma fila ou obter mensagens da mesma. Filas (queue) são independentes de um processo. Então, muitos processos podem incluir, ou obter (retirando ou não as mensagens da fila) mensagens de uma mesma fila. Um processo pode também acessar múltiplas filas; Se a rede ou um destino cair, as mensagens podem esperar na fila até a falha se resolver; Filas podem ser armazenadas em disco de forma que se o gerente de filas cair, a fila não é perdida; O gerente de filas pode cooperar com um gerente de transações; se uma transação é iniciada e uma mensagem é colocada em uma fila durante a transação a qual é mais tarde abortada, então não somente o BD tem que sofrer roll back, mas a mensagem também é removida da fila e não enviada. Queue VS. Topic -On-line, multi-cast. Principais Serviços: comunicação assíncrona, priorização de mensagens, segurança, suporte a Multicasting (delivery of information to a group of destinations simultaneously using the most efficient strategy to deliver the messages over each link of the network only once, creating copies only when the links to the multiple destinations split), MOM é usado quando comunicação assíncrona e confiável é a forma dominante de interação do sistema distribuído: não assume um transporte confiável. Exemplo de Produtos: MQSeries da IBM (hoje, IBM WebSphere MQ), MSMQ da Microsoft, Tuxedo/Q (WebLogic) da BEA Systems, Java Message Service - JMS (Sun), WebMethods Broker (costumava vir com o SAP). Middleware Baseado em Objetos (Object Oriented Middleware): evoluiu mais ou menos diretamente da idéia de RPC. Usado para chamar uma operação (implementada por um método) em uma instância de objeto (instanciada a partir de uma classe) que reside em outro processo. A idéia aqui é tornar os princípios orientados a objetos disponíveis para o desenvolvimento de sistemas distribuídos, ou seja, distribuição + OO = Objetos Distribuídos. O primeiro desses sistemas foi o OMG Common Object Request Broker Architecture (CORBA). Microsoft adicionou capacidades de distribuição a seu Component Object Model (COM DCOM). Sun forneceu mecanismos para Invocação Remota de Métodos Remote Method Invocation (RMI). FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 18

19 Servidores de Aplicação GlassFish, MS IIS, JBoss, IBM WAS. Principais Vantagens do middleware OO sobre o middleware RPC: Mais flexível, Naturalmente integrado com linguagens OO. Exemplos de Tecnologias: Java Remote Method Invokation (RMI) e EJB (Sun), Common Object Request Broker (CORBA), Distributed Component Object Model (DCOM), Microsoft.NET Remoting (usado com o Microsoft COM+). Middleware para Web: WebServices, HTTP (padrão), ubiqüidade (até videogame acessa http), XML (padrão), codificação dos dados, SOAP (padrão), comunicação (RPC), executa sobre o http, WSDL Web Service Definition Language (padrão): o que, onde, como, UDDI Universal Description Discovery and Integration (padrão): Descoberta e negociação. WebServices agem como uma interface para acessar os serviços providos por outros middleware. Outras Questões Arquitetura SOA: In computing, service-oriented architecture (SOA) provides methods for systems development and integration where systems group functionality around business processes and package these as interoperable services. An SOA infrastructure allows different applications to exchange data with one another as they participate in business processes. Service-orientation aims at a loose coupling of services with operating systems, programming languages and other technologies which underlie applications. Arquitetura Enterprise Service Bus: In computing, an enterprise service bus (ESB) refers to a software architecture construct. This construct is typically implemented by technologies found in a category of middleware infrastructure products, usually based on recognized standards, which provide fundamental services for complex architectures via an event-driven and standards-based messaging engine (the bus). Software Microsoft BizTalk Server: often referred to as simply "BizTalk", is a business process management (BPM) server. Through the use of "adapters" which are tailored to communicate with different software systems used in a large enterprise, it enables companies to automate and integrate business processes. Offered by Microsoft, it provides the following functions: Business Process Automation, Business Process Modeling, Business-to-business Communication, Enterprise Application Integration and Message broker. JBoss Enterprise Middleware - Exercícios 1. O que são Middlewares, e quais seus objetivos? 2. Explique o conceito de transparência no contexto de middlewares. FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 19

20 3. Explique a arquitetura de um MOM? 4. O que é Cloud Computing? 5. O que é SOA? 6. O que é ESB? 7. Relacione stub e skeleton. 8. Precisa-se integrar uma aplicação legada que usa um banco proprietário (ZIM). Como proceder? 9. Ao tentar implementar RMI, detectou-se um problema de conexão (socket) por conta de um firewall. Como proceder? 10.Justifique por que filas promovem o baixo acoplamento entre aplicações? FILC Notas de Aula de Computação Distribuída Prof. M. França Página: 20

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

Aspectos Estratégicos da Computação Distribuída Aula 2

Aspectos Estratégicos da Computação Distribuída Aula 2 Aspectos Estratégicos da Aula 2 Mudanças no Ambiente de Negócios Reengenharia Padrões e Sistemas Abertos Framework para Discussão Processos e Ambientes de Negócios Padronização Introdução à Infra-Estrutura

Leia mais

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos Object Brokers Tecnologias de Middleware 2004/2005 André Santos Resumo O que são Object Brokers? Como surgiu o conceito? CORBA Exemplos de utilização Comparação com Java RMI Actualidade (J2EE,.NET) O que

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

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

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

Leia mais

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

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

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos 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

Componentes para Computação Distribuída

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

Leia mais

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

Trabalho de Sistemas Distribuídos

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

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos Middleware Camada Intermediária de Suporte a Sistemas Distribuídos Alternativas de comunicação entre processos (IPC) Mecanismos de IPC tradicionais (ou de baixo nível) Memória compartilhada, filas de mensagens,

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

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

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

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

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

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

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos

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

Middleware de Aplicações Paralelas/Distribuídas

Middleware de Aplicações Paralelas/Distribuídas Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware

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

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Invocação de Métodos Remotos RMI (Remote Method Invocation) Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente

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

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

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível

Leia mais

Objetos Distribuídos. Nazareno Andrade

Objetos Distribuídos. Nazareno Andrade Objetos Distribuídos Nazareno Andrade O Problema Orientação a objetos é um paradigma poderoso Modularidade, extensibilidade, manutenibilidade Porque distribuir os objetos: Localidade dos objetos Tolerância

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

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

Usando Borland DELPHI para implementar aplicações CORBA

Usando Borland DELPHI para implementar aplicações CORBA Página 1 de 10 USANDO BORLAND DELPHI PARA IMPLEMENTAR APLICAÇÕES CORBA por Simone Vey Dutra e César Bridi Introdução A Arquitetura CORBA Criando uma Aplicação CORBA em Delphi Criando um Servidor CORBA

Leia mais

SOA: Service-oriented architecture

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

Leia mais

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

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

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. CAPÍTULO 3 MIDDLEWARE Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução. 3.1 ARQUITETURA CLIENTE/SERVIDOR Primeiramente, surgiu a arquitetura centralizada

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

Leia mais

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

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

Arquiteturas de Aplicações Distribuídas

Arquiteturas de Aplicações Distribuídas Arquiteturas de Aplicações Distribuídas Fernando Albuquerque 061-2733589 fernando@cic.unb.br www.cic.unb.br/docentes/fernando Tópicos Introdução. HTTP / CGI. API sockets. JDBC. Remote Method Invocation.

Leia mais

ARQUITETURA TRADICIONAL

ARQUITETURA TRADICIONAL INTRODUÇÃO Atualmente no universo corporativo, a necessidade constante de gestores de tomar decisões cruciais para os bons negócios das empresas, faz da informação seu bem mais precioso. Nos dias de hoje,

Leia mais

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Objetos Distribuídos Graça Bressan Graça Bressan/LARC 2000 1 Objetos São entidades de software que encapsulam dados, ou atributos, e código e que são acessados através de funções ou métodos.

Leia mais

Java RMI. Alcides Calsavara

Java RMI. Alcides Calsavara Java RMI Alcides Calsavara Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância de uma classe Java) situado em outra máquina

Leia mais

Middleware Orientado a Mensagens Visão Geral Comunicação Gerenciamento de Filas Padrões e Produtos 1 Middleware Orientado a Mensagens RPC/RMI é inadequado para comunicação em alguns cenários de aplicação

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

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos DISTRIBUTED SYSTEMS ARCHITECTURES Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Explicar as vantagens e desvantagens das arquiteturas de sistemas distribuídos

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

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

UFG - Instituto de Informática

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

Leia mais

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

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos Arquiteturas Middlewares Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes

Leia mais

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013 MC714 Sistemas Distribuídos 2 semestre, 2013 Tipos de comunicação Middleware: serviço intermediário na comunicação de nível de aplicação. Fig. 67 Ex.: correio eletrônico Comunicação é persistente. Middleware

Leia mais

Padrões de Projeto Implementados em Infraestrturas de Componentes

Padrões de Projeto Implementados em Infraestrturas de Componentes Padrões de Projeto Implementados em Infraestrturas de Componentes Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires 1 distribuídas baseadas em componentes Comunicação transparente,

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 Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

Leia mais

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

Leia mais

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

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

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

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

Objetos distribuídos. Roteiro. Java IDL

Objetos distribuídos. Roteiro. Java IDL Objetos distribuídos Java IDL Roteiro Java IDL Definindo a interface IDL Compilando a interface IDL Criando o servidor Criando o cliente Rodando a aplicação Rodando a aplicação em duas máquinas Java IDL

Leia mais

Paradigma Cliente/Servidor

Paradigma Cliente/Servidor Paradigma Cliente/Servidor Mário Meireles Teixeira UFMA Departamento de Informática Dezembro, 2012 Comunicação em Sistemas Distribuídos! Os processos em um SD estão lógica e fisicamente separados. Precisam

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Arquiteturas e Modelos de sistemas Arquitetura Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes Localização dos componentes e relação entre eles Objetivo: garantir que

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 (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI) PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

Leia mais

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 -

UTFPR - Sistemas Distribuídos Prof. Cesar Augusto Tacla. Anotações. Copyright Cesar Augusto Tacla 2008 - 1 - - 1 - - 2 - - 3 - Segundo (Garg, 2004), são sistemas compostos por múltiplos processadores conectados por uma rede de comunicação, sendo a rede de comunicação uma LAN (Ethernet) ou WAN (Internet). - 4

Leia mais

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a

Leia mais

Sistemas Distribuídos. Introdução

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

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

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

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

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

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

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

RMI/JNDI - Fundamentos

RMI/JNDI - Fundamentos c o l u n a Professor J RMI/JNDI - Fundamentos Um exemplo prático do que são e de como funcionam RMI e JNDI Roberto Vezzoni (roberto.vezzoni@gmail.com): SCJP, faz Ciência da Computação na Faesa e atua

Leia mais

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

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

Leia mais

Unidade I SISTEMAS PARA INTERNET E. Prof. Emanuel Matos

Unidade I SISTEMAS PARA INTERNET E. Prof. Emanuel Matos Unidade I SISTEMAS PARA INTERNET E SOFTWARE LIVRE Prof. Emanuel Matos Sumário Unidade I Principais tecnologias da rede digital Computação cliente/servidor Comutação de pacotes TCP/IP Sistemas de informação

Leia mais

Invocação de Métodos em Objectos Remotos

Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Invocações de métodos remotas e locais A remote invocation B local C invocation local E invocation local invocation D remote invocation F Page 1 1 Invocação de

Leia mais

Middleware Orientado a Mensagens (MOM)

Middleware Orientado a Mensagens (MOM) Middleware Orientado a Mensagens Visão Geral RPC/RMI é inadequado para comunicação em alguns cenários de aplicação Cliente e servidor precisam estar ativos durante a comunicação Implica em espera para

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

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

UFG - Instituto de Informática

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

Leia mais

Sistemas Operacionais 2014 Sistemas Distribuídos. Alexandre Augusto Giron

Sistemas Operacionais 2014 Sistemas Distribuídos. Alexandre Augusto Giron Sistemas Operacionais 2014 Sistemas Distribuídos Alexandre Augusto Giron ROTEIRO Conceitos Hardware/Software para Sistemas Distribuídos Estrutura de Rede Objetos Distribuídos Sistemas de Arquivos Distribuídos

Leia mais

Infra estrutura da Tecnologia da Informação

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

Leia mais

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos

CORBA Common Object Request Broker Architecture. Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos CORBA Common Object Request Broker Architecture Carolina de Oliveira Cunha Lenita Martins Ambrosio Victor da Fonseca Santos Introdução OMG (Object Management Group): uma organização formada por empresas

Leia mais

UNIDADE IV ENTERPRISE JAVABEANS

UNIDADE IV ENTERPRISE JAVABEANS UNIDADE IV ENTERPRISE JAVABEANS MODELO J2EE COMPONENTES DE Camada de Negócios NEGÓCIOS JAVA SERVLET, JSP E EJB Nos capítulos anteriores, foi mostrado como desenvolver e distribuir aplicações servlet e

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática /

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

OMA (Object Management Arquitecture): Application Interfaces. Domain Interfaces. Domain. Interfaces. Object Request Broker (ORB) Object Services

OMA (Object Management Arquitecture): Application Interfaces. Domain Interfaces. Domain. Interfaces. Object Request Broker (ORB) Object Services 1 Copyright 1998, 1999 Francisco Reverbel OMA (Object Management Arquitecture): Application Interfaces Domain Domain Interfaces Interfaces Object Request Broker (ORB) Object Services 2 Copyright 1998,

Leia mais

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA SUMÁRIO Introdução Comunicação entre objetos distribuídos Eventos e Notificações 1.INTRODUÇÃO Middleware oferece: Transparência de localização Independência de protocolos

Leia mais

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

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

Leia mais

Comunicação. Parte II

Comunicação. Parte II Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor

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 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS

INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS INTRODUÇÃO A SISTEMAS DISTRIBUÍDOS Sistemas Distribuídos Sistemas Distribuídos O que é um sistema Distribuído? SD é aquele no qual os componentes de hardware ou software se comunicam e coordenam suas ações

Leia mais

Desenvolvimento de Aplicações Java/CORBA

Desenvolvimento de Aplicações Java/CORBA Tutorial Desenvolvimento de Aplicações Java/CORBA Emerson Ribeiro de Mello, Fábio Favarim e Joni da Silva Fraga {emerson, fabio, fraga@das.ufsc.br Este tutorial ensina como criar uma aplicação distribuída

Leia mais