Transações Distribuídas entre .Net 3.0 e GlassFish
Ao entrar no TheServerSide.com nesta manhã, me deparo com um screencast demonstrando a interação destas duas tecnologias (.Net 3.0 e Java EE, o GlassFish esta usando o projeto WSIT Milestone 4's com suporte a WS-Coordination e WS-AtomicTransactions) dentro de uma aplicação utilizando transação atomica... achei muito interessante e resolvi postar aqui. Uma coisa que me deixa curioso é saber aonde isso tudo vai dar... a Sun está em um esforço tremendo para deixar as duas tecnologias interoperaveis... mas pelo visto só ela hehehe... a Microsoft por outro lado não está nem ae... Nós desenvolvedores ficamos com a melhor parte... pois a interoperabilidade de plataformas é algo que pode ser muito valioso em um futuro breve :P
Seam plugin for NetBeans !
veja só... RIMO !!!!
Então... noticiado no TheServerSide... saiu um plugin do JBossSeam para o NetBeans... o plugin me pareceu bastante completo... Curioso é ver como tem saido bastante plugin para o NetBeans... isso antes era quase que "raro"...
Mais do Mesmo ?
Para rir um pouco... se voce conhece um pouco de Hibernate e já trabalhou com cenários mais complexos do que "insert,delete" voce vai se divertir lendo o anuncio do framework "MentaBeans" veja o topico de discussão aqui !
Acho que este é o ponto alto da discussão... quando o criador do framework diz que "testes são para amadores" e por isso não criou teste unitarios no "MentaBeans"
saoj wrote:
- Testes só é necessário se o seu sistema estiver mal-feito.
- Testes são demorados
- Testes são chatos de se fazer
- Testes geralmente não conseguem testar todos os cenários.
- Testes possuem falso-positivos, ou seja, não acusam problemas mas quando vc coloca em produção dá algum erro.
Acho que este é o ponto alto da discussão... quando o criador do framework diz que "testes são para amadores" e por isso não criou teste unitarios no "MentaBeans"
saoj wrote:
- Testes só é necessário se o seu sistema estiver mal-feito.
- Testes são demorados
- Testes são chatos de se fazer
- Testes geralmente não conseguem testar todos os cenários.
- Testes possuem falso-positivos, ou seja, não acusam problemas mas quando vc coloca em produção dá algum erro.
Conversando com .Net 3.0
Bom , no mundo do desenvolvimento não podemos nos dar ao luxo de apenas utilizar o que nós consideramos o melhor... mas sim temos que ter uma forma de conversar com as tecnologias que o mercado, bem este é o caso do .Net 3.0. Como todos sabemos a Microsoft não está nem aí para padroes e formas de interoperabilidade... ela cria a dela e os outros que "corram atras". Pois bem... sabendo como é importante para o programador Java este tipo de interoperabilidade a Sun criou o Projeto Tango, que visa criar uma camada sob o JAX-WS para conseguir conversar com o .Net 3.0 Framework de forma amigavel e transparente ao programador. Aqui voce pode assistir um ScreenCast demonstrando este framework. Atualmente que eu saiba o Tango está contido dentro do GlassFish e tem um plugin para ele no NetBeans... deem uma olhada... se vc precisa conversar com .Net 3.0 , está aí a solucao de seus problemas !!!!

Orkut em Java !
Aos utilizadores da rede de relacionamento Orkut, em entrevista a Info Online , o sr. "Orkut" conta porque passou de .Net para Java... Se voce utiliza o Orkut acho que já notou que a famosa msg "No donuts for you" e os milhares de links quebrados estão BEM menores e para algumas pessoas como eu que nao uso muito eles simplesmente desapareceram... o que a Microsoft tem a dizer sobre isso ? será que o .Net não é assim tããããão Enterprise ? confira abaixo a entrevista na integra:
"No Brasil, o Orkut Buyukkokten é celebridade. Nos Estados Unidos, na sede do Google, não se pode dizer que a vida dele anda difícil. Depois de trabalhar 80 horas por semana para colocar o Orkut de pé, ele ganhou uma equipe completa e agora só trabalha... algo entre 40 e 50 horas por semana.
Ontem, aqui na Abril, nós conversamos com o Orkut umas duas horas. Ele contou que criou o site de relacionamentos em .Net – gosta particularmente de C# pela rapidez de programação – mas teve de passar para Java por ter a escalabilidade necessária. A passagem de uma tecnologia para a outra durou um ano – daí as 80 horas por semana.
Orkut não demonstra qualquer rigidez em relação às escolhas tecnológicas. Usa Mac, Firefox, Photoshop, Illustrator, Dreamweaver... Engenheiro de software, ele garante que o Google é uma empresa de tecnologia, não de mídia, apesar de ganhar dinheiro com publicidade. Quem dá o tom no Google, diz ele, são os engenheiros. Bom para ele... e talvez para nós também! "
Ontem, aqui na Abril, nós conversamos com o Orkut umas duas horas. Ele contou que criou o site de relacionamentos em .Net – gosta particularmente de C# pela rapidez de programação – mas teve de passar para Java por ter a escalabilidade necessária. A passagem de uma tecnologia para a outra durou um ano – daí as 80 horas por semana.
Orkut não demonstra qualquer rigidez em relação às escolhas tecnológicas. Usa Mac, Firefox, Photoshop, Illustrator, Dreamweaver... Engenheiro de software, ele garante que o Google é uma empresa de tecnologia, não de mídia, apesar de ganhar dinheiro com publicidade. Quem dá o tom no Google, diz ele, são os engenheiros. Bom para ele... e talvez para nós também! "
Debian 4.0 lançado !!!
Aos xiitas de plantão... o Debian 4.0 finalmente saiu hehehe... quem queira baixar pode ir no site do Debian e baixar as ISO's , A grande novidade é o PORTE para AMD64 Final... isso é bem interessante... tendo em vista que processadores com tecnologia 64 bits estão cada vez mais presentes em nosso dia a dia.
Java EE 6
Isso mesmo... mas já ?.
Bom ... como noticiado pelo Blog do Urubatan , existe uma estrada no blog to The Aquarium dizendo que a Sun submeteu a JSR 313 (Java EE 6) para aprovação inicial na JCP.
O que isso faz pensar ? Eu particularmente estou aqui de joelhos virado para MECA e agradecendo a Microsoft e ao .Net... se fossem em outros tempos... a Sun não estaria nem ae para evoluir o Java EE 5... iria deixar parado uns 2 anos... ae lancar outra JSR que levaria mais 2 anos... e veja agora que surpresa !!! Alem de submeter a JSR 313 ela confirma que o GlassFish v3 vai ter a implementacao de referencia... e ainda mais OpenSource...
Acho que isso pode ser encarado como um problema quando falamos de grandes players (HSBC, BB, eBay, etc...) pois fica meio estranho lançar um troco a menos de um ano e já ter uma "eleicao" para um substituto.... Mas como o Urubatan comentou... nao é motivo para desespero... as JSR's constumam ser bem discutidas.... e tem vida quase sempre superior a 2 anos... o problema é que algumas morrem na praia apesar de aprovadas (alguem tem visto o JCache ? heheheh )
Outra coisa interessante foi a "wish list" do Gavin King sobre o Java EE 6 , achei muita coisa legal... tem um topico de discussão no GUJ... acho que vale a pena dar uma lida e emitir a sua opinião.
JHat - Analisando a Heap
Você nunca teve aquele problema de Out Of Memory e perguntou-se "Puts... o que tem tanto nessa heap que esta me causando problemas ?" Pois bem... se voce não tiver um bom profiler em mãos... o Java SE 6 vem com um utilitario que faz dump da heap e outro que expoem os objetos dentro dela... é o jmap e o jhat !!! Experimente .....
Carregue seu programa na meoria e descubra qual a PID que ele se encontra rodando...
Use o jmap para gerar um HEAP DUMP:
C:\Arquivos de programas\Java\jdk1.6.0\bin>jmap -dump:format=b,file=heap.bin 2316
Dumping heap to C:\Arquivos de programas\Java\jdk1.6.0\bin\heap.bin ...
Heap dump file created
Depois use o jhat para vizualisar:
C:\Arquivos de programas\Java\jdk1.6.0\bin>jhat heap.bin
Reading from heap.bin...
Dump file created Mon Apr 02 15:07:00 BRT 2007
Snapshot read, resolving...
Resolving 179216 objects...
Chasing references, expect 35 dots...................................
Eliminating duplicate references...................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
Pronto agora é só ir em http://localhost:7000 e fazer a festa ;) muito util ! Existem informações ali do arco da velha... hehehe
Outra coisa bem interessante é que voce pode navegar na heap usando linguagem SQL... um tal de OQL... acesse
http://localhost:7000/oql/
e digite por e:
select s from java.lang.String s where s.count > 100
E vai perceber o poder dessa ferramenta ;) some help ?
Aqui tem mais sobre o OQL
caso voce precise que a JVM faça o dump na hora que ocorrer um OutOffMemory... rode ela com a opcao :
Carregue seu programa na meoria e descubra qual a PID que ele se encontra rodando...
Use o jmap para gerar um HEAP DUMP:
C:\Arquivos de programas\Java\jdk1.6.0\bin>jmap -dump:format=b,file=heap.bin 2316
Dumping heap to C:\Arquivos de programas\Java\jdk1.6.0\bin\heap.bin ...
Heap dump file created
Depois use o jhat para vizualisar:
C:\Arquivos de programas\Java\jdk1.6.0\bin>jhat heap.bin
Reading from heap.bin...
Dump file created Mon Apr 02 15:07:00 BRT 2007
Snapshot read, resolving...
Resolving 179216 objects...
Chasing references, expect 35 dots...................................
Eliminating duplicate references...................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
Pronto agora é só ir em http://localhost:7000 e fazer a festa ;) muito util ! Existem informações ali do arco da velha... hehehe
Outra coisa bem interessante é que voce pode navegar na heap usando linguagem SQL... um tal de OQL... acesse
http://localhost:7000/oql/
e digite por e:
select s from java.lang.String s where s.count > 100
E vai perceber o poder dessa ferramenta ;) some help ?
Aqui tem mais sobre o OQL
caso voce precise que a JVM faça o dump na hora que ocorrer um OutOffMemory... rode ela com a opcao :
-XX:+HeapDumpOnOutOfMemoryError
Pre-JCP-filed draft for JavaServer Faces 2.0 JSR
Ainda existe vida para o JSF
Aos incrédulos quanto a continuidade do JSF, cá está o pre-draft do JSF 2.0 , muitas coisas interessantes... a total aniquilação do faces-config.xml (config per exception) uso de templates, FINALMENTE voce vai poder deixar no seu bookmark uma URL de um sistema feito em faces hehehe, uso de AJAX diretamente no CORE e hotdeployment de componentes... , baixe e de uma conferida...
O legal de voce estar dentro de padroes especificados pela JCP é que normalmente eles tem uma certa atualização... e sempre baseando-se no mercado , alguns podem dizer que demora muuuuuito... e eu concordo... demora pra kct... MAS se for pensar na quantidade de dinheiro que vai ser investido em cima de uma JSR (vide Java EE 5) , é de se pensar se esse "tempo todo" chega a ser uma aliado... garantido compatibilidade retroativa (na maioria dos casos) e sempre focando no que existe de melhor no mercado, tem nego falando em Java EE 6... isso deve fazer empresas maiores tremerem na base.... imagina... nem saiu direito o 5 já vem o 6 ? tá parecendo o .Net... que fez um estardalhaço no 2.0 e no 3.0 ninguem nao tah nem ae.... é muito pouco tempo para absorver uma tecnologia... utiliza-la e fazer com que ela cumpra o retorno prometido...
Outra coisa que tenho visto... que a JCP vem sendo bastante COPIONA.... ela tah adorando copiar frameworks do mercado e "padroniza-los"... eu por enquanto tenho achado isso muito bom... espero que ela sempre se espelhe em frameworks bons... quem nao se lembra da briga "Hibernate vs JDO" na JCP ? hehehe...
O legal de voce estar dentro de padroes especificados pela JCP é que normalmente eles tem uma certa atualização... e sempre baseando-se no mercado , alguns podem dizer que demora muuuuuito... e eu concordo... demora pra kct... MAS se for pensar na quantidade de dinheiro que vai ser investido em cima de uma JSR (vide Java EE 5) , é de se pensar se esse "tempo todo" chega a ser uma aliado... garantido compatibilidade retroativa (na maioria dos casos) e sempre focando no que existe de melhor no mercado, tem nego falando em Java EE 6... isso deve fazer empresas maiores tremerem na base.... imagina... nem saiu direito o 5 já vem o 6 ? tá parecendo o .Net... que fez um estardalhaço no 2.0 e no 3.0 ninguem nao tah nem ae.... é muito pouco tempo para absorver uma tecnologia... utiliza-la e fazer com que ela cumpra o retorno prometido...
Outra coisa que tenho visto... que a JCP vem sendo bastante COPIONA.... ela tah adorando copiar frameworks do mercado e "padroniza-los"... eu por enquanto tenho achado isso muito bom... espero que ela sempre se espelhe em frameworks bons... quem nao se lembra da briga "Hibernate vs JDO" na JCP ? hehehe...