sexta-feira, junho 30, 2006

Callisto is Here !



Finalmente , alinhado com o lançamento do Eclipse 3.2, saiu o Callisto ! O que é o Callisto ? é um Eclipse com plugins pré instalados:

  • C/C++ Development tools (CDT)
  • Data Tools (DTP)
  • Eclipse Modeling Framework (EMF)
  • Graphical Editing Framework (GEF)
  • Graphical Modeling Framework (GMF)
  • Java Development Tools (JDT)
  • Java EE and Web Tools (WTP)
  • Reporting Tools (BIRT)
  • Test and Performance Tools (TPTP)
  • Visual Editor (VE)
É a resposta da Eclipse Foundation para a popularidade do NetBeans , TODO MUNDO odeia a forma que o Eclipse vem em seu pacote de instalação, nenhum plugin é adicionado , a nao ser o JDT ( EMF e GEF no SDK ) , o Callisto tenta resolver este problema. Em minha humilde opinião acho que é um tiro no pé, e posso explicar por que, simples, vamos comecar pela lista de plugins considerados OBRAS PRIMAS pela comunidade

C/C++ Developement Tools:
Simplesmente uma bela besteira... 90% das pessoas que baixam o eclipse estao atraz do IDE Java (JDT) que ele proporciona e nao de um compilador C++ , acredito que só engorda e como conheco o eleitorado... a maioria das pessoas vão instalar ele full , e esse plugin vai vir "de graça" para engordar mais ainda.

WebTools Project:
O pessoal do WTP até tentou fazer algo facil e funcional para o eclipse , sabendo que o eclipse SEMPRE foi um zero a esquerda em Java EE desde sua versao 1.0. Alguem já testou o WTP ao lado do NetBeans? sem chance. Alem de precisar de 1 GB de ram pra rodar corretamente , não faz metade do que promete , e a outra metade faz "daquele jeito" (pela metade)

TPTP:
Convido aos fãns do TPTP a testar o NetBeans Profiler, e conhecer o que é um profiler descente. TPTP é um belo "quebra galho" se comparado ao NetBeans Profiler

Visual Editor (VE):
Este é o campeão , alem de lento é cheio de Bug. A IBM é campeã em fazer plugins GORDOS e LENTOS que nao server literalmente pra NADA do que se propoem a fazer e logo depois lançar OpenSource , quando será que o pessoal do VE vai sentar com o pessoal do Matisse (IDE Visual do NetBeans para Swing) e perguntar. "Ok, agora vamos fazer algo que funciona... por onde comecaremos ?"

Estes três plugins podem parecer BASICOS para um desenvolvedor java moderno... mas pasmes os senhores... até o lançamento do Callisto eram disponibilizados SEPARADAMENTE , é mole ? Fora que para instalar um plugin no eclipse tem que se fazer algumas macumbas... entao já viu... Acredito que o Callisto acerto em alguns aspectos... mas a propaganda de que "Eclipse é levinho" (questionável) agora é estória, como todos esses plugins voce vai precisar de belos 1GB de ram pra rodar legal...

Uma coisa que tenho que reconhecer é que o pessoal do JDT acertou denovo... o editor de codigo JAVA do eclipse é o MELHOR do mercado... é esperto e rapido... é a unica coisa que o NetBeans ainda está atraz....(mas nao muito)



quarta-feira, junho 28, 2006

Palestras confirmadas !

Minhas palestras foram confirmadas ae vão as datas :

Dia 22/08/2006 às 18:30
Título - "Um passeio pela plataforma Java - Java Is Everywhere"

Dia 24/08/2006 às 18:30
Título - "Velozes e Furiosos - Desmistificando o desenvolvimento de aplicações Enterprise na plataforma Java"

Ambas serão ministradas no Centro Universitário Positivo - UnicenP - Curitiba/PR , no evento "V EACOMP" - Semana da Engenharia da Computação" , convide seus amigos e vamos lá :P

Estarei distribuindo brindes :P

terça-feira, junho 27, 2006

segunda-feira, junho 26, 2006

New Features in NetBeans IDE, part 2 - Improved Code Completion

Mais um artigo das novidades do NetBeans , agora falando sobre code completion...

domingo, junho 25, 2006

Comunidade no Orkut !

Fundei uma comunidade no Orkut para discussao da plataforma Java EE 5 , pois agora comecei um projeto serio usando esta tecnologia e terei muito a oferecer exclarecendo duvidas....

sexta-feira, junho 23, 2006

Trabalhando com Dominios Virtuais no GlassFish

