Fale com os autores

autores@arquiteturajava.com.br

Confuso com tantos design patterns, padrões, frameworks e boas práticas?

Arquitetura e Design de Software

- Uma visão sobre a plataforma Java

Previsão de lançamento: Segundo Semestre de 2010

Atualização 04/Novembro:
Mais 4 tópicos completos estão disponíveis. Confira abaixo

Atualização 16/Julho:
Foram disponibilizados para download gratuito 4 tópicos completos do livro como primeira amostra, totalizando 27 páginas. Baixe através dos links no conteúdo e envie seu comentário ou sugestão diretamente aos autores pelo e-mail autores@arquiteturajava.com.br. Cadastre-se também na newsletter da Caelum para receber novas atualizações sobre o livro e receber as novidades da Caelum.
Nota: O conteúdo e a diagramação ainda passarão por mudanças antes da versão final.


Este livro é o fruto do conhecimento de diversos consultores e instrutores da Caelum depois de mais de dois anos ministrando o treinamento de arquitetura e design Java, juntamente com muitas discussões apresentadas no GUJ.com.br e de projetos desenvolvidos pela empresa.

Criar um projeto na plataforma Java é atualmente grande desafio: são centenas de opções de tecnologias que podemos escolher. Expomos aqui o leitor a uma grande quantidade dessas opções, desde a modelagem e design das classes, até a escolha das tecnologias mais adequadas para formar uma arquitetura robusta. O prefácio de Phillip Calçado já deixa bem claro que não há uma arquitetura de caixinha, e de que cada caso deve ser estudado a fundo.

Conceitos de orientação a objetos são revistos, desde os já muito conhecidos, como herança, encapsulamento e uso de interfaces, até o domain driven design, injeção de dependências, más práticas de orientação a objetos e o uso incorreto da herança e dos getters e setters. Os design patterns são apresentados contextualmente, sem estarem jogados como num catálogo. As principais tecnologias Java, assim como os grandes frameworks open source, são discutidos por meio de pequenos códigos e situações. Passa por Servlets, EJB, JMS ao Struts, Spring, Hibernate e muito mais. O uso das tecnologias remotas é amplamente discutido, assim como a escolha do protocolo de troca de informações, seja numa aplicação web ou desktop.

SOA é um dos tópicos abordados, no qual fazemos um grande comparativo entre as diversas formas de implementá-la. Desde os WebServices com WSDL e Soap até o modelo Restful ou ainda transferência por POX ou JSon. Como implementar uma interface rica, gerenciar muito conteúdo e facilitar buscas usando os preceitos da Web 2.0? Existem diversas tecnologias para tal, e veremos o uso de diversas delas, desde o simples AJAX até o uso de componentes JSF ricos e o Adoble Flex. Questões primordiais de segurança são também discutidas.

Topo da pagina

