Últimas notícias do evento

Profissionais Java – Programadores X Certificados

Postado em Atualizado em

Vemos que a concorrência no mercado de trabalho faz uma separação cruel dos profissionais atuantes e a grande questão levantada na área de TI é: QUAL A REAL DIFERENÇA ENTRE OS BONS PROFISSIONAIS E OS PROFISSIONAIS CERTIFICADOS JAVA ? Segue minha opinião:

“Imagine a figura de uma pessoa que tem um carro e o usa constantemente. Essa pessoa todos os dias liga o carro, vai e volta ao seu destino, sabe manusear a marcha, coloca água e gasolina, troca o óleo devidamente, enche os pneus mensalmente e as vezes até troca um pneu furado quando o desagradável fato acontece. E quando esta pessoa tenta ligar o carro e ele não funciona ? e quando ele esta dirigindo em uma rua e o carro para de funcionar ? A verdade é que essa pessoa não pode fazer nada ! Ela não tem conhecimento e nem autonomia para detectar ou diagnosticar onde, quando e como o problema ocorreu. Em lado oposto, poderíamos imaginar a figura de um mecânico certificado por uma determinada marca de automóvel que além de usar o carro como a pessoa da figura um, tem o conhecimento completo de como o motor foi montado e de seu funcionamento interno. Este fato já de lhe da autonomia de rapidamente encontrar, diagnosticar e interagir na situação onde quer que ela  aconteça.”

Esta é minha opinião sobre o assunto !! No geral (salvo raras exceções), os profissionais que trabalham com java podem aprender a usar muitas das tecnologias existentes e até chegar implementar bom sistemas em arquiteturas simples. No entanto, nunca terão autonomia completa !! E o que a realidade tem mostrado é que chega um momento que eles não conseguem mais resolver determinadas situações de projetos, evoluir arquiteturas, escalar sistemas (vertical ou horizontal) etcc….precisando desesperadamente de alguem que o faça. Esse fato tem piorado principalmente com a utilização de ferramentas RAD’s e/ou especificações/frameworks que escondem detalhamentos importantes da tecnologia.

Por exemplo: tenho comprovado pelas consultorias que venho ministrado que a maioria dos programadores java não sabem conceitos fundamentais da linguagem como a de igualdade de objetos (equals/hashCode), passagem de parâmetros com/sem referência, utilização e entendimento de características estáticas de um classe/objeto, comportamentos e referências polimórficas etc….Outro exemplo fácil de acontecer são aqueles profissionais java que começam a trabalhar na web (tipo com JSF) sentindo-se inicialmente muito confortável com a especificação de componentes visuais + as ferramentas RAD, CSS supersônicos maravilhosos…porém, quando precisam descer o nível da especificação e operar sobre algum detalhe simples de Servlets/JSP…meu Deus…o mundinho desaba na cabeçaaaaaaa !!!!

Estas situações normalmente não acontecem com profissionais certificados java devido ao fato de que, além de trabalharem com a tecnologia dia a dia., acabam realmente entendendo, digerindo e concretizando conceitos da tecnologia que constroem uma base de conhecimento solida que resulta em uma autônima automática. Por exemplo: é muito comum uma pessoa SCWCD se sentir plenamente confortável com qualquer framework WEB MVC que venha trabalhar em qualquer empresa, independente de qual o seja……a pessoa sabendo a base da especificação Servler/JSP normalmente não terá problemas em se adaptar ou resolver situações de projetos que venham acontecer na ciclo de de vida do determinado software.

Espero que este post venha servir de motivador se caso vc ainda não começou a se especializar. Segue abaixo alguns post para as certificações iniciais em java.

Overview da Cerficações SUN
Java Associate
Java Programmer

O post fica livre para opinião do pessoal ! T+ 😀

JavaServer Faces Links

Postado em Atualizado em

Segue um resumo básico das implementações, kit de componentes visuais/não-visuais e links sobre JSF:

Implementações:
Myfaces – Implementação da Apache Software Fundation.
Mojarra – Implementação da Sun Microsystem (RI)
ADF – Implementação da Oracle.
ICEFaces – Não é exatamente uma implementação, sendo uma extensão sobre alguma implementação alterando o comportamento padrão da mesma. Também possui vários componentes visuais.
Shale – Framework Web baseado em JSF com algumas mudanças.

Kit Componentes:
Apache Tomahawk – Componentes da Apache Software Fundation.
JBoss Ajax4JSF – Componentes que acrescentam funcionalidades AJAX nos componentes padrão da especificação implementado pela JBoss.
JBoss RichFaces – Excelentes componentes da JBoss  (Mais usados atualmente).
Yahoo for JSF – Componentes visuals diversos da Yahoo.
DynaFaces – Componentes que acrescentam funcionalidades AJAX nos componentes padrão da especificação implementado pela da SUN.
Jenia Faces – Vários componentes diferenciados.
Web Galileo Faces – Vários componentes diferenciados.
Mojarra UI – A implementação da SUN tem vários componentes extras interessantes.
RestFaces – Componente que acrescenta funcionalidade de utilizar JSF com envio do submite com HTTP GET e seus detalhes.
GMaps4JSF – Componentes da Google integrando o GoogleMaps com o modelo de JSF.
O melhor de tudo é que vc pode usar todos no mesmo projeto, muito embora não seje necessário.

Diversos:
Referência de livros JSF – Post sobre livros mais badalados.
Reference Card JSF – Cartão de referencia sobre a tecnologia.
Site Oficial – Site oficial do JSF com noticias da especificação, acontecimentos e gerais.
Matrix – Listagem complementa de componentes JSF free e pagos, juntamente com outros componentes RIA e comparações interessantes.

Bom é isso ai, o pessoal fica livre para acrescentar algo relevante nos comentarios do post. T+ 😀