Este artigo demonstra como trabalhar com dominios virtuais no GlassFish , muito interesssante para aquelas pessoas que estao acostumadas a mesclar Aache com Tomcat só por preguissa de aprender como realizar dominios virtuais no mesmo :P


ps: O GlassFish utiliza uma implementacao do Tomcat modificada ( trocaram o suporte de I/O nativo por um suporte totalmente reescrito usando java.nio) chamado Grizzly

quarta-feira, junho 21, 2006

Java EE 5 virou musica :P

Banaca a iniciativa... meio ridicula , admito... mas neste mundo voce morre a nao vê tudo...

The Java EE 5 Music !

Ladies and gentlemen, this is Java EE 5!

One, two, three, four, five
There's a technology I use day and night
For my application with a web frontend
They told me to use .Net
But I really don´t wanna

So many bugs I fixed last week.
My code is neat and talk is a cheap
I like Glassfish, JSF, persistence API
And as I continue you know they´re gettin´ sweeter

So what can I do I really beg you my Lord
To me codin' it´s just like a sport
All the bad code from the past, let me dump it
Please set in the trumpet

A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man

This is Java EE 5!

Jump up and down and move your code around
Shake your head to the sound bury bad code under ground
Move one step left and one step right
One to the front and one to the side
Refactor it once and refactor it twice
If it looks like this you're doin´ it right

A little bit of injection in my life
A little bit of persistence by my side
A little bit of NetBeans is all I need
A little bit of EJB's is what I see
A little bit of standards in the sun
A little bit of XML all night long
A little bit web services here I am
A little bit of code makes me real man

This is Java EE 5!

NetBeans 5.5 Enterprise Pack e UML

Este é um demo de como funciona a parte de UML no NetBeans 5.5 utilizando o Enterprise Pack 5.5 Beta, simplemente emocionante...

Quem usou alguma vez o EclipseUML sabe do que estou falando...

NetBeans e Ajax !

Neste demo é demonstrado o uso do plugin para a biblioyrvs jMaki, ele possibilita trabalhar com ajax com alguns componentes prontos e de forma MUITO simples (e integrada ao NetBeans)... deem uma olhada...

NetBeans 6 mais colorido !

Um artigo demonstrando uma das novidades do NetBeans 6 ( que está por vir ) , neste artigo é demonstrado o novo sistema de cores para os projetos.

NetBeans Mobility Pack Demo

Quem gosta de JME vai achar este demo algo simplemente espetacular... Interessante é ver como
não é um bicho de sete cabeças... Demo bastante completo...

Porque desenolvedores Eclipse estão tentados a ir para o NetBeans ?

Bem , tenho aqui três belos motivos:

Motivo 1
Motivo 2
Motivo 3

Resumindo... a plataforma NetBeans e o IDE NetBeans está evoluindo a passos BEM LARGOS, enquanto as novidades do Eclipse estão sempre amarradas ao "editor de codigo" , Estes tres motivos mostrao bem o intuito do NetBeans em ser o MELHOR IDE JAVA. Hoje NetBeans só não é melhor que o editor de codigo do eclipse , o resto... ganha com uma bela diferenca...

Google Web Toolkit agora com Suporte no NetBeans

Adicionado suporte ao GWT para o NetBeans , vide mais explicações aqui e baixe aqui

domingo, junho 18, 2006

Mais um louco no pário

O pessoal da TMaxSoft conseguiu passar no teste de compatibilidade do JEE 5 , é o segundo container ( depois do GlassFish , R.I. ) a estar na lista de containers certificados pela Sun. Muito interessante saber que o mercado esta respondendo muito rapidamente a implementação do JEE 5 , muitos comentarios são escritos criticando a simplicidade da plataforma JEE 5 ( alguns até com uma certa razão ) , é bom saber que pelo visto são apenas comentarios e não refletem o mercado. Uma coisa que me deixou bastante triste é saber que a JBoss não anda muito empolgada em lançar a versão 5 de seu AS de forma rápida , o que eles tem hoje é um container PESADO e misturado com EJB 3 e um suporte horrível no IDE Eclipse, quando será que eles vão acordar ? A egemonia da JBoss no campo OpenSource está com seus dias contados , containers livres e mais leves que o JBoss estão nascendo de forma incrivel ( JOnAs , GlassFish , etc.. ). Estou testando o GlassFish a cerca de um mês e posso dizer uma coisa , além de mais leve ( MUITO MAIS LEVE ) ele é mais facil de mecher e tem um desempenho melhor que o JBoss , fora a BugTrack que é um show de bola, o pessoal responde MUITO rapidamente as questões/bugs.

What's New in Java SE 6 Beta 2 (Mustang)

