Arquitetura e Design de Projetos Java

Hoje em dia são tantos os design patterns, padrões, frameworks e boas práticas, fica confuso tomar uma decisão. Como devemos desenhar nossas classes? Usar herança ou composição? Injeção de dependências? Webservices, RMI ou um simples arquivo XML? JDBC, JPA ou Hibernate? Devo usar EJB? Quando preciso e como faço um cluster?

Depois de um longo preparo da ementa, exercício e de como abordar tantos tópicos, trazemos a público um novo treinamento, o FJ-91, focado em arquitetura e design de projetos Java. O treinamento passa pelo uso correto da orientação a objetos, design de classes (patterns, domain driven design, componentização), frameworks e especificações, além de Web 2.0 e SOA.

Os exercícios são apresentados de uma maneira bem diferente: fazemos checkout de inúmeros projetos construídos para este treinamento, com o objetivo de analisar o código, debater, melhorar, e testar os diferentes frameworks e arquiteturas. Desde exercícios simples como trocar herança por composição, até rodar uma aplicação com EJB em cluster. Além de conhecer muitos dos frameworks e novas tecnologias, o intuito é que as pessoas saiam com uma capacitade crítica aguçada para uma tomada de decisão.

Apesar de não ser o foco, cada capítulo apresenta testes simulados para a certificação Sun Certified Enterprise Architect, e também exercícios de modelagem e debates sobre as decisões tomadas, passando pelas três etapas da SCEA. Apesar dessa certificação ser bem antiga e ter um conteúdo ultrapassado em alguns quesitos, os outros tópicos abordados pelo treinamento estão bem mais próximos do Java EE 5.0, o que o torna qualificado para uma possível atualização da prova.

Ao final do treinamento ainda há um capítulo dedicado a tópicos sobre desenvolvimento e metodologias. Alguns papers clássicos são debatidos, como o Silver Bullet e o Mythical Man Month, além dos testes unitários e de aceitação. Ufa! 40 horas de muito trabalho.

13 Comentários

  1. Carlos (KissDemon GUJ) 01/08/2007 at 16:44 #

    Interessante Paulo. Com certeza esse curso tem muito a agregar.
    Só por curiosidade, quem vai ministrar esse curso?
    []´s Carlos

  2. Paulo Silveira 01/08/2007 at 22:05 #

    Oi Carlos! Eu que vou ministrar esse treinamento, inclusive ja há turma aberta amrcada, além de duas turmas que logo ministraremos em uma empresa.

  3. Antonio Kantek 02/08/2007 at 13:11 #

    Poxa parabens,

    Fiquei com vontade de fazer esse curso!

  4. Daniel Abella 06/08/2007 at 02:08 #

    Curso aparenta ser muito bom, parabéns! Se tivesse um curso desses onde vivo (João Pessoa/PB), já estaria matriculado 😀

  5. Alexandre L. Garcia 22/08/2007 at 08:13 #

    Que tal programar este treinamento aos sábados ?
    Seria muito bom.
    Grato,
    Garcia.

  6. Ricardo 03/09/2007 at 20:39 #

    Oi Paulo,

    o curso parece bem legal, pena que SP fica longe de casa…

    abraço

  7. Rafael 06/01/2008 at 14:20 #

    Olha, estou sofrendo mto com uma busca na WEB e quando achava que tinha tirando uma dúvida, vcs a colocam de volta.
    Acabei de ler em um blog bastante famoso e de confiança que JPA só é a base para a criação de uma implementação e esta sim pode ser usada como uma camada de persistencia. Em outras palavras, o JPA da SUN precisa de um provedor, e a SUN não tem um provedor. Os provedores que conheço são TopLink e Hibernate.
    Agora o que vcs me colocaram nesse tópico para me colocar dúvida: “JDBC, JPA ou Hibernate”. Mas Hibernate não é uma implementação/provedor de JPA? Como eu posso escolher JPA ao invés de Hibernate?
    Por favor… já estou ficando louco!!!
    Obrigado.

  8. Paulo Silveira 06/01/2008 at 14:27 #

    Voce pode escolher por usar o Hibernate diretamente, utilizando a API da sua interface Session, como sempre foi feito antes da existência da JPA, e com isso voce vai pode fazer coisas que a JPA nao possibilita, como usar StatelessSession e a Criteria. Utilizar o Hibernate atraves da API da JPA vai te limitar em alguns recursos, mas você vai ganhar independência de fabricante. Então a questão é analisar esse trade off e escolher o que é melhor pra você.

  9. sobrinho 03/08/2008 at 08:41 #

    Os cursos caelum são sempre de altissimo nivel.
    Mas fiquei bastante curioso de como modelar usando os desenhos da foto 🙂
    Ficou muito legal (não estou discutindo implementação atraves destes desenho o que nem sei c é possivel) e bacana de visualizar.
    Qual o programa grafico utilizado?
    muito obrigado

    abs

  10. Marcao 21/11/2008 at 03:54 #

    Pena que a Caelum nao tem nada aqui por Curitiba….;-(

  11. Izabela 28/04/2011 at 23:00 #

    Boa noite. Me interessei muito no curso. Acho que me ajudará perfeitmente no que estava procurando.
    Porém, ficou uma curiosidade. Qual a metodologia do curso?
    Pergunto pois, há algum tempo, fiz uma academia java em um lugar, e o conteúdo e os exercícios eram todos copiados exatos da apostila. E, lógico, deixou muito a desejar.
    Aguardo contato 🙂

  12. Sérgio Lopes 29/04/2011 at 20:01 #

    Oi Izabela!

    O curso de arquitetura é um curso de bastante discussão em sala. Diferente dos cursos de programação, o objetivo não é tanto ver detalhes de uso de frameworks e APIs, mas sim analisar cenários diferentes de vantagens e desvantagens de cada decisão arquitetural que for necessária no projeto.

    Os exercícios práticos são de diversos tipos. Há exercícios apenas de discussão em sala, exercícios onde vamos analisar o código de algum projeto, alterar esse código para observar algum ponto da arquitetura etc. É bastante interessante, sempre com discussões bem avançadas.

    Sou um dos instrutores do curso. Se quiser dar uma passada aqui na Caelum (estou em SP), podemos conversar melhor sobre o curso. Ou então liga aqui na Caelum SP (5571-2751) e pede para me chamarem.

    Abraços

  13. Adriano Costa 29/08/2011 at 16:21 #

    Ola!

    Sou desenvolvedor .Net!
    Porem , ja fiz curso de Java e sempre tenho interesse em aprender mais sobre Java. Vc acha que eh possivel fazer este curso, porem, sem ter experiencia com JSF, etc.?
    att

Deixe uma resposta