Sistemas de Middleware Avançados

MAC 0434/5765 - Tópicos em Sistemas de Computação - Segundo Semestre de 2004

Prof. Francisco Reverbel

. Informações gerais
. Descrição
. Assuntos tratados em aula
. Trabalhos propostos
        
. Bibliografia
. 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 das 10:00 às 11:40, sextas das 14:00 às 15:40
. Local: IME-USP, bloco B, salas 4 (terças-feiras) e 6 (sextas-feiras)
. Assistente de ensino: Eduardo Leal Guerra (eguerra arroba ime ponto usp ponto br)
. Pasta xerox CAMAT: número 74

Descrição

MAC-0434 (Tópicos em Sistemas de Computação) e MAC-5765 (Tópicos em Sistemas de Computação I) são disciplinas que servem de "guarda-chuva" para o estudo de tópicos avançados relacionados ao desenvolvimento de sistemas de software numa variedade de áreas. No segundo semestre de 2004, o assunto geral vai ser "Sistemas de Middleware Avançados".

A relação de tópicos que estudaremos ao longo do semestre não está completamente decidida, mas será semelhante à do oferecimento de MAC-5765 em 2003.

Assuntos Tratados em Aula

. 24/08: Apresentação. Arquitetura de class loaders em Java. (Halloway, capítulo 2, até 2.3.3.)
. 26/08: Arquitetura de class loaders em Java. (Halloway, de 2.3.4 a 2.5, mais parte de 2.7.) Leitura adicional: Liang e Bracha.
. 31/09: Arquitetura de class loaders em Java. (Halloway, de 2.6 a 2.9.)
. 03/09: Conceitos de reflexão: introspecção e adaptação. Adaptação comportamental e adaptação estrutural. Introspecção e invocação reflexiva em Java. (Halloway, capítulo 3, até 3.3.) Leitura adicional: Kon, Costa, Campbell e Blair.
. 14/09: Proxies Dinâmicos. (Halloway, 3.4.) Introdução à arquitetura JMX.
. 17/09: A arquitetura JMX. (Fleury e Reverbel, seções 1 e 2.)
. 21/09: Componentes de middleware no JBoss: MBeans de serviço (service MBeans) e MBeans implantáveis (deployable MBeans), dependências entre MBeans implantáveis, implantação dinâmica. (Fleury e Reverbel, seção 3, até 3.4.)
. 24/09: Carga de classes em servidores de aplicação: o esquema "loader per deployment" e a arquitetura de unified class loaders do JBoss. (Fleury e Reverbel, seções 3.5 e 3.6.)
. 28/09: Alternativas de implementação de containers EJB. (Monson-Haefel, capítulo 2.) Meta-nível de uma arquitetura para EJBs generalizados. (Fleury e Reverbel, seção 4.)
. 01/10: Meta-nível de uma arquitetura para EJBs generalizados. (Fleury e Reverbel, seção 4.) Exemplo de uso de interceptadores: autenticação de usuários.
. 05/10: Conversa sobre a evolução do modelo EJB e outros assuntos. FlexiNet, um sistema de middleware precursor do JBoss. Aplicabilidade e limitações do "invoker pattern".
. 08/10: Aula sobre o segundo trabalho. Associações entre invoker e configuração de proxy factory e configurações de container EJB no JBoss. (Reverbel, Burke e Fleury, seção 4.)
. 19/10: Suporte para IIOP no JBoss: os MBeans CorbaORBService, CorbaNamingService e IIOPInvoker. Arquitetura do IIOPInvoker. (Reverbel, Burke e Fleury, seções 3 e 5.)
. 22/10: Transações: visão geral (Ramakrishnan e Gehrke, capítulo 18). Controle de concorrência: two-phase locking (2PL) e 2PL estrito, os níveis de isolação de transações no SQL (Ramakrishnan e Gehrke, 19.1, 19.3, até 19.3.1, e 19.4, até 19.4.1).
. 26/10: Logging e recuperação de falhas (Ramakrishnan e Gehrke, capítulo 20, até 20.1.3).
. 29/10: Logging e recuperação de falhas (Ramakrishnan e Gehrke, capítulo 20, de 20.1.4 a 20.3).
. 02/11: Transações distribuídas e two-phase commit. (Ramakrishnan e Gehrke, seção 21.13). O padrão X/Open DTP e a interface XA. O serviço de transações CORBA.
. 09/11: Transações num servidor de aplicações: interação entre o gerenciador de transações e os recursos transacionais (XAResources).
. 12/11: Aula sobre o terceiro trabalho.
. 23/11: A Java Transaction API (JTA). Pontos de JTA importantes para o terceiro trabalho.
. 26/11: A especificação EJB 3.0, atualmente em "early draft review". Tutorial de EJB 3.0.
. 30/11: Discussão de questões sobre o terceiro trabalho.
. 02/12: Discussão de questões sobre o terceiro trabalho. Containers para inversão de controle e o padrão "injeção de dependências".
. 07/12: Containers para inversão de controle e o padrão "injeção de dependências" (continuação).
. 10/12: Discussão de questões sobre o terceiro trabalho.
. 14/12: Discussão de questões sobre o terceiro trabalho.

