Últimas notícias do evento

JSE M1 – H.E. 18/06/08

Postado em Atualizado em

Neste post podemos trocar informações, comentários, sugestões e criticas durante a consultoria. Fiquem a vontade em postar perguntas, duvidas, idéias etc..

Links para leituras:
Aprendendo Java
Curva de Aprendizado Java
Tecnologia Baseada em Especificações

Curva de Aprendizado em Java

Postado em Atualizado em

A “curva do aprendizado” ainda é o grande vilão sobre o aprendizado e a utilização da tecnologias Java. Muitos empresas acabam selecionando erradamente outras tecnologias devido a este fato, como se aprendizado” e “produtividade” fossem requisitos funcionais da aplicação. Não existe dúvidas que ter uma equipe capacitada e produtiva são fatores fundamentais para o sucesso do projeto, mas goste ou não, não fazem parte de requisitos de nenhum sistema. O sistema final deve ser entregue para o cliente na tecnologia que suporte seus “requisitos funcionais e não- funcionais” estabelecido pelo escopo, independentemente da capacidade ou produtividade de uma equipe de TI. Neste post eu gostaria de apontar um dos fatores de peso que cooperam diretamente para essa grande curva de aprendizado:

A tecnologia Java foi completamente concebida em cima de conceitos e técnicas da ENGENHARIA DE SOFTWARE e atualmente tem evoluído o cooperado para o seu desenvolvimento.

O que acontece na maioria dos casos é que o candidato a aprender Java acaba de deparando com um mundo totalmente novo e complexo, devido a falta de uma mínima base de conhecimento sobre o assunto. Ou seja, poderíamos afirmar inversamente que se uma pessoa tem conhecimentos de básicos sobre assuntos relacionados com a ENGENHARIA DE SOFTWARE, com certeza não teria muitas dificuldades para aprender as implementações que as tecnologias java faz da mesma. Fiz uma pesquisa e coloquei abaixo uma lista de 26 conceitos necessárias sobre tópicos da engenharia de software que diretamente ou indiretamente estão relacionado com Java:

1. Conceitos e Programação Orientado a Objetos – OOP
2. Programação Concorrentes – Multithread.
3. Análise e Projeto Orientado a Objetos – OOAD
4. Banco de dados Relacionais – SGDB
5. Banco de dados Orientados e Objetos – SGBDOO
6. Programação Transacional Local e Distribuídas – ACID
7. Linguagem de Modelagem Unificada – UML
8. Frameworks (Intrusivo/Não-Instrusivos)
9. Mapeamento Objeto/Relacional – ORM
10. Arquitetura de Software – Estilos Arquiteturais: Camadas Lógicas Distribuídas
11. Padrões de Projeto
12. Desenvolvimento Baseado em Componentes
13. Injeção de Dependência – IOC
14. Programação Orientada a Aspectos – AOP
15. Programação Baseada em POJOS.
16. Domain Models
17. Domain Drive Design
18. XML
19. AJAX
20. Web Services – WS
21. Simple Object Access Protocol – SOAP
22. Arquitetura Orientadas as Serviços – SOA
23. Web 2.0
24. Rich Internet Applications – RIA
25. Remote Procedure Call – RPC
26. Representational State Transfer – REST

A “dica” seria o seguinte – Antes de entrar na programação em java, o candidato tem que saber o mínimo básico e entender a filosofia do conceito antes de entrar na “programação pesada”.
Boa pesquisa e estudos para todos 😉

Sun Certification Overview

Postado em Atualizado em

O plano de carreira de certificações da Sun Microsystem para a tecnologia java é atualmente composta por 8 provas. Veja aqui o gráfico que apresenta as provas e seus respectivos níveis.

Segue um descritivo resumido das provas:

  1. Sun Certified Java Associate (SCJA) – Específico para a pessoal que atua como “Gerente de Projetos de Software”. Este perfil tem um entendimento geral sobre OOP, as plataformas java, tecnologias java e UML sem se ater a detalhes de implementação deixado para os especialistas.
  2. Sun Certified Java Programmer (SCJP) – Programador profissional da linguagem java.
  3. Sun Certified Java Developer (SCJD) – Especialista em desenvolvimento de aplicativos desktop.
  4. Sun Certified Web Component Developer (SCWCD) – Especialista em desenvolvimento de aplicativos e componentes web.
  5. Sun Certified Business Component Developer (SCBCD) – Especialista em desenvolvimento de componentes/camada de aplicação de negócio distribuídos.
  6. Sun Certified Developer For Java Web Services (SCDJWS) – Especialista em desenvolvimento de aplicações utilizando web services (paradigma SOA).
  7. Sun Certified Mobile Application Developer (SCMAD) – Especialista em desenvolvimento de aplicativos para dispositivos moveis.
  8. Sun Certified Enterprise Architect (SCEA) – Específico para o perfil de “Arquiteto de software”. Acredito que seja a prova mais difícil composta não apenas detalhes gerais das plataformas java , mas também por vários conceitos de engenharia de software.

