MAC 440/5759 - Sistemas de Objetos Distribuídos

Primeiro Semestre de 2005

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 6
. Assistente de ensino: Flávia Rainone (fla arroba ime ponto usp ponto br)
. Avaliação: duas provas, trabalhos práticos, projeto final
. Primeira prova: 10 de maio
. Segunda prova: 23 de junho

Assuntos Tratados em Aula

Agradecimento: ao Prof. Fabio Kon, que disponibilizou as notas de aula referenciadas abaixo.
. 08/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 19 deste lote). Notas de aula.
. 10/03: IDL, a linguagem de definição de interfaces (Henning & Vinoski, capítulo 4). Exemplo de servidor e cliente CORBA em Java. Transparências (a partir da transparência 20). Notas de aula.
. 15/03: Exemplo de servidor e cliente CORBA em C++. Referências para objetos CORBA em C++: _ptrs e _vars. Transparências.
. 17/03: O serviço de nomes CORBA (Henning & Vinoski, capítulo 18). Transparências (vimos até a transparência 15 deste lote). Notas de aula.
. 29/03: O serviço de nomes CORBA (final). Transparências (a partir da transparência 16). Interfaces do ORB (Henning & Vinoski, capítulo 7, seções de 5 a 11). Transparências. O adaptador de objetos portátil, ou POA (Henning & Vinoski, capítulo 11). Transparências (vimos até a transparência 5 deste lote).
. 31/03: O adaptador de objetos portátil (continuação). Transparências (vimos as transparências 6 a 31 deste lote).
. 05/04: O adaptador de objetos portátil (final). Transparências (a partir da transparência 32). GIOP e IIOP (Henning & Vinoski, capítulo 13). Transparências.
. 07/04: Repositórios de implementações e binding (Henning & Vinoski, capítulo 14). Transparências.
. 12/04: Especificação de detalhes do EP1. Passagem de objetos por valor (objects by value, ou OBV). Serviço de negociação (trading). Transparências sobre o trading service (vimos até a transparência 7 deste lote).
. 14/04: Alternativa ao serviço de negociação: o serviço de diretório LDAP. Interceptadores portáteis (Brose et al, seção 9.1). Notas de aula.
. 26/04: Interceptadores portáteis (continuação) (Brose et al, seção 9.1). Notas de aula. Mais notas de aula.
. 28/04: Transações distribuídas: two-phase commit, o padrão X/Open DTP e a interface XA. A especificação JTA (Java Transaction API).
. 03/05: A especificação JTA (continuação). O serviço de transações CORBA. Notas de aula.
. 05/05: O serviço de transações CORBA (continuação). Notas de aula. Segurança em sistemas de objetos distribuídos (só começamos este assunto). Notas de aula.
. 10/05: Primeira prova.
. 17/05: Segurança em sistemas de objetos distribuídos. Notas de aula.
. 19/05: Suporte para autenticação, delegação e atributos de segurança (privilégios) em CORBA: o protocolo CSIv2, que usa os contextos de serviço do GIOP. Noções de controle de acesso baseado em papéis (RBAC). Papéis e atributos de segurança. Propagação de atributos de segurança: os modelos push e pull. Java RMI. Notas de aula.
. 24/05: Carga remota de bytecodes em Java RMI: o exemplo "compute engine" do trilha sobre RMI do Java Tutorial da Sun. O RMI registry. Gerenciadores de segurança. Notas de aula.
. 31/05: RMI sobre IIOP (tutorial básico, exemplo de uso de POA em RMI/IIOP).
. 02/06: Mapeamento reverso de Java para IDL: uma visão crítica (referência: seção 2 [The Java to IDL Mapping] do white paper CORBA-EJB Interoperability, disponibilizado pela IONA).
. 07/06: EJB: introdução, tipos de componentes EJB.
. 09/06: EJB: descritor de implantação, session beans sem estado.
. 14/06: EJB: session beans com estado, entity beans.
. 16/06: Suporte para transações declarativas em EJB. JMX e JBoss. O modelo do JBoss para componentes de serviço. Referência e transparências sobre JMX e JBoss.
. 21/06: JBoss (continuação): implantação dinâmica de componentes, achatamento da hierarquia de classloaders, meta-arquitetura para EJBs, suporte para múltiplos protocolos. Material adicional (não visto em classe): referência e transparências sobre suporte a IIOP no JBoss.
. 23/06: Segunda prova.

Trabalhos Propostos

. Primeiro exercício-programa. Prazo: 3 de maio.
. Segundo exercício-programa. Prazo: 19 de maio.
. Terceiro exercício-programa. Prazo: 21 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.
. Richard Monson-Haefel, Bill Burke e Sacha Labourey, Enterprise JavaBeans, 4th ed., O'Reilly, 2004.
. Ed Roman, Rima Patel Sriganesh e Gerald Brose, Mastering Enterprise JavaBeans, Third Edition, Wiley, 2004. Disponível para download como um arquivo PDF não imprimível.

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 2 Platform, Enterprise Edition (J2EE)
. JBoss.org


Valid CSS! Valid XHTML 1.0! Last modified: Thu Jun 23 01:17:57 BRT 2005
Francisco Reverbel
reverbel at ime.usp.br