h1

OCWCD 5 Guia de Estudos

dezembro 19, 2011

Pessoal, deixei o blog de lado por um bom período devido a várias mudanças, acontecimentos e estudos. Bom retornando a rotina, o post que irei publicar hoje é sobre a Certificação SCWCD 1.5 (ou OCWCD 1.5) que obtive na semana passada com um score de 86%.
Essa certificação, atualmente realizada pela PearsonVUE, segue os mesmos padrões de antes da Prometric.

De acordo com a prova que fiz, minha dica é aprender os seguintes tópicos:

  • Design Patterns;
  • TagFile;
  • Utilização dos listeners;
  • Conhecimento da API ServletRequest, ServletResponse e o HTTP;
  • Uso de Autenticações Declarativas e Segurança;
  • Uso de TagLib (Simple Tags, Classic Tag, Custom Tags);
  • Diferenças entre SimpleTag e ClassicTag;
  • EL Expressions (acessando Maps, Bean, pageContext);
  • Tags JSTL Standard e Custom(c:import, c:include, c:url, jsp:include);
  • Acesso a arquivos na estrutura do WAR.

Sobre o que estudar, eu recomendo o livro Head First JSP & Servlet (eu estudei com o da versão JEE1.4) e o SCWCD Study Companion
Já os mocks estudei por versões trials de JWebPlus e Whizlabs, e também por um que ganhei da própria PearsonVUE feito online pelo site. Além dos teste que estão nos livros.

Abaixo relacionei alguns links externos úteis:
Anotacoes OCWCD5
Resumo Head First
Dicas do Exame
Material de Estudo

Qualquer dúvida, podem entrar em contato comigo.
Um abraço a todos e boas festas!

h1

Problema com Clientgen BEA Weblogic

maio 31, 2011

Hoje, ao tentar gerar Stubs de um serviço (WebServices) pelo clientgen do Workshop 10.3.3 me deparei com o seguinte problema:

O problema
Ao tentar executar um o build.xml do clientgen de determinado projeto WebServices obtive a seguinte exceção:
taskdef class weblogic.wsee.tools.anttasks.ClientGenTask cannot be found

Ao pesquisar pelo problema, descobri que era devido a ausência de alguns JARs no Ant Home da ferramenta em questão (BEA Workshop 10.X).

A solução
Para resolver o problema é bem simples, basta seguir os passos abaixo:
1) Dentro do BEA Workshop 10.X entre em: MenuBar > Window > Preferences > Ant > Runtime
2) Em seguida selecionar a Aba Classpath > Ant Home Entries (Default)
3) Clique em Add External JARs
4) Adicione os seguintes JARs (weblogic.jar, webserviceclient.jar, wseeclient.jar) que podem ser encontrados na instalação do BEA em %BEA_HOME%\wlserver10.3.3\server\lib
5) Após adicioná-los, selecione os três JARs que foram incluídos e coloque-os no topo da lista clicando no botão UP

Pronto, em seguida basta executar novamente o arquivo de build do clientgen.

h1

Problemas com JBoss 5.1 no Eclipse

outubro 14, 2010

Há algum tempo passei por um problema tentando executar o JBoss 5.1 a partir do Eclipse, e gostaria de compartilhar com vocês.
Ao tentar executar o servidor a partir do Eclipse eu recebia a seguinte exceção no console:

DEPLOYMENTS IN ERROR:
Deployment “AttachmentStore” is in error due to: java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]

Depois de procurar um pouco, vi que este erro não é muito recente e é ocasionado devido a um problema no profile do JBoss que por sua vez já foi corrigido na versão 6.0 do mesmo.
A resolução desse problema é bem simples, basta editar o arquivo localizado em: $JBOSS_HOME/server/[all | default | minimal | standard | web]/conf/bootstrap/profile.xml
E procurar pela linha com as seguintes informações:
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore"\>
<constructor><parameter><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>
// Restante do código...

Em seguida altere por essas linhas abaixo:
<bean name="AttachmentStore" class="org.jboss.system.server.profileservice.repository.AbstractAttachmentStore">
<constructor><parameter class="java.io.File"><inject bean="BootstrapProfileFactory" property="attachmentStoreRoot" /></parameter></constructor>
// Restante do código...

Pronto, agora é só iniciar o JBoss novamente e problema será solucionado.

Mais informações sobre esse problema, pode ser encontrado nos links abaixo:
Jira
JBoss Lists

Atte,
Wilson

h1

Novidades nas Collections Java 6

