Archive for the ‘Dicas’ Category

Programador JAVA ou Analista de Suporte Infraestrutura

Primeiro você tem que tomar a decisão sobre o que realmente pretende fazer: suporte infraestrutura (instalar/configurar produtos) ou programar.

Eu diria que, indendente da sua escolha, é fundamental o conhecimento dos conceitos envolvidos e que JAVA é um ponto de partida, já que todos os principais produtos da IBM/Oracle são construídos em JAVA.

Quando falamos em especializar em programação, o foco principal é JAVA mesmo. Neste caso, não terá como fugir aos seguintes estudos:

- JAVA SE, esturar o core da linguagem, Orientação a Objetos, etc
- JAVA EE: estudar JSP, JSF, JCA, Design Pattern, etc.

Isso fará com que você tenha conhecimentos sólidos para criar aplicações JAVA para WebSphere, Oracle, JBoss, …

Bom, em muitos casos além de programar pode ser necessário que você mesmo faça as implantações e configurações da sua aplicação nos produtos middleware de destino. Ai neste caso, o ideal é você começar a acessar alguns sites destes fornecedores que são focados para os produtos em questão.

Falando de IBM, esta possui VÁRIOS produtos:

  • Produtos da linha Information Management são focados em armazenamento e análise de dados;
  • Produtos da linha Tivoli são focados em monitoração;
  • Produtos da linha Rational são focados em desenvolvimento e gestão de aplicações;
  • Produtos da linha Lotus são focados em portal/colaboração;
  • Produtos da linha WebSphere são focados em serviços/processos.

Porém, a grande maioria dos produtos utiliza o WAS como base. Portanto, um bom ponto de partida é você começar a se interar nas características técnicas do WAS. Comercialmente, há o WAS 6.x (JEE 4) e o WAS 7 (JEE5).

E não adianta, terá que estudar MUITO e constantemente. Os PDFs sobre WAS passam de 5000 paginas, para você ter uma idéia.

Apenas para completar, BPM/SOA tende a ser o futuro. O conjunto BPM/SOA fará com que tenhamos serviços criados pelas equipes de TI e disponibilizados para as equipes de negócios construírem e gerirem as aplicações com o mínimo de intervenção das equipes de TI. Esse será o cenário.

Boas leituras meus amigos.

Parâmetros em páginas/etiquetas/URLs no Portal IBM

Que o produto IBM WebSphere Portal Server é um dos principais produtos de Portal do mercado, ninguém discute. É um produto que possui muitas características positivas e flexíveis que permitem uma administração e customização bem rápidas.

Mas é claro, que dependendo das necessidades do projeto, muitas customizações podem ser necessárias.

A parte de Gerenciamento de Páginas é muito user-friendly, permitindo criar páginas, etiquetas e URLs muito rapidamente. Para páginas e etiquetas é possível, inclusive, definir um ícone para ser exibido na construção dos menus. Mas por algum motivo, que ainda não descobrir, esse recurso não está disponível para criação de uma URL.
Propriedades da Página - Nova URL
Nem na alteração dos dados.
Propriedades da Página - Editar URL
Bom, não está disponível não quer dizer que não seja possível implementar, e até de forma simples.

Todos esses recursos permitem que façamos a inclusão de parâmetros, que podem ser tratados nos códigos disponíveis na construção do Tema.

Nos códigos do Tema, vê-se o tratamento do parâmetro “com.ibm.portal.PageIcon” e intuitivamente podemos tentar adicionar esse parâmetro com o valor da localidade do ícone. Vejam bem, eu disse TENTAR, pois a tentativa mostrar-se-á impossível.
Adicionando parâmetro com.ibm.portal.PageIcon
O produto não permite que sejam incluídos parâmetros que o texto seja iniciado com “com.ibm.portal”. Bom, então o que precisamos fazer é adicionar um parâmetro com nome diferente, como “com.SUAEMPRESA.PageIcon”.
Adicionando parâmetro com.SUAEMPRESA.PageIcon
Com o parâmetro adicionado, a única coisa que precisamos fazer agora é o tratamento no local onde queiramos exibí-lo.

No Tema do Portal podem existir vários pontos que exibem uma listagem de páginas, como os menus, rodapés, etc. O trecho de código que precisamos encontrar para tratar o parâmetro adicionado é similar ao abaixo.