Reference Card Java Core

Postado em

Foi liberado hoje o cartão de referência rápido para a tecnologia java. Este cartão oferece uma visão geral sobre aspectos chaves da linguagem java (palavras reservadas, pacotes) e um panorama resumido das API’s output, collections, regular expressions, logging, properties e as ferramentas basicas do JSE (javac, java, jar). Como sempre, vale a pena imprimir e deixar disponível “ali” quando pintar aquela duvida…sendo ninguem lembra-se de tudo em todo momento. Até a proxima 😉

1º Aplicação Java Blu-ray Disc Plataform

Postado em Atualizado em

Esta é uma boa hora para ser um desenvolvedor java. De acordo com a ultima estatística anunciadas pela JavaOne 2008, existe mais de 6 bilhões de dispositivos habilitados com a maquina virtual Java espalhados pelo mundo. Estes dispositivos variam desde grandes e de larga escalas até um simples cartão dentro de sua carteira. A tecnologia java esta embutidade dentro de bilhões de celulares, bem como os tradicionais computadores desktop“. Veja o 1º artigo de sobre o desenvolvimento de aplicações java para umas das mais novas platataformas Blu-ray Disc Standart Plataform (JME) cobrindo um serie de aspectos de como usar a a linguagem java e a especificação para criar aplicação para Blu-ray disc player, PlayStation 3 gaming console, emuladores etc…

Objetos Transacionais

Postado em Atualizado em

Se você foi como muitas crianças, passou muitos momentos despreocupados no playground, andando de balanço, passando pelas barras do trepa-trepa, ficando tonto ao girar no carrossel e indo para cima e para baixo numa gangorra. O problema dela é que é impossível aproveita-lá sozinho. Veja que na verdade, para realmente usa-la, sempre necessitará de outra pessoa. Você e um amigo têm em concordar em andar na gangorra. Esse acordo, é uma proposição tudo-ou-nada. Ambos têm de andar ou nenhum dos dois ira andar. Se qualquer um de vocês falhar em sentar no seu respectivo lugar em cada ponto do banco, não poderão se divertir – só haverá uma criança senta em uma das pontas triste e imóvel.” – Spring in Action.

Em software, estas operações “tudo-ou-nada” são chamadas Transações que permitem agrupar diversas unidades operacionais numa única unidade de trabalho que ou acontece planamente em sua totalidade, ou não. Segue um resumo de estratégias como podemos implementar objetos transacionais em java:

1. Manual:
1.1 JDBC puro, usando diretamente a implementação da Connection do determinado provedor.
1.2 Propagação da implementação do tópico 1.1 através de hierarquia de super-classes (herança).
1.3 Propagação da implementação do tópico 1.1 usando abordagem atributos estáticos em threads com a classe ThreadLocal.
1.4 Implementação de uma camada DAO usando qualquer abordagem acima sitada – 1.1, 1.2 e 1.3 ou qualquer outra variação.
1.5. Implementação do tópico 1.1 ou 1.4 utilizando o mecanismo do Pattern Proxy [GOF] para controle das transações.
1.6. Utilizando frameworks ORM.

2. Automático
2.1 AOP com AspectJ, acrescentando “advices” de transação em determinados objetos (Java Magazine Edição 60)
2.2 Spring Framework – Usando o módulo de Gerenciamento de Transações.
2.3 Enterprise JavaBeans (Referência de EJB)

O post fica aberto para outras sugestões…
Ótima semana a todos 😉

JDBC – Eterna Bicicleta

Postado em

“Quando eramos criança não era divertido andar de bicicleta ? Íamos de bicicleta para a escola de manhã. Quando a aula terminava, passávamos na casa do nosso melhor amigo. Já era tarde e nossos pais estavam gritando com a gente por ficar na rua até escurecer, quando nos escondíamos em casa a noite. Ahh, aqueles dias divertidos. Então hoje crescemos e passamos a precisar mais do que uma bicicleta. Às vezes, temos de viajar muito longe para trabalhar. Alimentos precisam ser transportados e nossos filhos precisam ir a escolinha de futebol. E se morar no Texas, as condicionado é um dever! Nossas necessidades de agora simplesmente são maiores que nossas bicicletas.
JDBC é a bicicleta do mundo da persistência ! É excelente para o que faz para algumas tarefas funciona bem. Mas, conforme nossas aplicações tornam-se complexas, mais exigências de nossa persistências são exigidas.
Diversos frameworks estão disponível que fornecem este serviço. O nome geral para restes serviços é mapeamento de objeto-relacional (ORM). Usar uma ferramenta ORM pode salvar sua camada de persistência de literalmente escrever milhares de linhas de código e horas de tempo de desenvolvimento evitando que equipe fique focado para as exigências da aplicação.”

Há três semanas venho estudando o livro do Spring in Action e não me contive ao ler esta maravilhosa e espetacular definição motivadora para a utilização de ferramentas ORM feitas pelo autor Craig Walls. E gostaria de registrar aqui que o livro é TOPPPPP ! Não apenas descrevendo os serviços disponíveis por este singular framework java mais também apresentando e ensinando muitos dos preciosos conceitos de engenharia de software motivadores por de tras da justificação do framework. E outra…com muitos outros comentários singulares e alguns muitos divertidos.

Leitura e estudo obrigatório para todo e qualquer desenvolvedor Java (projetista) que deseje dominar e ter algum diferencial em seus projetos.

A paz que excede todo o conhecimento e até a proxima 😉

Reference Card JPA

Postado em Atualizado em

Hoje foi liberado o download do reference card sobre o JPA. Seguindo a mesma linha dos outros….vale a pena obter mais este ótimo material de referência rápido. Faça donwload aqui.