120 likes | 199 Views
Apresentação do Padrão CORBA. Maurício Maron Mendes 099210139 Ramiro Pereira de Magalhães 099210155. Antes do Corba. - Aplicações monolíticas
E N D
Apresentação do Padrão CORBA Maurício Maron Mendes 099210139 Ramiro Pereira de Magalhães 099210155
Antes do Corba - Aplicações monolíticas Rodavam em um mainframe, sendo que os usuários utilizavam “terminais burros” para executar as aplicações. O processamento era totalmente feito no mainframe. - Aplicações cliente-servidor Popularizaram-se na década de 90. A aplicação cliente era dotada da interface com o usuário e regras de negócio e o servidor da persistência. - Aplicações 3+-camadas (n-camadas) Está se popularizando principalmente para o desenvolvimento de sistemas de grande porte, distribuindo-o em, pelo menos, 3 camadas: interface, negócio e persistência.
Vantagens • - Excelente separação entre as interfaces com usuário e a lógica do sistema proporciona facilidades de mudanças caso haja alguma Redefinição de estratégia de armazenamento (afetará pouco as camadas intermediárias e nada as camadas-cliente) • - Mudanças nas implementações dos objetos podem não afetar as interfaces CORBA. • - Faz uso de técnicas já conhecidas e praticadas por programadores: encapsulamento, polimorfismo, reuso... • Permite utilizar linguagens de programação mais adequadas para o desenvolvimento de cada sistema isoladamente. • - Permite especialização de equipes de desenvolvimento, reduzindo custos no desenvolvimento do sistema.
Considerações Vale a pena desenvolver minha aplicação com CORBA? - Você dispõe de recursos (monetários e humanos)? Tempo? - Qual o tamanho do seu sistema? - Várias pessoas vão acessá-lo ao mesmo tempo? Este acesso exigirá muito do banco de dados? E da camada de negócios? - Como as aplicações clientes vão estar se conectando? - Você pretende reutilizar seu sistema, ou vendê-lo para vários consumidores (que usam sistemas operacionais diferentes)? - Você é capaz de manter seus dados seguros de ataques?
Stub IDL • Para acessar uma operação sobre um objeto, o cliente precisa chamar e estar estaticamente ligado a um stub correspondente; • A interface stub conduz o ORB direto para o domínio de programação da aplicação: o cliente interage com objetos servidores (remotos) chamando suas operações como se tivessem chamando operações de objetos locais.
ORB (Object Request Broker) • Abrange toda a infraestrutura de comunicação necessária para identificar e localizar objetos, tratar o gerenciamento de conexão e a entrega dos dados; • A funcionalidade básica fornecida pelo ORB consiste em passar os pedidos dos clientes para as implementações dos objetos em que eles são chamados; • Um ORB usa uma referência de objeto para identificar e localizar objetos, de forma que ele possa direcionar os pedidos para ele. Se o objeto referenciado existe, o ORB permite que o dono de uma referência de objeto peça serviços a ele.
Esqueleto IDL • Para qualquer chamada, seja via stub ou via invocação dinâmica, depois de passar pelo ORB, o "pacote" com os argumentos enviados pelo cliente chega ao Adaptador de Objetos e é em seguida "aberto" através de um skeleton no lado do servidor. O skeleton recria a requisição em seu próprio espaço de endereçamento; • As invocações passam através do skeleton vindas do Adaptador de Objetos em direção à implementação do objeto (servidor); as solicitações voltam pela rotina de retorno correspondente.
Códigos-fonte - Definição IDL interface objeto_exemplo{ void metodo_do_objeto(in Boolean a); } - Utilização do Objeto objeto_exemplo *x = objeto_exemplo::_bind(“meu_obj_exemplo”); x->metodo_do_objeto (0);
Links http://www.corba.org/success.htmhttp://www.omg.org/gettingstarted/corbafaq.htmhttp://ootips.org/corba-basics.htmlhttp://www.cs.indiana.edu/~kksiazek/tuto.html