janeiro 14, 2010

Na ultima versão do Java 6, foi anunciado a adição de novas interfaces para as Collections, são elas:

  • NavigableMap
  • NavigableSet
  • ConcurrentNavigableMap
  • Deque
  • BlockingDeque

NavigableMap, ConcurrentNavigableMap e NavigableSet
NavigableMap – é uma estenção de SortedMap, com métodos de navegação para retornar o mais próximo target encontrado para determinadas pesquisa;
NavigableSet – é uma estenção de NavigableSet, com métodos de navegação para retornar informações do mais próximo target encontrado para determinadas pesquisa;
ConcurrentNavigableMap - a classe que implementa a ConcurrentNavigableMap é a ConcurrentSkipListMap que é uma forma lista encadeada ordenada que mantém listas paralelas para acelerar o tempo de busca. O mapa é classificado de acordo com a ordenação natural suas chaves, mas se você quiser a sua própria ordem de classificação, então precisa implementar a interface Comparator e fornecer essa implementação para o mapa, no momento da criação.

Deque
Deque é uma combinação duas estruturas (Fila e Pilha), ou seja, o Deque pode ser usado tanto como uma fila (FIFO) quanto como uma pilha (LIFO).
As classes que implementam a interface Deque em Java 6 são LinkedList, LinkedBlockingDeque, ArrayDeque. O LinkedList teve que ser re-escrito para implementar interface Deque.
Qualquer implementação do Deque não permite que a inserção de elementos nulos, porque null é utilizado como um valor de retorno por vários métodos indicando a coleção está vazia.

Fila (que suporta a adição de um lado e remoção do outro lado);
Pilha (que suporta adição e remoção de um único lado);

BlockingDeque
O BlockingDeque, é um Deque que suporta operações de bloqueio e aguarda para que o espaço se torne disponível no Deque ao armazenar um elemento. BlockingDeque é parte do pacote java.util.concurrent que nos poupou de lidar com os métodos wait, notify e notifyAll. Assim como o Deque, ele também não permite elementos nulos.

Para mais informações a respeito das Collections, acesse este site.

Atte,
Wilson Bissi

h1

Gerando um arquivo JKS

janeiro 12, 2010

Com a disponibilização de diversos serviços web que repartições públicas fornecem para consulta/envio de dados, muitos desenvolvedores atualmente deve ter trabalhado com algum projeto do tipo.

Para gerar o arquivo JKS, que muitos sistemas usam para se comunicarem com os webservices da SEFAZ, basta executar os seguintes passos:

1 – Baixar o arquivo http://acraiz.icpbrasil.gov.br/CertificadoACRaiz.crt usando o navegado Internet Explorer;
2 – Executar o seguinte comando no prompt do DOS (cmd):
C:\>keytool -import -alias nfe -keystore nome_arquivo.jks -file C:\CertificadoACRaiz.cer
e digitar alguma senha e responder /yes/ na pergunta que aparecerá em seguida.

Esse post explica de forma simples como gerar o arquivo, para obter maiores detalhes a respeito o GUJ oferece um artigo mais detalhado aqui.

Atte,
Wilson Bissi

h1

JBoss 4.2.x rodando com JDK 1.6

outubro 8, 2009

Muitos se deparam com um problema ao tentar executar o servidor de aplicações JBoss nas versões 4.2.x com a versão da JDK1.6.x, onde é lançado algumas exceções. Isso ocorre devido a incompatibilidade com das bibliotecas de webservices.
Para corrigir esse problema é necessário seguir os seguintes passos:

1) Copie as seguintes bibliotecas da pasta %JBOSS_HOME%\client

  1. jaxb-api.jar
  2. jboss-jaxrpc.jar
  3. jboss-jaxws.jar
  4. jboss-jaxws-ext.jar
  5. jboss-saaj.jar

2) Cole as bibliotecas copiadas na pasta %JBOSS_HOME%\lib\endorsed

E pronto agora é só dar um restart no server que já estará funcionado.

Na versão do JBoss 5 as bibliotecas que deverão ser alteradas são as seguintes, segundo a edição 69 da revista Java Magazine:

  1. jbossws-native-jaxrpc.jar
  2. jbossws-native-jaxws.jar
  3. jbossws-native-jaxws-ext.jar
  4. jbossws-native-saaj.jar

* Isso é válido para as versões do JBoss compilados com JDK 1.5 que são executados utilizando JDK 1.6

Atte,
Wilson Bissi

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.