O foco principal é que não precisa ter todas, apenas invista nas areas que se deseje atuar. Ou seja, torne-se um especialista no setor de atuação. Como por exemplo:

  • Desenvolvedor com perfil Desktop – SCJP e SCJD
  • Desenvolvedor com perfil Web – SCJP e SCWCD
  • Desenvolvedor Web Distribuído – SCJP, SCWCD e SCBCD
  • Desenvolvedor com arquitetura SOA – SCJP, (SCWCD ou SCBCD) e SCDJWS
  • Desenvolvedor para Dispositivo Móveis – SCJP e SCMAD.

A SCJA e SCEA ficam então direcionados para cargos específicos como ja descritos acima, uma vez que estas duas provas são as únicas que não requerem a SCJP como pré-requisito.

O que eu gostaria de dizer para os leitores deste POST é que as certificações da SUN para tecnologia java realmente valem a pena !!! Java foi completamente concebido em cima de conceitos e práticas de engenharias de software. Estudando para uma certificação, o candidato acaba indiretamente assimilando sobre assunto que ele mesmo somente ira perceber após ter realizado a prova. Além de ter o certificado reconhecido mundialmente e novas oportunidade de empregos, a questão chave é que a cabeça acaba sendo voltada para novos universos e horizontes. Somente quem ja fez alguma pode confirmar isso.
Ao longo do meu tempo disponível, estarei criando um post para cada certificação apresentado dicas de matérias, livros, opiniões, experiências, links, simuladores etc.

T+ 🙂

Dependency Injection EJB 3 Card

Postado em Atualizado em

Com EJB 3, a injeção de dependência contribuiu para a simplificação dos acessos ao EJB, entidades persistentes do JPA, recursos como DataSources, objetos JMS e serviços como Times, User Transactions and Web Services. Faça download aqui de um card feito pelo Debu Panda de grande utilidade para ser usado como referência na construção de sistemas com EJB e JPA. Nele vc encontrara todas as metas anotações, suas descrições e xml tags recheados de exemplos.
Neste mesmo site vc pode fazer donwload de outros cards sobre AJAX, Spring, Eclipse e outros..eu particularmente gosto muito de ter estes cards com toda a referências da especificação em mãos….se quiser pode até colocar na parede de sua sala de desenvolvimento 🙂

Apostila JSP Iniciante

Postado em

Apostila de JSP para iniciante muito boa ! vale a pena dar uma conferida. Aconselho a turma do curso de java JEE M1 a dar uma estudada nessa apostila após o conteúdo do JSP, complementando e concretizando alguns conhecimentos.
Veja o link aqui.

Bons estudos a todos.

Provedores de JPA

Postado em Atualizado em

Segue um lista completa de provedores para JPA:

Hibernate – Umas da implementações mais maduras (uma vez que ele foi referência para a criação da especificação), provedor oficial do JBOSS, diversas extensões proprietárias e um bom livro de referência.
TopLink – Implementação da oracle, algumas extensões proprietárias, provedor oficial do GLASSFISH e não tem livro de referência.
OpenJPA – Implementação da ASF, aparenta ser um boa opção uma vez que apache sempre tem disponibilizado bons produtos.
JPox – Implementação da empresa Java Persistent Objects, não popular.
Amber – Implementação não popular.

Se fosse indicar alguma eu não teria dúvida de que a implementação do Hibernate é TOP, uma vez que a empresa tem liderado há algum tempo o mercado relacionado com ORM.

Detone seu SGDB com POJINHOS 🙂 !!

Revista Free Jazz Up – Especial Web Services

Postado em

A revista free de java Jazz Up vem com a publicação do mês de Maio exclusivo apresentando conteúdo sobre Web Services. Vale a pena dar uma conferida.
Boa leitura para todos 🙂