MAC 440/5759 - Sistemas de Objetos Distribuídos

Primeiro Semestre de 2006

Prof. Francisco Reverbel

. Informações gerais
. Ementa da disciplina
. Assuntos tratados em aula
. Trabalhos propostos
        
. Bibliografia
. Software
. Lista de discussão da disciplina
. Recursos adicionais na Internet

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

Informações Gerais

. Horário: terças e quintas das 14:00 às 15:40
. Local: IME-USP, bloco B, sala 7
. Pasta xerox CAMAT: número 64
. Assistente de ensino: Ivan Neto (ivanneto arroba ime ponto usp ponto br)
. Avaliação: duas provas, trabalhos práticos, projeto final
. Primeira prova: 04 de maio
. Segunda prova: 29 de junho

Assuntos Tratados em Aula

Agradecimento: ao Prof. Fabio Kon, que disponibilizou as notas de aula referenciadas abaixo.
. 07/03: Apresentação. Visão geral dos Sistemas de Objetos Distribuídos. Introdução à CORBA (Henning & Vinoski, capítulo 2). Transparências (vimos até a transparência 21 deste lote). Notas de aula.
. 09/03: Exemplo de servidor e cliente CORBA em Java. Transparências (a partir da transparência 22). IDL, a linguagem de definição de interfaces (Henning & Vinoski, capítulo 4). Notas de aula.
. 14/03: Arquivos gerados pelo tradutor de IDL para Java. O serviço de nomes CORBA (Henning & Vinoski, capítulo 18). Transparências (vimos até a transparência 17 deste lote). Notas de aula.
. 16/03: O serviço de nomes CORBA (final). Transparências (a partir transparência 18). URLs que referenciam objetos CORBA. Exemplo de servidor e cliente CORBA em C++. Referências para objetos CORBA em C++: _ptrs e _vars (Henning & Vinoski, capítulo 6). Transparências. Interfaces do ORB (apenas começamos este assunto). Transparências.
. 21/03: Interfaces do ORB (Henning & Vinoski, capítulo 7, seções de 7.5 a 7.11). Transparências. O adaptador de objetos portátil, ou POA (Henning & Vinoski, capítulo 11). Transparências (vimos até a transparência 11 deste lote).
. 23/03: O adaptador de objetos portátil (Henning & Vinoski, capítulo 11 - continuação). Transparências (vimos as transparências de 12 a 27 deste lote).
. 28/03: O adaptador de objetos portátil (Henning & Vinoski, capítulo 11 - final). Transparências (vimos até as transparências restantes deste lote). O padrão "despejador" ou evictor pattern (Henning & Vinoski, seção 12.6). GIOP e IIOP (Henning & Vinoski, capítulo 13). Transparências (vimos até a transparência 3 deste lote).
. 30/03: GIOP e IIOP (Henning & Vinoski, capítulo 13 - continuação). Transparências (vimos as transparências de 4 a 16 deste lote).
. 04/04: GIOP e IIOP (Henning & Vinoski, capítulo 13 - final). Transparências (vimos as transparências de 16 a 18 deste lote). GIOP bidirecional. Repositórios de implementações e binding (Henning & Vinoski, capítulo 14). Transparências (vimos até a transparência 17 deste lote).
. 06/04: Conversa sobre o primeiro trabalho. Repositórios de implementações e binding (Henning & Vinoski, capítulo 14 - final). Transparências (vimos as transparências 17 e 18 deste lote).
. 18/04: Valuetypes e passagem de objetos por valor (objects by value, ou OBV) em CORBA. (Brose et al, seções 2.3.4.7 e 5.13) Interceptadores (apenas começamos este assunto).
. 20/04: Interceptadores portáteis (Brose et al, seção 9.1). Notas de aula. Mais notas de aula. Revisão sobre transações num sistema não distribuído: logging e recuperação de quedas. (Referência: livro de bancos de dados do Ramakrishnan. Slides do Ramakrishnan sobre logging e recuperação de quedas.) Transações distribuídas (apenas começamos este assunto).
. 25/04: Transações distribuídas: o protocolo two-phase commit (2PC). (Referência: livro de bancos de dados do Ramakrishnan. Slides do Ramakrishnan sobre 2PC.) O padrão X/Open DTP e a interface XA. O serviço de transações CORBA (OTS). Notas de aula. Apresentação sobre OTS.
. 27/04: OTS (continuação). A Java Transaction API (JTA).
. 02/05: Segurança em sistemas de objetos distribuídos. Notas de aula.
. 04/05: Primeira prova.
. 09/05: Segurança em sistemas de objetos distribuídos (continuação). Notas de aula. Java RMI. Notas de aula. Carga remota de bytecodes em Java RMI: o exemplo "compute engine" da trilha sobre RMI do Java Tutorial da Sun. (Não terminamos este exemplo.)
. 11/05: Carga remota de bytecodes em Java RMI: continuação do exemplo "compute engine". O RMI Registry. Gerenciadores de Segurança. Notas de aula.
. 16/05: RMI sobre IIOP: tutorial básico, exemplo (não visto em classe) de uso de POA em RMI/IIOP. Alternativa (bem melhor) ao RMI Registry: JNDI, a API usada com RMI/IIOP. Tutorial de JNDI.
. 18/05: Introdução a web services e conversa sobre o terceiro trabalho. XML, XML namespaces e XML schema.
. 30/05: SOAP e WSDL. Transparências (vimos até a transparência 23 deste lote).
. 01/06: WSDL (continuação). Transparências (vimos as transparências 24 a 31 deste lote). Opções para binding style (literal ou RPC) e codificação (literal ou SOAP encoded).
. 06/06: UDDI, SOAP com anexos, padrões de uso de web services. Transparências (vimos as transparências 32 a 56 deste lote). JMX e JBoss. O modelo do JBoss para componentes de serviço. Referência e transparências sobre JMX e JBoss (vimos até a transparência 21).
. 08/06: APIs Java para web services (palestra de Ivan Neto). Transparências.
. 20/06: O servidor de aplicações JBoss: implantação dinâmica de componentes, achatamento da hierarquia de classloaders, meta-arquitetura para EJBs, suporte para múltiplos protocolos. Referência e transparências. Material adicional (não visto em classe) sobre suporte a IIOP no JBoss: referência e transparências

