MAC 440/759 - Sistemas de Objetos Distribuídos

Segundo Semestre de 1999

Prof. Francisco Reverbel

. Informações gerais
. Ementa da disciplina
. Tópicos tratados em aula
. Leitura Recomendada
. Projeto
        
. Lista de discussão da disciplina
. Bibliografia
. ORBs Usados
. Recursos Adicionais na Internet

[at work icon] Esta página estará em permanente construção até o final do semestre...

Informações Gerais

. Local: IME-USP, bloco B, sala B-6
. Horário: quartas das 10:00 às 11:40, sextas das 8:00 às 9:40
. Avaliação: duas provas, projeto em equipe de até dois alunos
. Primeira prova: 6 de outubro
. Segunda prova: 12 de novembro
. Pasta Xerox CAMAT: número 55-A

Tópicos Tratados em Aula

. 11/08/99: Apresentação. Revisão de RPC. Introdução à CORBA. Transparências.
. 13/08/99: Exemplo de servidor e cliente CORBA escritos em C++. Transparências.
. 18/08/99: Tratamento de exceções. O que é uma object reference. Operações sobre object references: duplicate, release, conversão para/de string. Object references em C++: os tipos _ptr e _var. Transparências.
. 20/08/99: Mapeamento de IDL para C++: passagem de parâmetros de tamanho variável e gerenciamento de memória. Exemplo de serviço definido em IDL: o serviço de nomes.
. 25/08/99: Mapeamento de IDL para C++: estruturas e seqüências. Exemplo de utilização do serviço de nomes.
. 27/08/99: O Portable Object Adapter (POA). Políticas do POA.
. 01/09/99: Uso das políticas TRANSIENT e PERSISTENT (objetos de sessão versus objetos de serviço). Criação de POAs.
. 03/09/99: O tipo Servant em IDL. Criação e ativação de objetos. (Começei servant activators.)
. 15/09/99: O projeto do curso. Exemplo de cliente CORBA escrito em Java.
. 17/09/99: Exemplo de servidor CORBA escrito em Java. Mapeamento de parâmetros out e inout para Java: holder classes.
. 22/09/99: Gerenciadores de serventes: servant activators e servant locators. O padrão de projeto evictor.
. 24/09/99: Serventes default. Controle do tratamento de requisições: o POAManager e seus estados.
. 29/09/99: O protocolo GIOP: hipóteses sobre a camada de transporte, CDR, mensagens do GIOP.
. 01/10/99: O protocolo GIOP: formato das mensagens, gerenciamento de conexões e detecção de queda. O protocolo IIOP: informações numa IOR.
. 06/10/99: Primeira prova.
. 08/10/99: Modos de binding: direto e indireto. Binding direto de referências transientes. Binding direto de referências persistentes.
. 13/10/99: Binding através de um repositório de implementações. Otimizações no binding.
. 15/10/99: Discussão sobre a primeira etapa do projeto.
. 18/10/99: O serviço de eventos do OMG.
. 20/10/99: As duas abordagens para implementação de interfaces IDL: herança (que usamos até agora) e delegação (tie approach). Contextos de serviço: propagação de contextos juntamente com requisições/respostas IIOP, serviços baseados na propagação de contextos (transações, segurança).
. 25/10/99: Transações (revisão de conceitos): as propriedades ACID, transações distribuídas e o protocolo two-phase commit. O serviço de transações do OMG.
. 27/10/99: O serviço de transações do OMG.
. 03/11/99: Introdução ao COM: objetos e vtable interfaces, Microsoft IDL, GUIDs, classes, a interface IUnknown.
. 08/11/99: COM: tipos de servidores, a biblioteca COM, criação e iniciação de objetos, reutilização de implementações de objetos por inclusão (containment) e por agregação, dispinterfaces, automação, persistência de objetos, monikers. Comparação entre CORBA e DCOM.

Leitura Recomendada

. Em 18/08/99: o capítulo 2 do livro de Henning e Vinoski.
. Em 25/08/99: o capítulo 18 do livro de Henning e Vinoski. (À medida que sentir necessidade, leia e/ou consulte os capítulos 4, 6 e 7, sobre IDL e seu mapeamento para C++. O capítulo 6 está disponível aqui.)
. Em 27/08/99: as seções de 11.1 a 11.5 do livro de Henning e Vinoski.
. Em 03/09/99: seções 11.6 e 11.7 (até 11.7.2) do livro de Henning e Vinoski.
. Em 22/09/99: seções 11.7.3 e 12.6 do livro de Henning e Vinoski.
. Em 24/09/99: seções 11.7.4, 11.8, 11.9 e 11.10 do livro de Henning e Vinoski.
. Em 01/10/99: o capítulo 13 do livro de Henning e Vinoski. (Este capítulo não cai na primeira prova.)
. Em 15/10/99: o capítulo 14 do livro de Henning e Vinoski, até a seção 14.4 (inclusive).

Bibliografia

. Michi Henning e Steve Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, 1999. ISBN: 0-201-37927-9.
. Robert Orfali e Dan Harkey, Client/Server Programming With Java and CORBA, Second Edition, John Wiley & Sons, 1998. ISBN: 0-471-24578-X.
. Andreas Vogel e Keith Duddy, Java Programming with CORBA, Second Edition, John Wiley & Sons, 1998. ISBN: 0-471-24765-0.
. The Common Object Request Broker: Architecture and Specification, Revision 2.3, Object Management Group, July 1999.
. C++ Language Mapping Specification, Object Management Group, June 1999.
. IDL to Java Language Mapping Specification, Object Management Group, June 1999.

ORBs Usados

. TAO (cópia local para download)
. JacORB (cópia local para download, cópia local do Programming Guide)

Recursos Adicionais na Internet

. Home page do OMG.
. Página CORBA de Doug Schmidt.
. Cetus links: páginas sobre CORBA e CORBA ORBs.
. O newsgroup comp.object.corba. Para acessá-lo via Deja News, clique aqui.
. Arquivos das listas de discussão corba-dev e java-corba.


Valid HTML 4.0! Last modified: Thu Nov 11 17:32:45 EDT 1999
Francisco Reverbel
reverbel at ime.usp.br