CAPÍTULO 5 CORBA 5.1 MODELO DE OBJETO
|
|
- Joaquim Capistrano Lisboa
- 8 Há anos
- Visualizações:
Transcrição
1 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 atuais e futuros. Uma parcela significante deste problema é integrar aplicações existentes em mainframes com os novos ambientes de estações de trabalho. As soluções são caras e demoradas. O padrão Common Object Request Broker Architecture (CORBA) é uma das formas usadas para solucionar estes problemas. CORBA é baseado em orientação a objeto e no de modelo computação distribuída cliente/servidor. 5.1 MODELO DE OBJETO CORBA está fundamentado nos conceitos de orientação a objeto (objeto, classe, encapsulamento, herança e polimorfismo), assim, todas as aplicações num sistema CORBA são constituídas por coleções de objetos. Algumas vezes, existem diferenças na interpretação destes conceitos de orientação a objeto gerando diferentes implementações e possíveis conflitos. Por este motivo, foi definido pelo CORBA um modelo de objeto comum para implementações que seguem este padrão. Deste modo, evita-se que produtos fornecidos por diferentes empresas apresentem incompatibilidades entre si. O modelo de objeto CORBA define limites e significados, permitindo, assim, uma interpretação sem ambigüidades destes conceitos. 5.2 COMPUTAÇÃO DISTRIBUÍDA CORBA é baseado no modelo cliente/servidor. Na computação distribuída uma requisição de um serviço é feita de um componente de software (cliente) para 105
2 outro (servidor) através da rede. CORBA acrescenta a este modelo as características descritas a seguir (Otte et al, 1996) ADIÇÃO DE BROKER ENTRE CLIENTES E SERVIDORES CORBA adiciona ao modelo convencional um broker entre o cliente e o servidor, Figura 5.1. Este broker ( Object Request Broker - ORB) tem a função de reduzir a complexidade da implementação necessária para permitir a interação entre cliente e servidor (CORBA, 1998) (Mowbray e Ruh, 1997). Cliente Requisição Servidor Relacionamento cliente/servidor Cliente ORB Servidor Relacionamento cliente/servidor mais broker Fig. 5.1 Relacionamentos clientes e servidores FONTE: Adaptada de Otte et al (1996, p.1.7 e 1.8) A redução de complexidade é obtida primeiramente porque o ORB provê serviços comuns que incluem troca de mensagens (comunicação) entre cliente e servidor, serviços de diretório, descrição de meta-dados, serviços de segurança e transparência de localização. Ele também isola os objetos da aplicação das configurações específicas de um sistema, tais como, plataformas de hardware e sistemas operacionais, protocolos de rede e linguagens de programação (CORBA, 1998). 106
3 ORBs podem ser vistos como um meio ( hub ) de comunicação para todos os objetos/componentes num sistema distribuído, tendo uma função análoga a de um bus de hardware, isto é, provendo um caminho para o fluxo de toda a informação que flui entre os objetos. ORB se encarrega de enviar uma requisição aonde ela deva ser atendida bem como prover os serviços auxiliares necessários para realizá-la. A adição do ORB apresenta vantagens como (Otte et al, 1996): O cliente e o servidor CORBA não precisam se conhecer diretamente. O cliente e o servidor CORBA se encontram através do ORB. Desta forma, somente o ORB precisa conhecer a localização e as capacidades dos clientes e servidores CORBA da rede, assim, evita-se que clientes ou servidores contenham estas informações. CORBA não necessita que exista uma relação um para um entre clientes e servidores, como acontece no ambiente tradicional cliente/servidor, assim, com a adição do ORB múltiplos servidores podem trabalhar com um único cliente ou um único servidor pode trabalhar com múltiplos clientes, como mostrado na Figura 5.2. Cliente Servidor Cliente ORB Servidor Cliente Servidor Fig. 5.2 Múltiplos clientes e servidores com ORB FONTE: Otte et al (1996, p.1-9) 107
4 Clientes CORBA podem localizar e interagir com novos objetos e servidores em tempo de execução. No ambiente tradicional cliente/servidor a invocação de uma requisição, isto é, o envio de uma mensagem do cliente para o servidor pedindo para que ele execute uma operação é predefinido, existindo um conjunto de procedimentos que permitem ao cliente fazer requisições aos servidores. No CORBA os clientes podem enviar requisições dinamicamente em tempo de execução PROCESSOS SERVIDORES O cliente CORBA é tipicamente um processo único, mas o servidor CORBA pode ser: um processo único, um servidor intermediário que requisita a outros servidores que realizem as tarefas requisitadas pelos clientes ou um trecho de código compartilhado, como por exemplo, uma biblioteca carregada dinamicamente em tempo de execução SUPORTE À COMUNICAÇÃO SÍNCRONA E ASSÍNCRONA CORBA suporta tanto comunicação síncrona como assíncrona. A comunicação síncrona acontece quando um software envia uma mensagem a um outro software e espera pelo retorno, enquanto na comunicação assíncrona um software envia uma mensagem a um a outro software e continua executando aguardando um posterior retorno. No CORBA a comunicação assíncrona, chamada de deferred synchronous, constitui-se de um modelo de polling, isto é, o cliente pergunta se a operação foi completada. CORBA também define requisições do tipo one way, nas quais o cliente não precisa esperar pelo término da operação, neste caso não existe retorno. 108
5 5.3 CONCEITOS E TERMOS ASSOCIADOS AO CORBA Com a utilização do ORB os clientes e servidores são formalmente separados, assim, mudanças em um não afetam o outro. O cliente CORBA sabe somente pedir que algo seja realizado pelo servidor CORBA e esse sabe somente realizar a tarefa a ele requisitada. Isso significa que se pode mudar a forma com a qual um servidor executa uma tarefa sem afetar a maneira com que o cliente requisita a tarefa. Por exemplo, se pode evoluir e criar uma nova implementação de um servidor CORBA sem necessidade de alterar o cliente ou se pode criar novos clientes que façam uso de interfaces já existentes de servidores CORBA sem alterá-los REQUISIÇÕES No CORBA, cliente e servidor comunicam-se através de mensagens chamadas requisições. Toda a interação em um sistema CORBA é baseada num cliente enviando uma requisição ou num servidor respondendo a uma requisição. Uma requisição é um evento (algo que acontece num determinado espaço de tempo em particular). O processo de enviar uma requisição é chamado de invocação. Todas as requisições devem conter (Otte et al, 1996): A indicação de qual operação o servidor deverá realizar para atender a requisição do cliente, isto é, a indicação de qual método o objeto deverá executar. A referência a um objeto específico que realizará a operação. O mecanismo de retorno da informação de sucesso ou falha na execução de uma requisição. Essa informação é chamada de exceção ( exception ). O Capítulo 3 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve os tipos de exceções possíveis. 109
6 Opcionalmente, a referência ao objeto de contexto. Essa referência contém informações adicionais propagadas pelo cliente ao servidor. Objetos de contexto armazenam suas informações como uma lista de propriedades, consistindo de um identificador e um string associado. Por exemplo, um objeto de contexto teria um identificador display para indicar o dispositivo de display que um usuário final está utilizando e associado a esse identificador o string PC. O servidor receberia junto a requisição a informação que um determinado usuário final está utilizando como display um PC. Os argumentos específicos, zero ou mais, da operação que está sendo requisitada. Assim, a informação associada a uma requisição consiste da identificação do objeto alvo, da identificação do serviço e dos parâmetros (zero ou mais) necessários para sua realização IDL Em qualquer aplicação distribuída o cliente e o servidor necessitam de algumas informações básicas para comunicarem-se; como exemplo, o cliente precisa conhecer quais operações e seus respectivos argumentos estão disponíveis para serem requisitadas. No CORBA essa informação é incluída na interface. A interface define as características e o comportamento de objetos, incluindo as operações que podem ser requisitadas a esses objetos. Usando a terminologia de orientação a objeto uma interface é similar a uma classe (Otte et al, 1996). Para definir interfaces, o CORBA utiliza a linguagem de definição de interfaces ( Interface Definition Language - IDL). IDL é uma linguagem puramente declarativa, isto é, ela declara o conjunto dos nomes dos métodos do objeto e seus respectivos parâmetros. IDL é uma linguagem de definição e não de 110
7 programação. A IDL é utilizada para definir interfaces e estruturas de dados e não para escrever algoritmos (Otte et al, 1996). Clientes e objetos podem ser implementados em qualquer linguagem de programação, pois os clientes, através da utilização das interfaces em IDL, possuem todas as informações necessárias para requisitar uma operação ao objeto. Clientes não precisam conhecer os detalhes da implementação do objeto (Orfali et al, 1996). Diferentes linguagens de programação, orientadas ou não a objetos, apresentam maneiras diferentes de acessar objetos CORBA. Para as linguagens orientadas a objeto, os objetos CORBA podem ser vistos como objetos da linguagem de programação utilizada, enquanto para linguagens não orientadas a objeto é interessante esconder referências a objetos, nomes de métodos, etc. Para conseguir estes diferentes tipos de acesso, faz-se um mapeamento da IDL para diferentes linguagens de programação. Este mapeamento, por exemplo, permite que tipos de dados específicos da linguagem de programação utilizada para desenvolver um cliente tenham uma correspondência em IDL. IDL suporta mapeamento para várias linguagens de programação, tais como: Java, C, C++, Smalltalk, Cobol e Ada95.. A Figura 5.3 mostra um exemplo da IDL CORBA mapeada para a linguagem de programação C. Os Capítulos de 19 a 24 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descrevem os mapeamentos da IDL a várias linguagens de programação. 111
8 Parâmetro definido pelo usuário IDL Interface foo { void operation ( inout long param ) raises ( USER_EXCEPTION ) context ( LOCAL_SYSTEM_CONTEXT ); } Parâmetro definido pelo usuário C typedef CORBA_Object foo; void foo_operation ( foo o, long *param, Context col, Enviroment *ev ); Object Parameter (especifica a aplicação servidora) 2. Informação de contexto (informação adicional - opcional) 3. Informação de retorno de exceção (exceçôes padrão e definidas pelo usuário) Fig. 5.3 Exemplo de IDL CORBA mapeada para C FONTE: Mowbray e Ruh (1997, p.74) Na Figura 5.3 nota-se que o parâmetro definido pelo usuário é de entrada e saída (inout), isto porque, os parâmetros são identificados por três posições. Pode haver um parâmetro de entrada (in) onde o argumento é passado do cliente para o servidor; um parâmetro de saída (out) onde o argumento é passado do servidor para o cliente e um parâmetro de entrada ou saída (inout) onde um valor é passado para o servidor, possivelmente modificado para ser retornado para o cliente. Uma requisição também pode retornar um único valor como resultado ou o resultado pode estar armazenado num parâmetro de saída ou num parâmetro de entrada ou saída (CORBA, 1998). IDL é considerada, no padrão CORBA, como um item fundamental sendo também um padrão ISO de número IDL CORBA é uma linguagem 112
9 independente, possuindo características sintáticas e semânticas próprias. IDL obedece a algumas regras léxicas do C++ com novas palavras chaves para permitir o conceito de distribuição. Mantém todas as características de préprocessamento padrão do C++. A sua gramática é um subconjunto do padrão ANSI C++ com construções adicionais para suportar mecanismos de invocação. IDL CORBA se encontra descrita, de forma detalhada, no Capítulo 3 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998). O arquivo escrito em IDL CORBA, Figura 5.4, define os tipos de dados, operações e objetos que o cliente pode utilizar para fazer suas requisições e que o servidor deve prover para a implementação de um dado objeto. Por exemplo, um arquivo IDL CORBA descreve uma interface Empregado que define as operações promoção e demissão, tipos de dados definidos pelo usuário e uma constante. A aplicação do cliente que utiliza esse arquivo deve ser capaz de requisitar as operações promoção e demissão, utilizar os tipos de dados especificados e a constante. O servidor que satisfará a requisição deste cliente deve ser capaz de realizar o trabalho associado as operações promoção e demissão, manipular os tipos de dados especificados e a constante. Interface Empregado { void promoção ( in char nova_colocação ); void demissão ( in Cod_Demissão razão, in string descrição ); }; Fig. 5.4 Exemplo de uma definição de interface FONTE: Otte et al (1996, p.2-4) 113
10 5.3.3 INSTÂNCIAS E REFERÊNCIAS DE OBJETOS Para identificar uma instância de objeto o CORBA utiliza uma referência de objeto para essa instância. Por exemplo, um cliente para requisitar uma operação de promoção num determinado objeto Empregado deverá identificar esse objeto especificando na requisição sua referência de objeto. A representação interna da referência de objeto depende da implementação do fornecedor do produto que segue as especificações CORBA, entretanto todas as referências de objetos tem a mesma representação externa para uma dada linguagem de programação (Orfali et al, 1996). Isso torna a aplicação portável entre diferentes produtos. O fato do CORBA passar a referência do objeto ao invés do objeto específico permite aos desenvolvedores usar linguagens de programação não orientadas a objeto, assim como, diferentes linguagens de programação para escrever aplicações clientes e servidoras (Otte et al, 1996) IMPLEMENTAÇÂO DE OBJETOS A implementação de um objeto é parte da aplicação servidora que realiza a requisição de uma operação num objeto específico. A implementação do objeto existe na aplicação servidora e contém um ou mais métodos, os quais são trechos de código que realizam o trabalho requisitado a ela. Por exemplo, se o cliente requisita a operação de promoção num Empregado específico, a implementação do objeto utiliza seus métodos para realizar a promoção desse Empregado. A Figura 5.5 ilustra um cliente associado e a uma implementação no servidor. 114
11 Aplicação Cliente Aplicação Servidora Refência de Objeto do Empregado A Operação de Promoção Operação de Demissão Definição de Interface Interface Empregado { void promoção (in char nova_colocação); void demissão (in Cod_Demissão razão, in string descrição); }; Implementação de Empregado Método Promoção Método Demissão Fig. 5.5 Um cliente associado a uma implementação no servidor FONTE: Otte et al (1996, p.2-5) 115
12 5.4 ARQUITETURA CORBA A Figura 5.6 mostra a arquitetura CORBA. Cliente Implementação do objeto Interface de Invocação Dinâmica Stubs Interface ORB Skeleton Estático Skeleton Dinâmico Adaptador de Objeto Core ORB Repositório de Interfaces Repositório de Implementação Interface idêntica para todas as implementações de ORB. Podem existir múltiplos adaptadores de objetos. Existem stubs e skeletons para cada tipo de objeto. Interface que depende do ORB. Fig. 5.6 Arquitetura CORBA FONTE: Adaptada de CORBA (1998, p.2.3) 116
13 No topo da Figura 5.6, fora do ORB, estão representados o cliente e a implementação do objeto. O restante na Figura 5.6 representa elementos pertencentes ao ORB. Abaixo na Figura 5.6 está o core (núcleo) do ORB, cujos detalhes não são controlados pela especificação CORBA. O core do ORB pode ser implementado da maneira que o seu fornecedor desejar (Mowbray e Ruh, 1998). Um cliente pode tomar um dos dois caminhos para fazer uma invocação ao objeto: via stubs ou através da Interface de Invocação Dinâmica. Utilizando stubs um cliente acessa um método de um objeto remoto da mesma maneira que acessaria um outro residindo no seu próprio espaço de endereçamento. As rotinas dos stubs são geradas, automaticamente, no momento da compilação do arquivo contendo a descrição em IDL da interface do objeto CORBA a ser invocado, devendo ser linkado com a aplicação do cliente. Os stubs acessam as referências do objeto e interagem com o ORB para realizar a invocação requisitada. Os stubs dependem do ORB, pois, utilizam-se de mecanismos otimizados para interagir com ele e do mapeamento da linguagem de programação do cliente em IDL. Diferentes fornecedores de ORB apresentam diferentes stubs. Quando utiliza stubs o CORBA suporta somente comunicação síncrona. Utilizando a Interface de Invocação Dinâmica ( Dynamic Invocation Interface - DII) um cliente, em tempo de execução, invoca um objeto CORBA sem o auxílio dos stubs. Para isto, é necessário especificar, na invocação dinâmica do objeto CORBA, o método a ser executado e o seu conjunto de parâmetros. Tal recurso é necessário quando não se tem acesso aos arquivos com os stubs criados em tempo de compilação. O Capítulo 5 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve, de forma detalhada, esta interface. Essa interface é de especial interesse para certos tipos de aplicações que precisam ter acesso a objetos remotos em tempo de execução, porém necessita do auxílio do Repositório de Interfaces descrito a 117
14 seguir. CORBA suporta tanto comunicação síncrona quanto assíncrona quando utiliza DII. No CORBA para a implementação do objeto não existe diferença se a requisição feita pelo cliente utilizou stub ou DII (Mowbray e Ruh, 1997) (Orfali et al, 1996). O Repositório de Interfaces contém a descrição das interfaces dos objetos CORBA nele registrados, isto é, possuem o mesmo tipo de informação contido nos stubs. As suas APIs permitem o acesso, o registro e atualização destas informações, auxiliando a construção de invocações dinâmicas através da DII. Tais informações contidas no repositório podem ser consideradas como metadados dos objetos CORBA (Queiroz e Madeira, 1998). O Capítulo 8 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve, de forma detalhada, este repositório. A Figura 5.7 mostra a invocação via stubs e DII. 118
15 Invocação via Stub Adaptador de Objeto Aplicação Cliente Aplicação Servidora Refência de Objeto do Empregado A Operação de Promoção Stub do Cliente ORB Skeleton do Servidor Implementação de Empregado Método Promoção Operação de Demissão Método Demissão Invocação Dinâmica Associado a Repositório de Interface Usada para Gerar Usada para Gerar Carregada no Definição de Interface Interface Empregado { void promoção ( in char nova_colocação ); void demissão ( in Cod_Demissão razão, in string descrição ); Fig. 5.7 Invocação via stubs e DII FONTE: Otte et al (1996, p.8.8) Um servidor é composto de uma aplicação servidora contendo uma ou mais implementações de um determinado objeto executando a requisição do cliente. 119
16 Quando o cliente envia uma requisição para o ORB, este seleciona a implementação que satisfaz a requisição e usa o Adaptador de Objeto ( Object Adapter - AO) para direcionar a requisição para a implementação correspondente. O Adaptador de Objeto utiliza dos skeletons para chamar os métodos na implementação. Skeletons estáticos são responsáveis por prover uma conexão entre os Adaptadores de Objeto e os métodos que executam as operações num objeto. Eles contêm as informações necessárias para mapear uma operação, num objeto, na implementação e método apropriados. São similares aos stubs do cliente, sendo gerados, automaticamente, no momento da compilação do arquivo contendo a descrição em IDL de cada método do objeto CORBA. São dependentes do Adaptador de Objeto. Caso objetos CORBA não possuam os correspondentes skeletons estáticos os skeletons dinâmicos serão responsáveis por oferecer um mecanismo de acesso a esses objetos. Tal recurso inspeciona os valores dos parâmetros da mensagem recebida para determinar o objeto destinatário e o correspondente método, ele pode utilizar para obter informações o Repositório de Interfaces (CORBA, 1998). O Capítulo 6, da especificação The Common Objet Request Broker: Architecture and Specification, (CORBA, 1998) descreve, de forma detalhada, esta interface. No CORBA, os clientes não sabem se a implementação utilizada pelo objeto está recebendo a sua requisição de forma estática ou dinâmica (Mowbray e Ruh, 1997) (Orfali et al, 1996). Um Adaptador de Objeto Básico ( Basic Object Adapter BOA), mostrado na Figura 5.8, é responsável por (CORBA, 1998) (Orfali et al, 1996): Gerar e interpretar referências de objetos. 120
17 Invocar métodos. Garantir segurança. Ativar e desativar objetos. Mapear as referências dos objetos às suas correspondentes implementações. Registrar implementações. Implementação do objeto Métodos da interface A Métodos da interface B Skeleton dinânico Skeleton interface A Skeleton interface B Interface do Adaptador de Objeto Core ORB Fig. 5.8 Estrutura típica do Adaptador de Objeto FONTE: CORBA (1998, p.2.14) Podem existir vários adaptadores de objeto, mas como a interface do Adaptador de Objeto é algo que depende da implementação do objeto é interessante que não existam diferentes tipos de adaptadores para a mesma implementação. A maioria dos Adaptadores de Objeto são projetados para cobrir uma faixa larga de implementações, objetivando restringir o projeto de um novo adaptador. Isto ocorrerá somente quando uma implementação requeira um serviço ou uma interface muito diferente. O Adaptador de Objeto Portável ( Portable Object Adapter POA) foi especificado de forma a prover 121
18 um Adaptador de Objeto que possa ser usado em múltiplos ORBs, isto é, um Adaptador de Objeto que, com um mínimo de alteração, possa interagir com diferentes ORBs. O Capítulo 9 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve o POA de forma detalhada (projeto, modelo abstrato, interfaces, etc.). O Repositório de Implementação contém informações que permite ao ORB localizar e ativar implementações de objetos. CORBA usa esse repositório para associar referências de objetos à implementações, assim como, ele usa o Repositório de Interface para associar referências de objetos à suas interfaces. O Adaptador de Objeto utiliza as informações sobre as implementações nele contidas, mas a maior parte da informação é específica de um determinado fornecedor de ORB, como por exemplo, implementações utilizadas para instalar ou administrar o servidor. CORBA não apresenta especificações rígidas para o Repositório de Implementação. A Figura 5.9 mostra como as informações das interfaces e das implementações do objeto se relacionam. A interface é definida em IDL e/ou está presente no Repositório de Interface. A definição é usada para gerar os stubs do cliente e os skeletons da implementação do objeto. A informação das possíveis implementações do objeto são providas em tempo de instalação, estando armazenadas no Repositório de Implementação para uso durante o envio de uma requisição (CORBA, 1998). 122
19 Definições em IDL Implementação instalada Repositório de Interface Stubs Skeletons Repositório de Implementação Cliente Implementação do objeto Fig. 5.9 Relacionamento entre Repositórios de Interface e Implementação FONTE: CORBA (1998, p.2.6) Finalizando, tem-se a Interface ORB. Esta interface não depende de nenhum Adaptador de Objeto. Suas operações são as mesmas para todos os ORBs podendo atender tanto clientes como implementações de objetos. São operações implementadas pelo próprio ORB, como exemplo, operaçôes com referências de objetos, inicialização do ORB, etc. O Capítulo 4 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve, de forma detalhada, esta interface. 5.5 INTEROPERABILIDADE CORBA As especificações CORBA possibilitam a comunicação ORB a ORB, isto é, a interoperabilidade entre ORBs ( interorbability ). Um ORB, como já descrito, provê mecanismos pelos quais objetos, de forma transparente, enviam requisições e recebem respostas. Um ORB permite interoperabilidade entre 123
20 aplicaçôes executando em diferentes máquinas em ambientes distribuídos heterogêneos. A interoperabilidade entre ORBs estende esta definição para o caso em que o cliente e o objeto servidor estejam em diferentes ORBs, isto é, de forma transparente, objetos enviam requisições e recebem respostas. CORBA especifica uma abordagem detalhada e flexível para dar suporte a objetos distribuídos, através de redes, gerenciados por ORBs heterogêneos. Esta abordagem permite que seus elementos possam ser combinados de várias maneiras a satisfazer uma ampla faixa de necessidades (CORBA, 1998) (Stone et al, 1998). Alguns dos elementos de possibilitam interoperabilidade são (CORBA, 1998): Protocolo Geral inter-orb ( General inter-orb Protocol GIOP): especifica uma sintaxe padrão de transferência (representação de dados em baixo nível) e um conjunto de formatos de mensagens para comunicação entre ORBs. GIOP é construído especificamente para interações entre ORBs e projetado para trabalhar diretamente sobre qualquer protocolo de transporte orientado a conecção. Este protocolo não requer o uso de mecanismos RPC nem se baseia nele. Ele é relativamente simples, pode ser ampliado e facilmente implementado. O Capítulo 13 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve de forma detalhada este protocolo. Protocolo Internet inter-orb ( Internet inter-orb Protocol - IIOP): especifica como as mensagens GIOP são trocadas usando conecções TCP/IP. IIOP especifica um protocolo de interoperabilidade padrão para Internet, provendo uma caixa de saída (uma forma de conecção) para interoperabilização com outros ORBs compatíveis baseados neste meio de transporte. O Capítulo 13 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve de forma detalhada este protocolo. 124
21 Protocolo de Ambiente Específico Inter-ORB ( environment-specific inter-orb protocol - ESIOP): este protocolo é usado como uma caixa de saída para interoperabilização com usuários que se utilizam de uma rede particular ou uma infra-estrutura de distribuição computacional diferente, por exemplo, o ambiente DCE (DCE ESIOP). O Capítulo 14 da especificação The Common Objet Request Broker: Architecture and Specification (CORBA, 1998) descreve de forma detalhada este protocolo. A Figura 5.10 mostra o relacionamento entre os protocolos inter-orb. CORBA/IDL Mandatórios para o CORBA GIOP ESIOPs IIOP Outros mapeamentos GIOP Fig Relacionamento entre os protocolos inter-orb FONTE: CORBA (1998, p.10-4) 125
22 5.6 OBJECT MANAGEMENT ARCHITECTURE O nível mais alto das especificações CORBA é a Arquitetura de Gerenciamento de Objeto ( Object Management Architecture - OMA). Ela constitui-se de (Otte et al, 1996) (Mowbray e Ruh, 1997): Serviços CORBA: são objetos que provêm um conjunto padrão de funções para a criação e controle de acesso aos objetos, rastreamento de objetos e referências de objetos, etc. Estes serviços são essencialmente um conjunto de funções criados para facilitar o desenvolvimento de aplicações, assim, o desenvolvedor pode chamar estas funções ao invés de criar as suas próprias. Como exemplo tem-se: serviço de identificação de objetos por nomes utilizados para localizar objetos, serviços de eventos utilizados para comunicação entre objetos, serviço de ciclo de vida utilizado para controle da criação de objetos, serviço de persistência utilizado para armazenagem de objetos, etc. Facilidades CORBA: são coleções de objetos que provêm um conjunto de funções de alto nível de propósito geral para serem utilizadas em diferentes aplicações, tais como, facilidades para gerenciar a composição de documentos, acessar banco de dados, imprimir arquivos, gerenciar a temporização em um ambiente distribuído, etc. Domínios CORBA: suportam tarefas de domínios específicos associados a segmentos de mercado como manufatura, finanças e telecomunicações. Objetos aplicativos: provêm um conjunto de objetos que executam tarefas específicas para usuários finais. São essencialmente aplicações orientadas a objeto desenvolvidas para prover capacidades de negócios ( bussiness capabilities ). A OMG não padroniza estes objetos. A Figura 5.11 mostra a arquitetura OMA, onde o ORB possui o papel de roteador das requisições entre os serviços CORBA (CORBAservice), as 126
23 facilidades CORBA (CORBAfacilities) e os domínios CORBA (CORBAdomains). Objetos Aplicativos Domínios CORBA Facilidades CORBA ORB Serviços CORBA Fig Arquitetura de Gerenciamento de Objeto (OMA) FONTE: Mowbray e Ruh (1997, p.9) 5.7 SERVIÇOS CORBA Os serviços CORBA são fundamentais e globalmente aceitos. São úteis a todos os tipos de aplicação e independentes do domínio da aplicação. Os serviços CORBA compreendem quatro categorias (Mowbray e Ruh, 1997): Serviços de gerenciamento de informação. Serviços de gerenciamento de tarefas. Serviços de gerenciamento de sistema. Serviços de infra-estrutura. 127
24 5.7.1 SERVIÇOS DE GERENCIAMENTO DE INFORMAÇÃO Os serviços de gerenciamento de informação são constituídos de: SERVIÇO DE PROPRIEDADE Uma propriedade é similar a um atributo. Propriedades são conjuntos de valores que podem ser associados dinamicamente a objetos. Como exemplos de propriedade (CORBAservices, 1998): Propriedade de classificação de objeto: por exemplo, um documento pode ser classificado como sendo importante e deve ser lido ao final do dia. Outro documento pode ser classificado como menos importante e será lido somente ao final do mês, enquanto um outro pode ser classificado como não importante. A classificação dos documentos é arbitrada pelo usuário, não fazendo parte do tipo do documento, entretanto, por se tratar de uma propriedade, pode-se utilizar utilitários para manusea-las, como por exemplo, encontrar todos os documentos considerados importantes. Propriedade que contém um contador de uso do objeto: um utilitário incrementa um contador toda vez que um objeto é utilizado pelo usuário. Esta informação é associada ao objeto, mas não faz parte do tipo do objeto. O Capítulo 13 da especificação CORBAservices: Common Object Services Specification (CORBAservices, 1998) descreve este serviço de forma detalhada. 128
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 maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
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 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 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 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 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 maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
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 mais1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
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 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 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 maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisPara construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.
Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia maisSistemas 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 maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
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 maisSistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
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 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 maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
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 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 maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisEvolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs
1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e
Leia mais04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais
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 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 maisNotas da Aula 15 - Fundamentos de Sistemas Operacionais
Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos
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 maisFaculdade Lourenço Filho - ENADE 2011-1
1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode
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 mais3. Comunicação em Sistemas Distribuídos
3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas
Leia mais5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Leia maisHistórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial
1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão
Leia maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisRoteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
Leia 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 maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisSistemas 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 maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação
Leia maisPadrõ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 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 maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia mais4 Um Exemplo de Implementação
4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicação
Leia maisRoteiro 2 Conceitos Gerais
Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisIntrodução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos
Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária
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 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 maisCAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM
CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM 71 Introdução Difere dos níveis inferiores por ser implementado por tradução A tradução é usada quando um processador está disponível para uma mensagem fonte mas
Leia maisBanco de Dados Orientado a Objetos
Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),
Leia maisCapítulo 9. Gerenciamento de rede
1 Capítulo 9 Gerenciamento de rede 2 Redes de computadores I Prof.: Leandro Soares de Sousa E-mail: leandro.uff.puro@gmail.com Site: http://www.ic.uff.br/~lsousa Não deixem a matéria acumular!!! Datas
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 maisService 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 maisSMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback
SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada
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 maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisDado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:
MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação
Leia maisCategorias de Padrões
Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas
Leia maisAnálise de Ponto de Função
Complemento para o Curso Análise de Ponto de Função FUNÇÕES DO TIPO DADO O termo Arquivo não significa um arquivo do sistema operacional, como é comum na área de processamento de dados. Se refere a um
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia 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 maisIntrodução Banco de Dados
Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em
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 maisAspectos técnicos do desenvolvimento baseado em componentes
Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Leia maisFundamentos de Banco de Dados
Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema
Leia maisLista 3 Exercícios de Gestão de Redes
1. Quais os fatores que contribuem para o sucesso de uma operação de gerenciamento? O sucesso de uma operação de Gerenciamento depende dos seguintes fatores: O sistema de gerenciamento invocador deve ter
Leia maisBanco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]
1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisFAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO
FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO O Driver IGS possui um módulo de configuração que possibilita a comunicação com protocolos proprietários. Trata-se do Driver
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisPadrões Arquiteturais e de Integração - Parte 1
1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
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 10 Persistência de Dados
Leia mais? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.
? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação
Leia maisSistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani
Sistema de Arquivos Ambientes Operacionais Prof. Simão Sirineo Toscani stoscani@inf.pucrs.br www.inf.pucrs.br/~stoscani Gerência de Arquivos É um dos serviços mais visíveis do SO. Arquivos são normalmente
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 maisAs principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:
SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva
Leia maisHoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é
Leia maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Leia maisCONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS
MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL
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 maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia mais5 Estudo de caso: utilizando o sistema para requisição de material
61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de
Leia mais