Desenvolvimento em CORBA. Novos Desenvolvimentos em CORBA
|
|
- Luca Chaves Pereira
- 8 Há anos
- Visualizações:
Transcrição
1 Desenvolvimento em CORBA Onde utilizar CORBA? CORBA é uma arquitetura para sistemas distribuídos, tipicamente utilizada em: novos desenvolvimentos; integração de produtos e sistemas legados ; hooks e gateways de interoperabilidade. (c) FEEC/UNICAMP e IC/UNICAMP 132 Novos Desenvolvimentos em CORBA A utilização de CORBA em novos desenvolvimentos se justifica devido a: ampla aceitação por parte da indústria; maturidade dos produtos CORBA disponíveis no mercado; neutralidade em termos de plataformas e linguagens de programação; simplicidade de uso quando comparado a outras tecnologias (ex: DCOM e DCE); integração natural com tecnologias relacionadas à Internet (applets, browsers, etc.). (c) FEEC/UNICAMP e IC/UNICAMP 133
2 Integração via CORBA CORBA é uma tecnologia adequada para a integração de sistemas legados (exemplo: controle de estoques desenvolvido em COBOL para IBM OS/390 utilizando DB2). Nestes casos, a interação com o sistema legado pode se dar através de um wrapper dividido em duas partes: 1. parte responsável pela interação com um ORB, por exemplo, através de stub gerado por compilador IDL; 2. parte responsável pela interação com o sistema legado através de, por exemplo, interfaces de programação (APIs). (c) FEEC/UNICAMP e IC/UNICAMP 134 Integração via CORBA Exemplo: Sistema Legado #1 (COBOL / OS/390) Sistema Legado #2 (C++ / UNIX) Sistema Legado #3 (V.Basic / Windows) wrapper #1 wrapper #2 wrapper #3 IDL > COBOL IDL > C++ COM-CORBA bridge ORB #1 IIOP IIOP ORB #2 ORB #3 (c) FEEC/UNICAMP e IC/UNICAMP 135
3 Hooks CORBA de Interoperabilidade Produto Hook CORBA de Interoperabilidade IDL exportada pelo produto Extensão ao Produto ORB interno ao produto IIOP ORB Comercial Hooks CORBA de interoperabilidade permitem adicionar funcionalidades externas a produtos. Exemplos: Plataforma Jambala para telefonia celular (Ericsson) Sistema de gerência de redes OpenView (HP) (c) FEEC/UNICAMP e IC/UNICAMP 136 Gateways de Interoperabilidade Gateways permitem sistemas baseados em CORBA interoperarem com sistemas baseados em outras arquiteturas e protocolos. Exemplo: Agente SNMP SNMP Gateway IDL - SNMP ORB IIOP Gerente CORBA ORB Comercial Domínio de Gerência SNMP IDL exportada pelo gateway Domínio de Gerência CORBA (c) FEEC/UNICAMP e IC/UNICAMP 137
4 ORBIX Orbix, produto da Iona Technologies, é um dos produtos CORBA mais utilizados e mais completos. Orbix possui compiladores IDL para várias linguagens de programação, bem como ORBs para uma grande variedade de plataformas. Por exemplo, é possível desenvolver um servidor CORBA em COBOL e executá-lo num mainframe IBM OS/390. Orbix possui ainda vários utilitários e aplicativos descritos na sequência. (c) FEEC/UNICAMP e IC/UNICAMP 138 ORBIX: Disponibilidade Orbix possui versões para desenvolvimento em C++ para as seguintes plataformas: Microsoft Windows NT; Sun Solaris; HP-UX; Silicon Graphics IRIX; IBM AIX; IBM OS/390 Mainframe; Digital Unix; Digital OpenVMS. (c) FEEC/UNICAMP e IC/UNICAMP 139
5 ORBIX: Compilador IDL compilador IDL stubs, skeletons, server template arquivo IDL parser IDL árvore de parsing gerador de código Code Generation Toolkit utilitários aplicação-exemplo conversão IDL - HTML etc. (c) FEEC/UNICAMP e IC/UNICAMP 140 ORBIX: ORB No Orbix o Object Request Broker (ORB) consiste de dois componentes: 1. Uma interface de programação (API) que provê funções relativas ao ORB para clientes e servidores tais como binding, DII (cliente); iniciação de servidores, DSI (servidor); 2. Um daemon (orbixd) que executa em cada máquina da rede e gerencia o repositório de implementação e ativação de servidores. (c) FEEC/UNICAMP e IC/UNICAMP 141
6 ORBIX: ORB busca de servidor ORBIX daemon (orbixd) Rep. Impl. instancia servidor código da aplicação (cliente) API código da aplicação (servidor) API código do stub (gerado pelo compilador IDL) ORB (lib) requisição IIOP ORB (lib) código do skeleton (gerado pelo compilador IDL) (c) FEEC/UNICAMP e IC/UNICAMP 142 ORBIX: ORB Orbix ORB possui as seguintes características básicas: suporte para DII (Dynamic Invocation Interface); suporte para BOA e POA (Basic/Portable Object Adapter); suporte para DSI (Dynamic Skeleton Interface). Orbix ORB provê ainda uma interface para operações de manipulação de typos (Any, NVList,...), disponibilização de servidores (impl_is_redy), busca de serviços disponíveis (nomes, eventos,...), dentre muitas outras. (c) FEEC/UNICAMP e IC/UNICAMP 143
7 ORBIX: Extensões ao ORB API multithreaded: permite a construção de servidores multithreaded com diferentes políticas de criação de threads, por exemplo, criar uma thread por objeto, uma thread por requisição requisição, ou um pool de threads para processar as requisições; Filtros: permite a intercepção de requisições e respostas para a implementação de funções específicas (por exemplo, criptografia); Carregadores: permite a implementação de objetos persistentes; Smart Proxies: permite especializar o comportamento de um proxy (representação local de um objeto remoto). (c) FEEC/UNICAMP e IC/UNICAMP 144 ORBIX: Repositórios Orbix dispõe de repositórios de interface e de implementação com a seguinte arquitetura: repositório registros sistema de arquivos nativo da máquina utilitários de manutenção e gerência putit catit lstit rmit... (c) FEEC/UNICAMP e IC/UNICAMP 145
8 ORBIX: Componentes Adicionais A IONA Technologies disponibiliza uma série de produtos adicionais para o Orbix: COMet: integração COM/CORBA; OrbixNames: serviço de nomes; Orbix Wonderwall: firewall; OrbixOTS: transações distribuídas; OrbixTrader: trader OrbixWeb: ORB implementado 100% em Java. (c) FEEC/UNICAMP e IC/UNICAMP 146 ORBIX: COMet COMet permite que servidores CORBA se apresentem a clientes como objetos COM (Component Object Model - padrão Microsoft). cliente COM Bridge COM IIOP servidor (COMet) CORBA provê mapeamento bidirecional entre MIDL e OMG IDL repositório de tipos (COM) repositório de interfaces (CORBA) OBS: MIDL (Microsoft IDL) define tipos COM (c) FEEC/UNICAMP e IC/UNICAMP 147
9 ORBIX: OrbixNames Orbix implementa um serviço de nomes persistente compatível com o padrão OMG (OrbixNames). Este padrão especifica interfaces IDL para: criar contextos para definições de nomes; associar (bind) um nome a um objeto (usualmente um servant); pesquisar um nome (e obter o objeto associado). interfaces IDL do serviço servant CORBA repositório de nomes servidor OrbixNames (c) FEEC/UNICAMP e IC/UNICAMP 148 ORBIX: Wonderwall Wonderwall é um firewall capaz de filtrar, controlar e registrar o fluxo de mensagens IIOP inter-organizacional. mensagem IIOP bastion host rede interna Internet Intranet Orbix Wonderwall objetos CORBA (c) FEEC/UNICAMP e IC/UNICAMP 149
10 ORBIX: OrbixOTS OrbixOTS implementa o serviço de transações do OMG (Object Transaction Service - OTS) baseado no protocolo 2-phase commit. interfaces IDL do serviço servidor OrbixOTS servant CORBA interface XA (X/Open) base de dados (Oracle, Sybase, etc.) permite a integração com produtos que implementam esta interface (c) FEEC/UNICAMP e IC/UNICAMP 150 ORBIX: Trader Trader, conceito introduzido no modelo ODP, foi padronizado pelo OMG. Trader é um serviço de nomes mais sofisticado que permite clientes encontrar servidores que melhor atendam suas necessidades. Cenário típico de utilização do trader é dado abaixo. cliente CORBA OrbixTrader servidor CORBA ORB 1. exporta capacidades do servidor (desempenho, custo, etc.) 2. importa requisitos (desempenho mínimo, custo máximo, etc.) 3. retorna IOR do servidor 4. interage com o servidor (provavelmente via DII) (c) FEEC/UNICAMP e IC/UNICAMP 151
11 ORBIX: OrbixWeb OrbixWeb é um ORB 100% escrito em Java que: permite plena integração com a WWW: um objeto CORBA pode estar contido num applet executando na máquina virtual Java do navegador; o próprio ORB pode ser descarregado como applet. possui plana interoperabilidade com qualquer produto Orbix; mantém o mesmo formato dos repositórios de interface e implementação; possui daemon (orbixdj) capaz de instanciar tanto servidores escritos em Java como em outras linguagens de programação. (c) FEEC/UNICAMP e IC/UNICAMP 152 VisiBroker VisiBroker tem sua origem no ORBeline, produto da PostModern que em 1996 fundiu-se com a Visigenic, mudando o nome do produto para VisiBroker. A Visigenic foi adquirida pela Imprise (ex-borland) que manteve o nome do produto, hoje na versão 4. VisiBroker foi o primeiro ORB a ter uma versão totalmente escrita em Java. (c) FEEC/UNICAMP e IC/UNICAMP 153
12 VisiBroker: Disponibilidade VisiBroker possui versões para desenvolvimento em C++ e Java para as seguintes plataformas: Microsoft Windows 95/98/NT; Sun Solaris; Redhat Linux; HP-UX; IBM AIX; IBM OS/390 Mainframe. (c) FEEC/UNICAMP e IC/UNICAMP 154 VisiBroker: Características VisiBroker possui as seguintes características básicas: repositórios de interface e implementação; suporte para DII (Dynamic Invocation Interface); suporte para BOA e POA (Basic/Portable Object Adapter); suporte para DSI (Dynamic Skeleton Interface); suporte a multithreading (vários modelos de threading); suporte a Object-by-Value (OBV); Filtros (Interceptors). (c) FEEC/UNICAMP e IC/UNICAMP 155
13 VisiBroker X Orbix VisiBroker é muito similar ao Orbix, sendo talvez o seu maior concorrente. Algumas diferenças: possui dois daemons: SmartAgent e OAD (Object Activation Daemon): SmartAgent: provê serviços de nome e diretório que permite localizar OADs. A localização pode levar em conta balanceamento de carga e tolerância a falhas; OAD: utilizado para instanciar servidores (similar ao orbixd). serviço de nomes e eventos (OMG) incorporados. (c) FEEC/UNICAMP e IC/UNICAMP 156 VisiBroker: SmartAgent & OAD Serviço Distribuído de Nomes + Diretório SmartAgent SmartAgent 1. consulta 2. encontra servidor SmartAgent Algoritmos de Bal. de carga Tol. a Falhas 3. retorna ref. OAD cliente 4. bind 5. acessa impl. OAD 6. inst. servidor OAD Rep. Impl. Rep. Impl. (c) FEEC/UNICAMP e IC/UNICAMP 157
14 VisiBroker: Componentes Adicionais A Imprise oferece os seguintes componentes adicionais para o VisiBroker: VisiBridge: bridge CORBA-COM similar ao COMet do Orbix; VisiBroker GateKeeper: firewall similar ao Wonderwall do Orbix; VisiBroker ITS: implementação do serviço de transações do OMG similar ao OrbixOTS; adicionalmente, os seguintes CORBAservices são oferecidos pela Prism Technologies para o VisiBroker: Trading, Notification, LifeCycle, Property, Collection, Concurrency, Relationship, e Time Services. (c) FEEC/UNICAMP e IC/UNICAMP 158 Java 2 ORB Java 2 (JDK 1.2.x) possui um ORB interno implementado como pacote (bibliotecas) java. Acompanha este ORB: compilador IDL para java: idltojava; servidor de nomes transiente (não persistente) padrão OMG: tnameserv. Java 2 ORB possui as seguintes características básicas: suporte para DII (Dynamic Invocation Interface); suporte para POA (Portable Object Adapter); suporte para DSI (Dynamic Skeleton Interface). (c) FEEC/UNICAMP e IC/UNICAMP 159
15 Java 2 ORB: Implementação Java 2 ORB não possui daemon de ativação como Orbix e VisiBroker, bem como repositórios de interface e implementação. Isto implica que servidores devem ser instanciados por mecanismo externo ao ORB (ex: manualmente). O ORB é disponibilizado como pacote java, estanto integralmente incorporado nos clientes e servidores. cliente pacote org.omg.corba servidor ORB IIOP ORB (c) FEEC/UNICAMP e IC/UNICAMP 160 Microsoft DCOM DCOM (Distributed Component Object Model) é uma generalização da tecnologia COM (ex-ole) desenvolvida pela Microsoft para o mundo Windows. Portanto, OLE/COM/DCOM são soluções fechadas. COM permite a comunicação entre aplicativos executando no mesmo processador. Portanto, COM um mecanismo de comunicação inter-processos (IPC). DCOM estende COM permitindo a comunicação entre aplicativos executando em diferentes processadores. Portanto, DCOM é um middleware. (c) FEEC/UNICAMP e IC/UNICAMP 161
16 Microsoft DCOM servidor COM servidor DCOM IPC RPC rede cliente COM cliente e servidor em diferentes (processos) mas no mesmo processador cliente DCOM cliente e servidor em diferentes processadores (c) FEEC/UNICAMP e IC/UNICAMP 162 Microsoft DCOM COM é neutro em termos de linguagem de programação. Por exemplo, um cliente escrito em Visual Basic pode interagir com um servidor escrito em C++. Para permitir esta neutralidade uma linguagem de definição de interfaces foi definida pela Microsoft: MIDL (Microsoft Interface Definition Language). DCOM procura minimizar as diferenças em relação ao COM (transparência de distribuição), escondendo do desenvolvedor o fato de clientes e servidores estarem em processadores distintos. DCOM utiliza um mecanismo de RPC (derivado do DCE!) para suporte à comunicação cliente/servidor. (c) FEEC/UNICAMP e IC/UNICAMP 163
17 DCOM: Arquitetura cliente DCOM proxy servidor DCOM stub cria instância (de servidor) instancia SCM segurança DCE RPC protocolos de rede (TCP/IP) hardware SCM segurança DCE RPC protocolos de rede (TCP/IP) hardware SCM: Service Control Manager (parte do Windows) rede (c) FEEC/UNICAMP e IC/UNICAMP 164 DCOM: Objetos COM/DCOM classe (coclass) interface Objetos COM/DCOM derivam de uma classe base (coclass), definem uma interface com detrminado número de métodos, e podem ser agregados numa biblioteca (lib). lib classe (coclass) classe (coclass) interface interface O objeto, sua interface e a lib a qual pertence são individidual- e globalmente identificados por um UUID (ou GUID) (Universally/Globally Unique IDentifier), uma sequência de 128 bits gerada por um aplicativo denominado guidgen. guidgen leva em conta a data, hora, host ID, etc. para gerar um GUID. (c) FEEC/UNICAMP e IC/UNICAMP 165
18 DCOM: MIDL import "oaidl.idl"; import "ocidl.idl"; [object, uuid(3c6e c-11d4-96b bdbda), dual helpstring("iaccountcomobject Interface"), pointer_default(unique)] interface IAccountComObject : IDispatch { HRESULT deposit([in] unsigned long amount); HRESULT withdraw([in] unsigned long amount); HRESULT balance([out, retval] long *amount);}; [uuid(3c6e c-11d4-96b bdbda), version(1.0), helpstring("account 1.0 Type Library")] library ACCOUNTLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [uuid(3c6e c-11d4-96b bdbda), helpstring("accountcomobject Class")] coclass AccountComObject { [default] interface IAccountComObject; }; }; (c) FEEC/UNICAMP e IC/UNICAMP 166 DCOM: Desenvolvimento Desenvolver aplicações distribuídas em DCOM exige: experiência com o mundo Windows, principalmente com a tecnologia COM; um ambiente de desenvolvimento que contenha gerador de GUID (guidgen), compilador MIDL (midl), compilador da linguagem alvo, etc. Os ambientes Microsoft Visual C++, Basic e J++ contém estes aplicativos. Nos ambientes Microsoft, clientes e servidores COM/DCOM são desenvolvidos a partir de um wizard (ATL COM AppWizard). (c) FEEC/UNICAMP e IC/UNICAMP 167
19 DCOM: Servidores Servidores DCOM podem ser instanciados de duas maneiras: por demanda, quando uma requisição para um objeto for gerada por um cliente; de forma persistente, como um serviço do sistema operacional (Windows-NT apenas); NOTA: o Register do Windows é empregado para mapear classes de objetos e suas interfaces (através de seus GUIDs) em servidores (programas executáveis). Funciona, portanto, como o repositório de implementação do CORBA. NOTA: o SCM do Windows funciona para o DCOM como os daemons de ativação do CORBA (orbixd, OAD). (c) FEEC/UNICAMP e IC/UNICAMP 168 A favor do CORBA: CORBA x DCOM CORBA é uma arquitetura aberta, independente de plataforma ou fornecedor; CORBA é mais aceito por fornecedores de software; desenvolvimento em CORBA é mais simples que em DCOM; CORBA se integra melhor com Java/Internet que DCOM; CORBA é um middleware mais completo que DCOM; CORBA permite late-binding via DII; mercado de produtos CORBA bem superior ao mercado de produtos DCOM; CORBA também opera em ambientes Windows. (c) FEEC/UNICAMP e IC/UNICAMP 169
20 CORBA x DCOM A favor do DCOM: força de mercado da Microsoft; perfeitamente integrado ao mundo Windows ; estende COM, uma tecnologia bem conhecida pelos desenvolvedores para Windows; integrado aos ambientes de desenvolvimento Microsoft (Visual xxx); utiliza elementos já disponíveis no Windows (Register, SCM, segurança, etc.). (c) FEEC/UNICAMP e IC/UNICAMP 170
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 maisCapí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 maisINE5380 - 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 maisPrincí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 maisCORBA. 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 maisLaborató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 maisAdriano 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 maisDesenvolvimento 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 maisUNIVERSIDADE. 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 maisUsando 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 maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Aula 19-20: Arquitetura CORBA (continuação) Exemplo de cliente e servidor em CORBA Interfaces IDL Shape e ShapeList Exemplo de cliente e servidor
Leia maisPadrõ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 maisCORBA 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 maisComunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos Sockets Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. sockets TCP, UDP IP Data Link Ethernet, Token Ring, FDDI, etc Física Conjunto de APIs
Leia maisCliente/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 maisIntranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO
Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial
Leia maisSistemas 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 maisIntrodução à Linguagem Java
Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar
Leia maisUma 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 maisMiddleware. 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 mais3 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 maisJava 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 maisInvocaçã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 mais3 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 maisObjetos 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 maisSUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25
SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software
Leia maisUFG - 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 maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisWeb 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 maisIntroduçã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 maisComponentes 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 maisWeb 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 maisSistemas 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 maisAula 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 maisSISTEMAS 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 mais1 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 maisSistemas 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 maisConsiderações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Leia maisSistemas 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 maisProgramação de Computadores II TCC-00.309 Turma A-1
Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente
Leia maisCAPÍ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 maisPROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar
Leia maisWorld Wide Web e Aplicações
World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet
Leia maisUniversidade 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 maisArquiteturas de Sistemas Distribuídos
Arquiteturas de Sistemas Distribuídos Sistema distribuído O processamento de informações é distribuído em vários computadores ao invés de confinado em uma única máquina. Bastante comum em qualquer organização
Leia maisESTUDO 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 maisRMI: 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 maisSistemas 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 maisObjetos Distribuídos CORBA. Sumário... Comunicação entre processos. Sockets RPC RMI. Arquitetura OMA Vantagens IDL. Eduardo Nicola F.
Objetos Distribuídos CORBA Sumário... Comunicação entre processos Sockets RPC RMI Arquitetura OMA Vantagens IDL Eduardo Nicola F. Zagari CORBA 2 Sumário... Arquitetura CORBA Interoperabilidade Processo
Leia maisCamadas 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 maisSistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32
Leia maisUm Driver NDIS Para Interceptação de Datagramas IP
Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para
Leia maisSistemas 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 maisWeb Services. Autor: Rômulo Rosa Furtado
Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que
Leia maisOBJETOS 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 maisUFG - 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 maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia maisWeb services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.
Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services
Leia maisFaculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.
Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos
Leia maisSistema centralizado O Paradigma Cliente/Servidor
centralizado O Paradigma Cliente/Servidor Computador central (mainframe) + conjunto de terminais + recursos centralizados recursos mainframe terminais 2 distribuído Relações entre entidades Grupo de computadores
Leia maisFerramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl
Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração
Leia maisSistemas 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 maisArquitetura 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 maisComo manter uma rede com qualidade de serviço? Gerência de Rede. Visão Geral da Gerência de Redes. Importância de gerência de Redes. Cont.
Gerência de Rede A importância estratégica crescente das redes envolve: Aplicações indispensáveis à organização Quanto mais complexo o ambiente maior o risco de coisas erradas acontecerem. Como manter
Leia maisServiç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 mais3 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 maisCAPÍTULO 6 CORBA / DCOM
CAPÍTULO 6 CORBA / DCOM Após determinar quais objetos precisam ser implementados como locais e quais como distribuídos, é difícil optar por uma arquitetura de distribuição. Por exemplo, num caso hipotético,
Leia maisEsta 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 maisSistemas 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 mais08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ
Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura
Leia maisLinguagem de Programação Introdução a Linguagem Java
Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Leia maisChamadas 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 maisFigura 01 Kernel de um Sistema Operacional
01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
Leia mais2 Ferramentas Utilizadas
2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]
Leia maisRelatorio do trabalho pratico 2
UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo
Leia mais1.264 Lição 16. Legado Middleware
1.264 Lição 16 Legado Middleware O que é o legado middleware? Cliente (interface do usuário, aplicativo local). Cliente (interface do usuário, aplicativo local). Como conectamos clientes e servidores?
Leia maisComunicaçã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 maisAula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.
Aula 2 Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Sistema Operacional de Rede Definição: Conjunto de módulos que ampliam as tarefas dos sistemas operacionais locais, complementando-os
Leia maisGLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.
GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na
Leia maisWeb 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 maisCAPÍTULO 5 CORBA 5.1 MODELO DE OBJETO
CAPÍTULO 5 CORBA Um dos grandes problemas das empresas é, utilizando seus recursos de hardware e o software, integrar vários elementos de trabalho diferentes de maneira a resolver problemas de negócios
Leia maisO modelo ISO/OSI (Tanenbaum,, 1.4.1)
Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade
Leia maisIntrodução a Web Services
Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas
Leia maisEnterprise 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 maisGrupo 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 maisIntrodução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br
Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes
Leia maisSistemas 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 maisO modelo de arquitetura CORBA e suas aplicações
ABR. MAI. JUN. 2004 ANO X, N º 37 157-163 INTEGRAÇÃO 157 O modelo de arquitetura CORBA e suas aplicações ANA PAULA GONÇALVES SERRA* Resumo Nos últimos anos, os sistemas de informação nas empresas têm evoluído
Leia maisProcessos (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 maisSistemas 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 maisProgramação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar
Leia mais