Object pageIcon = iMetaData.getValue("com.ibm.portal.PageIcon");
if(pageIcon != null){
%>
<img src="<portal-logic:urlFindInTheme file='<%=pageIcon.toString()%>'/>" title="<portal-fmt:title/>" alt="<portal-fmt:title/>" border="0" align="absmiddle"/>
<% }
} else {  %>
<img src="<portal-logic:urlFindInTheme file='icons/page/default.gif'/>" border="0" align="absmiddle"/>
<% } %>

Este trecho de código captura um parâmetro, faz uma validação simples e exibe ou não a imagem. O que precisa ser feito é apenas a adição da linha abaixo antes da validação “if”.

if (pageIcon == null) iMetaData.getValue("com.SUAEMPRESA.PageIcon");

Simples assim.

Esta mesma técnica foi muito útil para apenas ESCONDER uma página da construção do menu. A página continua ativa mas apenas não é exibida no menu. Muito útil.

Otimizar código é ESSENCIAL

Essa semana participei de uma discussão sobre a construção de códigos otimizados.

Qual a melhor forma de se otimizar um código para ganhar desempenho? Escrever o código durante o projeto tentando escrever um código mais eficiente possível ou simplesmente terminar um projeto e depois realizar testes para diagnosticar e otimizar?

Eu diria que a busca por códigos otimizados deve ser constante. Para fazer isso, a melhor maneira é:

  • possuir processos de desenvolvimento de software bem definidos. é importante que todos os membros da equipe estejam alinhados com ela.
  • possuir profissionais experientes nos projetos. Se seu projeto tiver pessoas menos experiêntes, faça um mentoring sempre que possível. Evolua a equipe, para evoluir o projeto;
  • conhecer (as boas e más), praticar e disseminar as boas práticas no desenvolvimento para a equipe;
  • utilizar ferramentas que façam auditoria nos códigos.

Já comece qualquer projeto com todos os recursos disponíveis para você construir códigos otimizados.

Hoje existem várias técnicas e ferramentas que podem auxiliá-lo a respeito.

Utilize ferramentas, como Maven, para centralizar suas rotinas para auditoria de código. Exemplos:

  • O plugin Checkstyle pode ser usado para você verificar se os códigos estão sendo desenvolvidos seguindo os padrões da SUN. Pode ser customizado para atender seus requisitos.
  • O plugin CPD / PMD te apresenta códigos duplicados.
  • O plugin FindBugs te apresenta os possíveis bugs em seus códigos.
  • Faça testes unitários. Veja alguns recursos que você pode usar: JUnit, DBUnit, JMock2, TestNG, JsUnit, JsMock, ….

Esses plugins podem estar contidos em sua IDE ou executados externamente. Se estiverem na IDE, em tempo de codificação, você poderá ter impactos na performance (tenha um bom PC, ok?).

Há vários outros itens que podem ser usados.

Porém, esse é o cenário perfeito, mas que nem sempre é uma verdade. Muitos projetos são vendidos e gerenciados sem prever os testes. INFELIZMENTE e sem tempo para refactoring.

Ajax Captcha com JQuery

Se você está desenvolvendo uma aplicação e gostaria de aumentar a segurança em alguns pontos, pense no uso de Captcha.

A dica de hoje é sobre o Ajax Fancy Captcha: um plugin para JQuery que o ajuda a proteger seu site de spammers.

Esse plugin tem o efeito da imagem abaixo.

Captcha em Ajax com JQuery

Captcha em Ajax com JQuery

Os passos para uso são simples:

1) Crie um DIV com o atributo class igual a “ajax-fc-container”.

2) Adicione o script

 <script type="text/javascript" charset="utf-8"> var borderColor = ""; /* border color hex or left it null if you don't want to change border color*/ var captchaDir = "/captcha" /* path to captcha files */ var url = captchaDir + "/captcha.php" /* this is name of form action */ var formId = "myForm" /* id of your form */ var items = Array("pencil", "scissors", "clock", "heart", "note");  $(function() { $(".ajax-fc-container").captcha();  });  </script> 

3) Defina a variável “captchaDir” para URL completa do seu servidor onde está o plugin do Captcha.

4) Defina a variável “formId” para o mesmo ID do seu formulário.

Acabou.

Inclusive, há uma versão para Wordpress que pode ser encontrada aqui. Para download direto do exemplo, clique aqui.

E para quem ainda não viu, aqui vai o link para ver os 10 piores Captchas do Mundo.

Estou AQUI

Tags
Desafie meu Brute