MAC 440/759 - Sistemas de Objetos Distribu�dos

Segundo Semestre de 1998

Prof. Francisco Reverbel

. Informa��es Gerais
. Avisos (Leia os que tiverem uma bola vermelha!)
. T�picos Tratados em Aula
. Leitura Recomendada
. Bibliografia
. 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: segundas das 8:00 �s 9:40 e quintas das 10:00 �s 11:40
. Pasta Xerox CAMAT: n�mero 116
. Avalia��o: duas provas em classe, trabalho pr�tico
. Primeira prova: 01 de outubro
. Segunda prova: 19 de novembro
. Monitor: Aritanan Borges Garcia Gruber (Pil)
. Hor�rio preferencial: segundas-feiras, das 10 as 11 horas


Avisos

. 14/08/98: A p�gina da disciplina Sistemas de Objetos Distribu�dos ministrada no segundo semestre de 1997 est� aqui. Olhe � vontade, mas saiba que alguns documentos apontados por essa p�gina j� est�o obsoletos. Por exemplo: ela referencia a revis�o 2.1 da especifica��o CORBA, em vez de referenciar a revis�o 2.2, que � a mais atual.
. 14/08/98: A leitura recomendada est� dispon�vel tanto eletronicamente (vide ponteiros abaixo) como em papel (no xerox do CAMAT).
. 17/08/98: O VisiBroker for Java version 3.2 e o VisiBroker for C++ version 3.2 est�o instalados na rede do IME, no diret�rio /usr/local/visibroker. Comece a estudar os exemplos do VisiBroker for Java ou os exemplos do VisiBroker for C++. Fa�a uma c�pia de todo o diret�rio de exemplos (java_examples ou examples, dependendo da linguagem) na sua �rea de disco, depois siga as instru��es no pr�prio diret�rio para gerar e rodar os exemplos.
. 17/08/98: Se voc� pretende rodar o VisiBroker em seu pr�prio PC, veja a p�gina de downloads da Inprise.
. 20/08/98: Para rodar o VisiBroker na rede do IME, veja as informa��es aqui.
. 25/08/98: Atualizada a p�gina de informa��es operacionais, tendo sido inclu�das informa��es sobre registro de servidores.
. 03/09/98: Est� dispon�vel a p�gina do projeto.
. 03/09/98: A primeira prova foi marcada para 01 de outubro.
. 03/09/98: Inclu� na bibliografia um novo texto (dispon�vel eletronicamente), sobre o mapeamento de IDL para C++.
. 21/09/98: N�o darei aula na pr�xima quinta-feira (24/09).
. 28/09/98: O prazo de entrega da primeira etapa do projeto acaba hoje. Veja aqui o que voce deve entregar.
. 19/10/98: Est� dispon�vel o arquivo IDL para as etapas 2 e 3 do projeto.
. 21/10/98: Aqui est� a documenta��o do servidor MySQL e do seu driver JDBC.
. 21/10/98: Foram revistos os prazos de entrega das etapas 2 e 3 do projeto.
. 23/10/98: Veja aqui como usar o servidor MySQL, que j� est� rodando (gra�as ao Adriano)!
. 23/10/98: Um exemplo de utiliza��o do driver JDBC est� dispon�vel aqui.
. 05/11/98: Inclu�das algumas dicas de �ltima hora sobre a etapa 2 do projeto.
. 17/11/98: Atualizada a rela��o de t�picos tratados em aula, a leitura recomendada (com inclus�o de material sobre servi�os de nomes e de eventos, COM e RMI) e a bibliografia (com inclus�o de livros sobre COM).
. 17/11/98: Atualizada a pagina do projeto, com inclus�o de texto sobre a etapa 3.
. 01/12/98: Veja aqui as notas das provas.
. 01/12/98: Prazo de entrega da terceira etapa do projeto: 7 de dezembro.
. 01/12/98: Cada equipe deve marcar uma hora para apresentar o seu trabalho para o professor. Se voc� fez o projeto em dupla, n�o se esque�a que toda a equipe deve comparecer � apresenta��o. As apresenta��es ser�o agendadas para os dias 8 e 9 de dezembro. Quem n�o puder nessas datas e precisar antecipar a apresenta��o de sua equipe, contate o professor.
. 01/12/98: Reuni�o final da classe (teste conjunto dos sistemas das v�rias equipes): 10 de dezembro, �s 10 horas.
. 03/12/98: Melhorei o texto sobre a gera��o da IOR na etapa 3 do projeto. A vers�o anterior desse texto estava muito confusa.
. 10/12/98: A prova substitutiva ser� no dia 15/12 (ter�a-feira), �s 10:00, na sala 267 do bloco A. Podem faz�-la os alunos que satisfazem as tr�s condi��es abaixo:
  1. tem m�dia de provas MP < 5, onde MP = (P1 + 2*P2)/3
  2. tem nota maior ou igual a 3 na prova P1 ou na prova P2
  3. entregaram todas as etapas do projeto.