Trabalhos Propostos

. Primeiro trabalho: utilização de EJB (ps, pdf). Prazo: 08 de outubro.
. Segundo trabalho: invocador Java/IIOP para o JBoss (ps, pdf). Prazo: 29 de outubro.
. Terceiro trabalho: transações CORBA/XA para o JBoss (ps, pdf). Prazo: 14 de dezembro.

Bibliografia

. Stuart D. Halloway, Component Development for the Java Platform, Addison-Wesley, 2002. (O autor disponibiliza o livro completo como um conjunto de arquivos PDF.)
. Sheng Liang e Gilad Bracha, Dynamic Class Loading in the Java Virtual Machine, OOPSLA'98.
. Fabio Kon, Fábio Costa, Roy Campbell e Gordon Blair, The Case for Reflective Middleware, Communications of the ACM, Vol. 45, No. 6, pp. 33-38, June, 2002.
. Marc Fleury e Francisco Reverbel, The JBoss Extensible Server, in Middleware 2003 - ACM/IFIP/USENIX International Middleware Conference, vol. 2672 of LNCS, pp. 344-373, Springer-Verlag, 2003.
. Francisco Reverbel, Bill Burke e Marc Fleury, Dynamic Deployment of IIOP-Enabled Components in the JBoss Server, in Component Deployment: Second International Working Conference (CD 2004), vol. 3083 of LNCS, pp. 65-80, Springer-Verlag, 2004.
. Richard Monson-Haefel, Bill Burke e Sacha Labourey, Enterprise JavaBeans, 4th ed., O'Reilly, 2004.
. Ed Roman, Scott Ambler e Tyler Jewell, Mastering Enterprise JavaBeans, Second Edition, Wiley, 2002. Disponível para download como um arquivo PDF não imprimível.
. Floyd Marinescu, EJB Design Patterns - Advanced Patterns, Processes and Idions, Wiley, 2002. Disponível para download como um arquivo PDF não imprimível.
. Juha Lindfors, Marc Fleury e o JBoss Group, JMX: Managing J2EE with Java Management Extensions, SAMS, 2002.
. Jim Gray e Andreas Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993.
. Raghu Ramakrishnan e Johannes Gehrke, Database Management Systems, Second Edition, McGraw-Hill, 2000.

Recursos Adicionais na Internet

. Java 2 Platform, Enterprise Edition (J2EE)
. Java Management Extensions (JMX)
. TheServerSide.com
. JBoss.org


Valid CSS! Valid XHTML 1.0! Last modified: Thu Dec 16 11:36:00 EDT 2004
Francisco Reverbel