 |
12/08: |
Apresentação. Carga dinâmica de classes em Java. (Halloway,
capítulo 2, até 2.4.2.)
|
 |
15/08: |
Arquitetura de class loaders em Java. "Implantação
quente". Boot classpath, extensions classpath e
classpath. (Halloway, capítulo 2, de 2.4.3 a 2.8.3.) Leitura
recomendada: Liang
e Bracha.
|
 |
19/08: |
O problema da inversão e o context class loader. Run-time type
information (RTTI) em Java. (Halloway, 2.9 e 2.10, mais o início do
capítulo 3, até 3.1.)
|
 |
22/08: |
Reflexão (introspecção) e invocação reflexiva em Java. Proxies
Dinâmicos. (Halloway, 3.2, 3.3 e 3.4.) O "dynamic stub idiom".
(Fleury e Reverbel, seção 3.7.)
|
 |
26/08: |
Exemplo de proxy dinâmico. Observações adicionais sobre o
"dynamic stub idiom". A arquitetura JMX. (Fleury e Reverbel,
seções 1 e 2.)
|
 |
29/08: |
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.)
|
 |
09/09: |
Carga de classes em servidores de aplicação: o esquema
"loader per deployment" e a arquitetura de unified class loaders
do JBoss. Meta-nível de uma arquitetura para EJBs generalizados.
(Fleury e Reverbel, seções 3.5 e 3.6, mais o início da seção 4,
até 4.1.)
|
 |
12/09: |
Meta-nível de uma arquitetura para EJBs generalizados.
(Fleury e Reverbel, seção 4.)
|
 |
16/09: |
A arquitetura EJB: as interfaces home (ou local home) e remote
(ou local), a classe do componente (bean class) e o descritor de
implantação. Exemplo de session bean sem estado. O ciclo de vida
de um session bean sem estado.
|
 |
19/09: |
EJB (continuação): exemplo de cliente de um session bean. Uso da
API JNDI por parte do cliente (para obter uma referência para a
interface home do bean). Exemplo de session bean com
estado. Entity beans: persistência gerenciada pelo container
(CMP) e relacionamentos gerenciados pelo container (CMR).
|
 |
23/09: |
EJB (continuação): gerenciamento de transações.
|
 |
26/09: |
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).
|
 |
30/09: |
Logging e recuperação de falhas (Ramakrishnan e Gehrke, capítulo
20, até 20.2).
|
 |
03/10: |
Conclusão do estudo de logging e recuperação de falhas
(Ramakrishnan e Gehrke, capítulo 20, até 20.2). EJB: as opções
de efetivação (commit options) A, B e C. A "opção D" do JBoss.
|
 |
14/10: |
Transações distribuídas e two-phase commit. (Ramakrishnan e
Gehrke, 21.13). Propagação do contexto transacional.
|
 |
17/10: |
Alternativas para gerenciamento de transações no JBoss.
Nosso segundo exercício-programa: demarcação de transações sobre
IIOP.
|
 |
21/10: |
Detalhes sobre o segundo exercício-programa: os módulos do lado
cliente (biblioteca) e do servidor (service MBean), as
interfaces do OTS que
cada módulo deve implementar, a interação entre o service MBean
e o gerenciador de transações do JBoss.
|
 |
24/10: |
O padrão X/Open DTP (Distributed Transaction Processing) e a
interface XA. A Java
Transaction API (JTA). (As seções B.1 e B.2 da especificação
do OTS contêm um resumo de X/Open DTP e XA e mostram a
relação de XA com OTS e com JTA.)
|
 |
31/10: |
Suporte para IIOP no JBoss: os MBeans CorbaORBService,
CorbaNamingService e IIOPInvoker. Arquitetura do IIOPInvoker.
|
 |
04/11: |
Geração de stubs CORBA para o EP2: como lidar com Throwable e
Exception. Conceitos de bancos de dados orientados a objetos.
Introdução a JDO.
|
 |
07/11: |
Discussão sobre o EP2. JDO e Hibernate.
|
 |
18/11: |
Prova.
|
 |
21/11: |
O Modelo de Componentes CORBA (CCM).
|
 |
25/11: |
Sistemas de middleware: o que poderia/deveria ser melhor (aula
"opinativa").
Seminário: Arquitetura de Plugins do Eclipse (Alexandre Freire da Silva).
|
 |
28/11: |
Seminário: XWork/WebWork2 e PicoContainer (Paulo Silveira)
Seminário: Hibernate (Fernando Kasten Peinado)
|
 |
02/12: |
Seminário: Javassist (Stefan Neusatz Guilhen)
Seminário: Políticas
de Coleta de Lixo Usadas pela JVM da Sun
(Rodrigo Vieira Couto)
|
 |
05/12: |
Seminário: Bibliotecas Dinâmicas para Programação Orientada a Aspectos
(Flávia Rainone)
|
 |
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.
|
 |
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.
|
 |
Richard Monson-Haefel, Enterprise JavaBeans, 3rd
ed., O'Reilly, 2001.
|
 |
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.
|