. 18/12/98: As notas finais est�o aqui. Boas f�rias!!!


T�picos Tratados em Aula

. 03/08/98: (Aula s� com os alunos de gradua��o.) Apresenta��o. Vis�o hist�rica dos sistemas de objetos distribu�dos e sua rela��o com sistemas three-tier.
. 10/08/98: Apresenta��o. Revis�o de RPC. Introdu��o � CORBA. Os componentes de um ORB. Figuras (vimos at� a segunda figura deste lote).
. 13/08/98: Os componentes de um ORB (continua��o). Introdu��o � IDL. Exemplo de um cliente CORBA escrito em Java. Leitura recomendada.
. 17/08/98: Exemplo de um servidor CORBA escrito em Java.
. 20/08/98: Convers�o de refer�ncias a objetos em strings e vice-versa. Exemplo de cliente CORBA que (em vez de chamar bind) usa uma refer�ncia "stringficada" para conectar-se ao servidor. Ativa��o de implementa��es (servidores) e de objetos (serventes). Leitura recomendada.
. 24/08/98: Registro de servidores no reposit�rio de implementa��es: informa��es operacionais. Exemplo de cliente e servidor CORBA escrito em C++.
. 27/08/98: Tipos de dados em IDL: tipos b�sicos, tipos definidos pelo usu�rio, tipos parametrizados, vetores e matrizes. As interfaces do ORB: CORBA::ORB e CORBA::Object. Object references em C++: os tipos _ptr e _var. Transpar�ncias.
. 31/08/98: A interface (mal padronizada) CORBA::BOA. Gera��o e interpreta��o de object references. Ativa��o de objetos no "BOA propriet�rio" do VisiBroker. Transpar�ncias (vimos at� a transpar�ncia 14 deste lote).
. 03/09/98: Conversa sobre o projeto do curso. Exemplo de servidor com ativa��o din�mica de objetos: o exemplo ODB do VisiBroker (em Java, em C++).
. 14/09/98: Implementa��o de interfaces IDL: a abordagem por heran�a e a abordagem por delega��o (tie approach). Transpar�ncias 15 a 31 do lote come�ado na aula 7. O exemplo Bank (using TIE) do VisiBroker. Leitura recomendada.
. 17/09/98: Revis�o geral de redes. Transpar�ncias. Funcionamento do ORB: como � feita a liga��o (binding) de object references a serventes. Leitura recomendada.
. 21/09/98: Discuss�o de quest�es/d�vidas sobre o projeto do curso. Continua��o do assunto da aula anterior (binding de object references a serventes).
. 28/09/98: Applets Java como clientes CORBA, o Gatekeeper do VisiBroker, ORB portability interfaces.
. 01/10/98: Primeira prova.
. 05/10/98: O naming service. Leitura recomendada.
. 08/10/98: Discuss�o sobre a segunda etapa do projeto.
. 19/10/98: O event service. Leitura recomendada. Introdu��o ao COM e pr�-requisitos de C++ (virtual member functions, layout de objetos C++ na mem�ria, vtables).
. 26/10/98: COM: objetos e vtable interfaces, Microsoft IDL, GUIDs, classes, a interface IUnknown.
. 29/10/98: COM: tipos de servidores, a biblioteca COM, cria��o e inicia��o de objetos, dispinterfaces, automa��o, persist�ncia de objetos, monikers.
. 09/11/98: Discuss�o sobre dificuldades com a segunda etapa do projeto e dicas de �ltima hora. COM: reutiliza��o de implementa��es de objetos atrav�s de inclus�o (containment) e de agrega��o. Compara��o entre CORBA e DCOM. Leitura recomendada.
. 12/11/98: Java RMI. Exemplo de servidor e cliente RMI.
. 16/11/98: Java RMI. Exemplo de "servidor extens�vel" que executa tarefas arbitr�rias recebidas dos clientes como "objetos tarefa". Leitura recomendada. Discuss�o sobre a terceira etapa do projeto.
. 19/11/98: Segunda prova.