Muito se fala em .Net 2.0 no mercado, qual seria a resposta da Sun ? Armada até os dentes a Sun responde com JEE 5 + Java SE 6 + NetBeans 6 , mostrando assim a força da comunidade OpenSource aliada com a interminal lista de adoradores da plataforma Java. O Java SE 6 chega a sua versão beta 2, com várias novidades :

WebServices

Java SE 6 virá com um suporte inovador a WebServices diretamente no CORE ( antes apenas disponivel com WSDP) Geração de aplicações client vão se tornar muito mais faceis , por exemplo, você poderá expor suas api's de forma fácil com uma simples anotação.

Scripting

Java SE 6 tem consigo a implementação da JSR que regulamenta a utilizacao de linguagens de scripting para a plataforma Java , Nesta versão esta esperada implementação da linguagem ECMA Script (JavaScript). JavaScript é apenas uma das linguagens possiveis , caso vc seja um cabeção poderá implementar a sua propria engine ;)

DataBase

Java SE 6 SDK trará o JavaDB inbutido. JavaDB é uma "cópia turbinada" do banco de dados da Apache chamada Derby. Interessante , o driver JDBC já estará incluso tambem , porem apenas no JDK , o JRE continuará sem. Issó é interessante para aquelas horas em que você quer rodar um exemplo e nao tem nenhum DB instalado para isto. Outra coisa empolgante é o JDBC 4.0 , a nova especificação do JDBC deixou tudo muito mais interessante, várias funcionalidades "a lá entity" foram adicionadas, deixando cada vez mais pratica a programação JDBC direta ( o pessoal fã de DAO vai adorar)

Novas API's para Desktop

Splash Screen , Filtros e ordenação com JTable , suporte mais apurado para Drag and Drop, eficiencia da HotSpot Client VM de até 58% superior em apps com Swing e SwingWorker no CORE são apenas alguns exemplos das novidades contidas nesta versão do Java SE.

Uma lista mais apurada pode ser encontrada aqui. O que é o mais interessante é que enquanto .Net tras um monte de baboseiras que TODO MUNDO JÁ VIU e chama isso de NOVIDADE , a plataforma Java chega a sua versão 6 de forma madura e estável, com novidades plausiveis e aprovadas por quem mais entende de software no MUNDO , os desenvolvedores.

sábado, junho 17, 2006

Férias...

Diretamente de salvador , estou curtindo minhas micro-ferias de 2 dias :P , porem estou armado com um notebook e minha instalacao do NetBeans... e por incrivel que pareca... estou trabalhando algumas horas por dia.... EH MOLE ?

quinta-feira, junho 08, 2006

WebBeans !

Aprovado a proposta de Gavin King para a padronização de seus WebBeans ( JBoss Seam Framework , uma mistura de JSF + EJB ) , interessante como o Gavin aprendeu que nao existe aceitação universao sem existir um padrão claro para o mercado...parabens Gavin !

quarta-feira, junho 07, 2006

Why GlassFish ?



Achei um artigo ( talvez o primeiro ) mostrando alguns motivos para você usar GlassFish , confesso que alguns deles são bem forçados... mas no geral até que vale a pena ;D

• GF is an Open Source, Community Based implementation of Java EE 5.
• Java EE 5 is a huge improvement over earlier J2EE versions (J1 Keynotes).
• GF is Production Quality and has very Good Performance.
• GF is delivered in SJS AS 9.0, Java EE 5 SDK, and NetBeans 5.5.
• GF has already affected adoption and is getting analyst attention [1], [2].
• GF is used by other groups like in JEUS 6 Preview from TMaxSoft.
• GF has many goodies, including Java DB and Java Blueprints.
• GF is committed to your favorite framework.
• GF is at the forefront of JPA adoption.
• GF Web Services stack is very good and it is getting better and better.
• GF's Grizzly delivers top Web Tier performance and flexibility.
• GF has Developer Support, Training and more.
• GF supports AJAX and Scripting.
• GF has platform and tool SOA support, including JBI and BPEL.
• GF is used directly for the official Reference Implementation of Java EE 5.
• GF is the code base for the Sun Java System Application Server.
• GF will incorporate the enterprise features available today in SJS AS 8.x.
• Many components are in the Maven Repository; and more soon.
• We are already working on the next releases (more).

segunda-feira, junho 05, 2006

IoC em JSF Custom Validators/Converters

Bem , como todos já sabem , estou brincando de EJB 3 neste ultimo mês , naturalmente descobri algumas coisas empolgantes , outras nem tanto... um coisa meio boba que eu descobri ( e tive a confirmação ) foi que se você tem um validador personalizado ou um conversor personalizado , o IoC do container não vai funcionar, você terá que fazer lookup manualmente , coisa mais besta né ? tá tudo dentro do mesmo container deveria ter da mesma forma...