Trabalhos Propostos

. Primeiro exercício-programa (ps, pdf, arquivo IDL). Prazo: até 25 de abril.
. Segundo exercício-programa (ps, pdf, arquivo IDL). Prazo: até 18 de maio.
. Terceiro exercício-programa (ps, pdf, arquivo WSDL, visualização do arquivo WSDL). Prazo: até 26 de junho.

Bibliografia

. Michi Henning e Steve Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, 1999. ISBN: 0-201-37927-9.
. Gerald Brose, Andreas Vogel e Keith Duddy, Java Programming with CORBA, Third Edition: Advanced Techniques for Building Distributed Applications, John Wiley & Sons, 2001. ISBN: 0-471-37681-7.
. Java Remote Method Invocation (RMI) Documentation, Sun Microsystems, 2004.
. Gustavo Alonso, Fabio Casati, Harumi Kuno e Vijay Machiraju, Web Services Concepts, Architectures and Applications, Springer-Verlag, 2004. ISBN: 3-540-44008-9.
. Richard Monson-Haefel e Bill Burke, Enterprise JavaBeans 3.0, 5th ed., O'Reilly, 2006. ISBN: 0-596-00978-X.

Software

. ORB para C++: MICO
. ORB para Java: JacORB
. ORB para C: ORBit

Recursos Adicionais na Internet

. Página de SOD e notas de aula do Prof. Fabio Kon.
. Home page do OMG.
. Página CORBA de Doug Schmidt.
. Cetus links: páginas sobre CORBA e CORBA ORBs.
. O newsgroup comp.object.corba. Aqui você pode acessá-lo via Google Groups.
. Arquivo das listas de discussão corba-dev.
. Java Platform, Enterprise Edition (Java EE)
. JBoss.org


Valid CSS! Valid XHTML 1.0! Last modified: Tue Jun 20 17:57:07 EST 2006
Francisco Reverbel
reverbel at ime.usp.br