A Idéia de propor uma nova versão desse exame foi muito legal, até porque a outra já estava desatualizada.
Devido o exame ser Beta, tendo a SUN como objetivo avaliar o conteúdo para aplicar na versão oficial, o trabalho para quem se submete ao exame é bem maior.
Na primeira parte, respondi um simulado com 154 questões, dentre essas questões cairam itens variados, tipo:
- Escolha dentre JSF, JSP e Taglibs, Somente JSP, para uma solução na camada de apresentação
- Design patterns
- Escolha entre EJB, JPA, outro ORM, ou JDBC.
- Sobre o JSF lifecycle
- Algumas coisas sobre a especificação WS, como o velho JAX-RPC, o JAX-WS, WSDL, UDDI e SAAJ.
- Perguntas básicas sobre SOA, nada muito pesado.
- Segurança (cross-scripting, DoS, applet sandbox)
- E outras coisas que não me lembro agora.
Infelizmente eu não estudei para essa prova, devido a questão de tempo, fiz com que eu sabia mesmo, mas indicaria:
Core J2EE Design Patterns
Core JSF
Um pouco de especificação JSP & Servlet
Ler alguns papers sobre SOA ajuda também.
Na segunda parte, o projeto não foi tão simples, mas não é nada do outro mundo.
Dica:
- Leia, releia, releia, leia e releia o assignment.
- Tente abstrair e identificar o máximo de componentes.
- Para quem já trabalha com arquitetura o trabalho é mais simples.
No meu assignment (embora não possa dizer o título), tive que elaborar uma solução para um projeto web, onde foram solicitados os seguintes itens:
-
1 Diagrama de classes, onde eu utilizei somente associações, extensões do modelo e cardinalidades com um total de 26 classes (incluindo as do assignment);
-
1 Diagrama de Componentes (para mim a parte que deu mais trabalho), apresentei os elementos da minha arquitetura usando bastante Design Patterns:
Presentation Tier
- JSP (que embora não seja um design pattern, justifiquei na parte 3 como a view de entrada de dados)
- Application Controller
- Object Context
- Front Controller
- View Helper
Business Tier
- Business Delegate
- Application Service
- Business Object
- Transfer Object
Integration Tier
- Web Service Broker
- Não utilizei DAO (não achei necessário)
Coloquei um componente estereotipado como << External Tool >>, para atender a um requisito do meu projeto.
No total, identifiquei em torno de 40-45 componentes e interfaces nesse diagrama.
-
4 Diagramas de Sequencia
Depois que você identifica todos os elementos de sua arquitetura, basta somente juntá-los seguindo o fluxo dos casos de uso descritos no assignment (a parte fácil).
No meu assignment vieram 2 casos de uso, com o mesmo fluxo, eu só fiz replicar o diagrama e enviei um e-mail para a SUN informando o erro. Quando eles me responderam já era tarde, eu já havia enviado o projeto.
-
1 Diagrama de Implantação (Deployment Diagram)
Descrevi os elementos do ambiente com os seguintes nós: Web Client, Web Server, Application Server e o Database Server, tive o cuidado de informar o que estaria instalado em cada um desses, e quais os protocolos de comunicação entre eles.
-
e finalmente, 1 Lista de Riscos
Quando disse acima: “leia, releia…”, foi porque você deve identificar quais as falhas e riscos desse projeto, informando quais as soluções adequadas para cada situação.
Se depois disso tudo você ainda estiver disposto a elaborar um relatório sobre o seu projeto para enviar aos caras, sinta-se à vontade (eu não o fiz), isso pode te ajudar na parte 3, que é simplesmente justificar as decisões que você tomou em seu projeto.
A parte 3, são perguntas genéricas, não é relacionado exclusivamente ao seu projeto, onde você deve justificar, por que? onde? e quando você tomou uma determinada decisão na sua solução.
Meu tempo total para o assignment foi de 36 horas, isso varia de acordo com a experiência individual.
Espero ter sido claro, assim que receber os scores coloco nessa thread.
Abraços e boa sorte.
Anderson Fonseca
SCJA, SCJP, SCBCD, SCWCD, SCDJWS, SCEA (I), SCEA5 (I,II,III)