Bom , fui informado por um pessoal da lista do GlassFish de como "burlar" este problema , funciona legal se você não tiver mais que um validador no campo em questão... o truque consiste em emular um "session bean" passando o bean como validator... ex:

h:inputText value="#{bean.prop}" validator="#{biz.validate}"

public class Biz {

@EJB
private MyLittleLocal localBean;

public void validate(FacesContext, UIComponent, Object)
throws ValidationException {
if (!localBean.bizTest((BizObject) obj)) {
throw new ValidationException(...);
}
}
}

E viva o JEE 5 hehe :P

sexta-feira, junho 02, 2006

Hibernate 3 & EJB 3

Tive alguns probleminhas utilizando o Hibernate 3.2 Cr2 como persistencia para meus Entity Beans 3, bom... o problema não está BEM no hibernate , e sim na nova versão do EhCache Provider ( versao 1.2 ) , ao fazer redeploy de seu app ou de algum outro app no mesmo container que esteja usando entidades , vc vai ter um erro do tipo:
Caused by: javax.persistence.PersistenceException:
org.hibernate.cache.CacheException: Attempt to
restart an already started EhCacheProvider.
Use sessionFactory.close() between repeated calls
to buildSessionFactory. Consider using
net.sf.ehcache.hibernate.SingletonEhCacheProvider.
Error from ehcache was: Cannot parseConfiguration
CacheManager. Attempt to create a new instance of
CacheManager using the diskStorePath "/tmp" which
is already used by an existing CacheManager.


Pois bem , apartir disso nada mais funciona. Até
arrumarem essa desgrama do
EhCache 1.2 eu resolvi o problema trocando ele
por outro provedor de cache mais simples,
vá até seu persistence.xml e adicione esta linha:
property name="hibernate.cache.provider_class"
value="org.hibernate.cache. HashtableCacheProvider"
Agora a coisa toda volta a funcionar , espero que arrumem isso logo...
pois o EhCache é um provider bem completo.

quinta-feira, junho 01, 2006

Resources no JEE 5

Você já deve ter perdido tempo fazendo diversos lookups em resources (JDBC entre outros) , pois bem , com JEE 5 você consegue usar algo chamado IoC , Inverse of Control ( já presente em framework como SpringFramework a ANOS , porem nunca padronizado, e cheio de XML's ) , vc pode fazer que o proprio container JEE insira o objeto diretamente em sua propriedade ( via reflection é CLARO ) , vamos a um exemplo:

Suponhamos que você tenha um resource JDBC chamado "jdbc/ConexaoSistemaUsuarios" e quer usar esta conexao dentro de um bean... normalmente vc precisaria fazer um lookup deste resource e fazer um CAST para DataSource, em JEE 5 fica:

@Resource(name="jdbc/ConexaoSistemaUsuarios")
private DataSource dsUsSys;

Pronto , logo que ouver a criação do seu bean o container vai inserir o resource diretamente na sua propriedade dsUsSys , sem haver a necessidade de codigo de lookup entre outros. Veja outros exemplos:

Resource de JMS
@Resource(name="jms/MinhaQueue")
private Queue minhaQueue;
Resource de Email
@Resource(name="mail/MyMail") 
private javax.mail.Session ms;

Resource de Contexto do EJB
@Resource
javax.ejb.SessionContext ctx
Resource de TimerService
@Resource
javax.ejb.TimerService ts;
O IoC do JEE 5 tem bastante particularidades , veja aqui algo mais completo sobre esse recurso.

Utilizando Hibernate no GlassFish

Bem , como eu havia comentado no post anterior , eu consegui usar o Hibernate no GlassFish de forma muito facil, vou descrever os passos que eu fiz (tutorial traduzido):

  1. Realize o Download e Instale o GlassFish v2 b05 ( ou mais atual , eu testei com o b03)
  2. Realize o Download do Hibernate 3.2Cr2 ( ou mais atual )
  3. Realize o Download do Hibernate EntityManager 3.2Cr2 ( ou mais atual )
  4. Copie os arquivos para o diretorio "lib"do glassfish , este script ajuda você a saber quais arquivos copiar, mas atenção , alguns arquivos podem estar atualizados e você deve copiar na mão aqueles que derem erro no script
  5. Acerte seu arquivo persistence.xml como neste exemplo
  6. Reinicie o GlassFish e faça o redeploy de sua aplicação
Simples não ?