Sistemas de Middleware

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

Prof. Francisco Reverbel

. Informações gerais
. Ementa da disciplina
. Assuntos tratados em aula
. Trabalhos propostos
        
. Bibliografia
. Área da disciplina no Moodle
. Notícias e avisos
. Fórum de discussão da disciplina

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

Informações Gerais

. Horário: quartas das 10:00 às 11:40, sextas das 08:00 às 09:40
. Local: IME-USP, bloco B, sala 144
. Pasta xerox CAMAT: número 7
. Avaliação: duas provas, trabalhos práticos
. Primeira prova: 26 de setembro 3 de outubro
. Segunda prova: 28 de novembro 30 de novembro
. Prova substitutiva: 12 de dezembro (para os alunos que tiveram falta justificada na primeira ou na segunda prova)

Ementa da Disciplina

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. Neste semestre essas siglas estão sendo utilizadas por uma disciplina nova, "Sistemas de Middleware", cuja ementa está no link abaixo.

. Ementa de Sistemas de Middleware

Assuntos Tratados em Aula

. 08/08: Apresentação. Definições de middleware. Sistemas de informação distribuídos: estratégias de projeto, arquiteturas em camadas (slides 1 a 27 desta apresentação). Leitura: Alonso, capítulo 1.
. 10/08: Sistemas de informação distribuídos: interações síncronas e assíncronas (slides 28 a 32 desta apresentação). Middleware (slides 1 a 10 desta apresentação). Leitura: Alonso, capítulo 2, até 2.1.4.
. 15/08: RPC. Object brokers: CORBA (slides 1 a 19 desta apresentação). Leitura: Alonso, capítulo 2, seções 2.2 e 2.4.
. 17/08: Exemplo de servidor e cliente CORBA escritos em Java (slides 20 a 31 desta apresentação). O serviço de nomes CORBA (slides 1 a 10 desta apresentação). Leitura: parte da introdução e capítulo 17 do manual do Orbix (uma implementação comercial de CORBA).
. 22/08: O serviço de nomes CORBA (slides 11 a 20 desta apresentação). IORs (slide 10 desta apresentação). URLs corbaloc e corbaname.
. 24/08: Interfaces do ORB (slides). Referência: Henning & Vinoski, capítulo 7, seções de 7.5 a 7.11. IORs, GIOP e IIOP (slides). Referência: Henning & Vinoski, capítulo 13.
. 29/08: Repositório de implementações e binding (slides). Referência: Henning & Vinoski, capítulo 14. O adaptador de objetos portátil (slides 1 a 20 desta apresentação). Referência: Henning & Vinoski, capítulo 11.
. 31/08: O adaptador de objetos portátil (slides 21 a 35 desta apresentação). Casos de uso para POAs com as várias políticas. Referência: Henning & Vinoski, capítulo 11.
. 12/09: Java RMI: uma visão geral (e bem rápida), comparação com CORBA, a implementação original (RMI sobre JRMP) e a usada em Java EE (RMI sobre IIOP). Monitores de TP: introdução (slides 1 a 7 desta apresentação). Leitura: Alonso, seção 2.3. Matéria adicional sobre o protocolo 2PC (logging e recuperação de falhas) e sobre o padrão XA.
. 14/09: Monitores de TP: continuação (slides 8 a 13 desta apresentação, olhar os restantes em casa). Transações distribuídas envolvendo um só TM (o caso XA puro). Transações distribuídas envolvendo múltiplos TMs (o caso geral de monitores de TP, CORBA OTS e WS-TX): RPC ou RMI com propagação do contexto transacional.
. 19/09: Monitores de TP: final. Propagação do contexto transactional: uso dos padrões de projeto "thread-specific storage" (variáveis ThreadLocal, em Java) e "interceptor" (interceptadores portáteis, em CORBA). Middleware orientado a mensagens. Leitura: Alonso, seções 2.5 e 2.6.
. 21/09: Middleware orientado a mensagens (continuação): filas transactionais. A API Java Message Service (JMS). Referência: especificação do JMS 1.1.
. 26/09: Não houve aula.
. 28/09: Middleware para integração de aplicações: message brokers. Leitura: Alonso, capítulo 3, até o final da seção 3.2.
. 03/10: Primeira prova.
. 05/10: Middleware para integração de aplicações: sistemas de gerenciamento de workflow. Leitura: Alonso, seções 3.3 e 3.4.
. 17/10: Tecnologias de teia: HTTP, servidores web, CGI, servlets. Leitura: Alonso, capítulo 4, até o final da seção 4.2.
. 19/10: Arquiteturas para clientes na teia: applets como clientes remotos, scripts CGI ou servlets como clientes. Servlets: ciclo de vida, requisições e respostas, descritor de implantação, filtros. Gerenciamento de sessões: cookies e reescrita de URLs.
. 24/10: JSP. O problema da coexistência entre conteúdo (HTML) e lógica de apresentação (Java) em JSP. Noções sobre arcabouços MVC voltados para a teia ("Model-2 frameworks").
. 26/10: EJB.
. 31/10: EJB (continuação).
. 07/11: Apresentação do Thadeu Russo sobre JSF.
. 09/11: JPA. Apresentação sobre JPA (não vimos a apresentação completa).
. 21/11: SOAP. Transparências (vimos até a transparência 20 desta apresentação). Conversa sobre REST (Representational State Transfer).
. 23/11: SOAP: opções para estilo de interação (document style ou RPC) e codificação (literal ou SOAP encoded). WSDL, UDDI. Transparências (vimos as transparências 21 a 35 desta apresentação). JMX e JBoss. O modelo do JBoss para componentes de infraestrutura. Referência e apresentação sobre JMX e JBoss (não vimos a apresentação completa).
. 30/11: Segunda prova.

Trabalhos Propostos

. Primeiro exercício-programa. Prazo: até 19 21 de setembro.
. Segundo exercício-programa. Prazo: até 24 31 de outubro.
. Terceiro exercício-programa. Prazo: até 30 de novembro.

Bibliografia

. Gustavo Alonso, Fabio Casati, Harumi Kuno e Vijay Machiraju, Web Services Concepts, Architectures and Applications, Springer-Verlag, 2004.
. Jim Gray e Andreas Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993.
. 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.
. Michi Henning e Steve Vinoski, Advanced CORBA Programming with C++, Addison-Wesley, 1999. ISBN: 0-201-37927-9.
. Richard Monson-Haefel e Bill Burke, Enterprise JavaBeans 3.0, 5th ed., O'Reilly, 2006.
. Rima Patel Sriganesh, Gerald Brose e Micah Silverman, Mastering Enterprise JavaBeans 3.0, Wiley, 2006.


Valid CSS! Valid XHTML 1.0! Last modified: Thu Dec 6 17:25:02 BRST 2007
Francisco Reverbel