Conheça o conteúdo proposto para esse livro ! * *

  1. Arquitetura pré-pronta de caixinha? Prefácio de Phillip Calçado
  2. Introdução
  3. Plataforma Java
    1. Java como plataforma, não como linguagem (novo)
    2. Gerenciar memória não é simples
    3. Otimizacao prematura é a raiz de todo mal
    4. Tome cuidado com o ciclo de vida de objetos caros
    5. A comunidade Java - do JCP aos fóruns
    6. A linguagem certa para cada tarefa
  4. Tópicos de Orientação a Objetos
    1. Evite herança, favoreça composição
    2. Programe voltado a interface, não a implementação
    3. Favoreça imutabilidade e simplicidade (novo)
    4. Cuidado com o modelo anêmico (novo)
    5. Domain-Driven Design
    6. O Código e a Linguagem Ubíqua
  5. Java avançado
    1. Refletindo seu código
    2. Configurando: anotações e XML
    3. Entendendo o NoSuchMethodError e o ClassLoader hell
    4. Manipulação de bytecode
  6. Design
    1. Baixo acoplamento, alta coesão
    2. Inversão de Controle: Cadê a minha chave de fenda?
    3. Fábricas e o mito do baixo acoplamento
    4. O que preciso para ser IoC-based?
  7. Arquitetura
    1. Camadas e Camadas: a confusão de tiers e layers
    2. Quantos tiers?(novo)
    3. Granularidade correta: Minimize a comunicação entre tiers
    4. Model View Controller
    5. Mensageria assíncrona
    6. Arquitetura contemporânea: do cloud aos bancos não relacionais (novo)
  8. Frameworks e especificações Java
    1. Injeção de dependência
    2. Enterprise Java Beans
    3. JavaServer Faces facilita a criação de interfaces?
    4. Considere usar uma ferramenta de mapeamento objeto relacional (novo)
    5. Logar é melhor que debugar
  9. Serviços e SOA
    1. A burocratização do SOAP vale a pena?
    2. Não escreva XML dentro de XML: não veja XML
    3. Considere um outro protocolo leve
    4. Do REST ao RESTful (novo)
    5. SOA: Same Old Architecture?
  10. Bibliografia

** O conteúdo está sujeito a mudanças

Topo da pagina

Sobre os autores que escreveram este livro !

Fábio Kung

É Engenheiro da Computação pela Escola Politécnica da USP e possui experiência na Alemanha, onde trabalhou com Java para a Web. Palestrante em alguns eventos de tecnologia como o Conexão Java, JustJava, Falando em Java, WebMobile TechWeek, RejectConf e Rails Summit Latin America. Possui as certificações SCJP, SCBCD 5, SCEA 5 e Ruby Certified Programmer Silver. Também participa de alguns projetos opensource como o VRaptor, Waffle, GUJ, Caelum Stella e JettyRails, além de estar bastante envolvido com a comunidade de Ruby no Brasil. Trabalha na Caelum como instrutor, desenvolvedor e consultor.

Guilherme Moreira

Instrutor e consultor pela Caelum, onde foca seu trabalho principalmente com Java desde 2005, com projetos internos e também diretamente nos clientes. Formado em Processamento de Dados pela FATEC-SP possui as certificações de programador (SCJP) e de arquiteto (SCEA 5), escreve artigos para a revista Mundo Java, além de ser responsável por alguns projetos open source da Caelum.

Guilherme Silveira

Especialista em Java para a web e graduando em matemática aplicada na USP, ministrou diversas palestras relacionadas ao tema em eventos e empresas pelo Brasil. Atualmente é commiter do codehaus pelos projetos xstream e waffle, além de participar do VRaptor, iniciativa brasileira. Instrutor pela Caelum, é responsável pelo conteúdo técnico dos cursos.

Nico Steppat

Engenheiro da Computação Aplicada pela Fachhochschule Brandenburg na Alemanha, é instrutor, consultor e desenvolve há cinco anos com Java no Brasil e Alemanha, atuando agora na Caelum com enfoque especial em EJB. Escreve para a revista MundoJava e possui as certificações de programador (SCJP 5), web (SCWCD 1.4), ejb (SCBCD 5) e arquiteto (SCEA 5).

Paulo Silveira

Bacharel e mestre em Ciência da Computação pela USP, possui experiência com desenvolvimento web na Alemanha, passando pelo IBOPE e por dois anos como instrutor da Sun Microsystems. Possui as certificações de programador (SCJP) e de ejb (SCBCD). É o fundador do GUJ.com.br e editor técnico da revista Mundo Java.

Sérgio Lopes

Desenvolvedor Java desde 2002, possui as certificações de programador (SCJP) e arquiteto (SCEA5), é moderador do GUJ e ativo participante da comunidade através de palestras, cursos e artigos. Trabalha com Java para Web e dispositivos móveis, além de ministrar vários cursos na Caelum.

Fale com os autores:
autores@arquiteturajava.com.br

Topo da pagina