Desenvolvimento de software e tecnologia em geral
Artigos com o marcador Java
SCBCD 5 – Test Status: Pass
02/04/09
Como tinha um voucher vencendo decidi fazer a prova agora no começo de abril, depois de duas semanas me dedicando ao estudo do conteúdo cobrado pela certificação SCBCD 5 – Sun Certified Business Component Developer Java EE Platform 5 e retorno agora de um centro Prometric feliz da vida por ter passado na certificação.
Não tive muito tempo pra me dedicar e estudar tudo sobre a prova, por isso estudei basicamente o conteudo do livro Enterprise Javabeans 3 de Bill Burke & Richard Monson-Haefel. O livro em si tem um bom conteudo, mas nao abrange completamente a prova. Prova disso foi que desconhecia algumas questoes mais teoricas e outras acabei aprendendo no simulado.
O que utilizei para estudar:
- Livro – Enterprise Javabeans 3.
- Simulado – EJBPlus 5
Sobre o livro:
Como disse anteriormente, embora o livro seja bom ele não abrenge todo o conteudo cobrado no exame, pois se você pretende se preparar totalmente para a prova recomendo a leitura da especificao EJB3.
Sobre o simulado:
Realmente este simulado é muito bom, valeu a pena os $29,00 gastos nele e embora eu não consegui utiliza-lo muito, pois realizei apenas 4 testes (iniciei com o score de 54% e no ultimo fiquei com 75%), mas mesmo assim recomendo.
Sobre a prova:
Cairam muitas questoes de transactions, exceptions, session beans (SFSB, SLSB e MDB) e JPA. Interceptors e timers foram muito poucas. Cairam algumas que cobravam um pequeno conhecinhento de tags XML. Security foi bem tranquilo tambem. Uma ultima dica é que treine bastante seu ingles, pois diferente das outras provas que fiz, esta tem questoes com enunciados maiores e uma palavra entendida de forma errada pode fazer voce marcar uma alternativa incorreta.
Agora é descançar um pouco e comemorar a nova conquista!
Descobrindo as exceptions encobertas pelo ADF Faces
28/01/09
Atualmente estou desenvolvendo um sistema utilizando ADF Faces na IDE da Oracle JDeveloper 10.1.3.4 e passei por um problema interessante. Estava ocorrendo um problema na minha aplicação mas não era gerado nenhuma exception no console, onde após determinada ação da aplicação era impresso no console apenas:
15/01/2009 17:32:31 oracle.adf.controller.faces.lifecycle.FacesPageLifecycle addMessage
WARNING: JBO-29000: null
Mensagem muito interessante e muito muito muito explicativa, não acham !?!
Depois de muito pesquisar, acabei encontrando uma forma de exibir o que ocasionou o JBO-29000 e é bem simples de implementar, a idéia principal é sobrescrever o métdo addMessage da classe FacesPageLifecycle e utilizá-la como o novo ADFPhaseListener do projeto.
Primeiro vou extender a classe FacesPageLifecycle e sobrescrever o metodo addMessage para ter o novo comportamento (mostrar a exception):
package br.com.rodrigolazoti.view.adf;
import javax.faces.context.FacesContext;
import oracle.adf.controller.faces.lifecycle.FacesPageLifecycle;
import oracle.binding.AttributeBinding;
public class MyPageLifecycle extends FacesPageLifecycle {
protected void addMessage(FacesContext context, AttributeBinding binding, Throwable error) {
super.addMessage( context, binding, error );
//aqui mostro o erro no console, log4j ou onde preferir
error.printStackTrace();
}
}
Agora eu extendo a classe ADFPhaseListener e retorno a minha classe criada acima ao invés de retorna a FacesPageLifecycle padrão do ADF:
package br.com.rodrigolazoti.view.adf;
import oracle.adf.controller.faces.lifecycle.ADFPhaseListener;
import oracle.adf.controller.v2.lifecycle.PageLifecycle;
public class MyPhaseListener extends ADFPhaseListener {
protected PageLifecycle createPageLifecycle() {
return new MyPageLifecycle();
}
}
Agora basta subistituir o ADFPhaseListener original pelo criado acima no arquivo de configuração do JSF (faces-config.xml):
<pre class="code"><lifecycle> <phase -listener>br.com.rodrigolazoti.view.adf.MyPhaseListener</phase> </lifecycle></pre>
Com isso foi fácil descobrir o motivo da mensagem e o que estava acontecendo de errado na aplicação.
Livro Pojos in Action
14/10/08
Rescentemente terminei a leitura do livro Pojos In Action de Chris Richardson, embora este livro seja de 2006 e utilize em seus exemplos versões antigas de frameworks como Spring 1.23, Hibernate 3.0 e EJB3 (Beta), não consigo deixar de recomendá-lo.
Pois é um ótimo livro para quem procura exemplos de como utilizar estes e alguns outros frameworks, assim como aplicar Test-driven Development (TDD) e alguns patterns no domain model.
Uns dos pontos que mais gostei no livro é a sua explicação sobre domain model, onde ele explica e exemplifica o pattern Facade, Exposed Domain Model e seus prós e contras ao aplicá-los.
Inclusive em muitos pontos do livro pode-se ver referências a padrões explicados no livro Patterns Of Enterprise Application Archittecture de Martin Fowler, na qual já comprei mais ainda não li e assim que concluir a sua leitura, irei dedicar um post exclusivo para este livro.
Últimos comentários