Leitura Recomendada

. Em 13/08/97:

. Em 20/08/97:

. Em 14/09/97:

. Em 17/09/97:

. Em 05/10/97:
  • Naming Service Specification, o cap�tulo 3 da especifica��o CORBAservices. A �ntegra da especifica��o CORBAservices (que � muito longa) encontra-se aqui.

. Em 19/10/97:

. Em 09/11/97:
  • David Chappel, Understanding ActiveX and OLE, Microsoft Press, 1996. Os primeiros quatro cap�tulos deste livro est�o dispon�veis no xerox do CAMAT:

    • Chapter One -- Introducing ActiveX and OLE
    • Chapter Two -- The Component Object Model
    • Chapter Three -- Marshaling and Type Information
    • Chapter Four -- Automation

    O melhor cap�tulo � o segundo, que explica com algum detalhe o que � o COM. (O cap�tulo 1 apresenta uma introdu��o ao COM e uma vis�o geral de ActiveX e OLE, infelizmente misturadas com um bocado de marketing.)

. Em 16/11/98:


Bibliografia

[at work icon] Em constru��o...

CORBA

. As principais especifica��es do OMG:
Aten��o: esses documentos s�o longos. Em vez de imprimir tudo, visualize o pdf e selecione o(s) cap�tulo(s) que voc� deseja imprimir.

. Manuais do VisiBroker:
Os mais �teis s�o (nesta ordem) o Programmer's Guide e o Reference Manual para a linguagem que voc� estiver usando.

. Livros sobre programa��o CORBA em Java:

. Livros sobre programa��o CORBA em C++:
  • Sean Baker, CORBA Distributed Objects Using Orbix, ACM Press/Addison-Wesley, 1997, ISBN 0-201-92475-7.
  • Andreas Vogel, Maira Benjamin, Bhaskar Vasudevan, Ted Villalba e Keith Duddy, C++ Programming with CORBA, John Wiley & Sons, 1998, ISBN 0-471-28306-1.
  • Michi Henning e Steve Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, 1999, ISBN 0-201-37927-9.
    • Acredito que este vai ser o melhor texto sobre programa��o CORBA em C++. O livro ainda n�o foi lan�ado, mas um de seus cap�tulos (Basic IDL-to-C++ Mapping) est� dispon�vel aqui.

. Outros livros sobre CORBA:

COM/DCOM

. David Chappel, Understanding ActiveX and OLE, Microsoft Press, 1996.
. Dale Rogerson, Inside COM, Microsoft Press, 1977, ISBN 1-57231-349-8.


Recursos Adicionais na Internet

. Home page do OMG
. P�gina CORBA do Los Alamos National Laboratory
. P�gina CORBA de Doug Schmidt
. O newsgroup comp.object.corba. Para acess�-lo via Deja News, clique aqui.
. Arquivo da lista de discuss�o corba-dev, mantida por Alan Pope


HTML 3.2 Checked! Last modified: Fri Dec 18 14:40:01 EDT 1998
Francisco Reverbel
reverbel at ime.usp.br