RSS RSS feed | Atom Atom feed

Gráfico da curva de utilidade de um software




Precisa dizer mais alguma coisa ?



NetBeans 6.0 - Novidades #7





Dando continuidade , mais uma novidade !!!!

Suporte a Beans Binding - JSR 295

Provavelmente por ser lider desta JSR o novo NetBeans já vem com suporte ao rascunho da mesma... que por sinal, por si só é meio chatinha de lidar.... mas com o suporte da IDE fica simplesmente mágico construir aplicações Desktop... neste post vou tentar passar uma maneira de fazer uma coisa simples , porem "desafiadora" em Swing... uma app que lista dados em uma JTable e faz atualização das mesmas nos edits dos campos...

Vejamos abaixo , a classe que vai ser populada na JTable... a tradicional e divertida CLASSE PESSOA !!!! hehee:




Após criar um JForm eu vou adicionar um um componente para guardar essas minhas "pessoas" e o escolhido foi.... foi..... UMA LISTA EH CLARO !!!!! para tal eu coloco ele na parte other components do meu FrameTeste , assim eu ganho o gerenciamento do matisse quanto a criacao e declaracao de codigo.



Aqui eu coloco qual "bean" quero adicionar em "Other Components"



Veja, ele adiciona o list1 , e é ele que vai deter a lista de pessoas da nossa JTable !



Nas propriedades da list1 eu vou parametrizar ela para uma lista de Pessoas , ou seja List<Pessoa>, Delphi Style não ?




Após isso eu defino a forma de inicialização (criação) desta minha lista , eu escolhi usar um ArrayList ;)



Obviamente , ArrayList não está importada... então aqui podemos ver alguns melhoramentos do editor de codigo... outra coisa interessante , veja que o netbeans está gerenciando um codigo "pessoal" meu... deixando ele travado e recriando a medida do necessario quando existem alteracoes... bem legal... o matisse novo está bem mais tranquilo quanto a a isso:





Agora vou "popular" esta lista... pois senao não vai ter nenhum dado em tela... ae não vale né ? então eu fiz um "forzinho" para criar 10 Dyegos e adicionar eles a lista list1<Pessoa>... note que eu usei a propriedade "Post-Creation Code" da lista list1 , isso porque vou querer que fique gerenciado pelo netbeans tambem:




Agora beleza , tenho uma lista de pessoas que tem 10 Dyegos e quero jogar na JTable... entao é bem simples... primeiro jogo a minha Jtable dentro do meu JForm e com o botão direito escolho "Bind->Elements". Lembrando que esta é uma JTable NORMAL... nao tem nada de uma JTable extendida do NetBeans... a JSR 295 se adapta aos componentes padroes... e isso eh nota 10 !



Aqui eu seleciono a fonte dos dados... pode ser até uma conexao com o banco de dados (ae o netbeans cria toda a estrutura da JPA) , mas neste caso , vamos selecionar a nossa list1 !



Após a seleção , veja que as propriedades da nossa classe pessoa aparecem... qual é  a mágina ? Lembra da List<Pessoa> pois eh... esse <Pessoa> diz muito ao NetBeans... ehehe... note que estamos apenas clicando e selecionando... muito pouco codigo digitado... por enquanto APENAS O OBVIO foi realmente codificado manualmente...



Nas propriedades avançadas... note ali que a sincronia entre a TELA e os POJOS dentro da lista list1 é totalmente feita automatica e voce pode definir este modo... veja os conversores e os validadores... todos estes gerenciados pela JSR 295... é praticamente um JSF para Swing... e é nesse ponto que afirmo... note como a JSR 295 não te prende a IDE... isso NADA é feito pelo NetBeans, ele usa tudo da JSR 295... entao... funciona em qualquer IDE... o que ele faz MESMO é dar SUPORTE a esta JSR... o resto é só alegria :)




Ao apertar OK minha Jtable fica com uma cara bem legal :)





Agora eu adiciono dois JTextFields um para o nome outro para a idade... e vou fazer a magica novamente... "Bind->Text" !


Agora eu digo que o texto VEM da JTable1 (que jah recebe list1) e que eu quero o "Elemento selecionado em tela" , propriedade Nome... puts... que complicado né ? melhor eh ficar ponto Listener...(estou sendo sarcastico)



As propriedades do JTextField são praticamente as mesmas... note o "Always sync (read/write)" , muito 10... voce pode alterar no edit... que ele vai atualizar o modelo e que por sis só atualiza o Pojo....



Claro que alguns incrédulos podem falar "muito preso" , note como a edição do modelo é aberta... nome de colunas , renderer , etc... etc... lembrando que é um componente PADRAO do Swing e não algo extendido:



Por final... é dar um "run" e pronto... ai está nossa aplicação de exemplo !!!! SHOW DE BOLA !




Uma coisa interessante que deve ser observada, é que nada disso é "mágico" , é codigo de tela gerado pelo NetBeans seguindo a spec do JSR 296... e qual a vantagem dessa salada toda ser "gerencidada" por ele ? simples... a JSR 295 esta em constante mudanca... e se as regras do jogo mudarem... o NetBEans vai ser capaz de gerar novamente o codigo no novo padrão que for definido... apenas abrindo e fechando o form ( lembrando que o netbeans guarda tudo como metadata no .form e o codigo travado é gerado denovo a todo momento ).

Definitivamente PONTO para o NetBeans !

CRUDFx

Aos incrédulos (como eu) sobre os rumos do JafaFX , aqui está uma aplicação de exemplo  (sim... eh dificil de acessar , reclame com o google e nao comigo) de funcionamento desta tecnologia....

Depois da Microsoft anunciar que o SilverLight 1.1 vai ser um "mini monstro" incluindo uma "CLR capada".. a Sun resolve dar um apoio maior ao seu "vaporware" o Java FX,,,

Eu particularmente acho que esse negocio de RIA é piada... eh uma APP com um SKIN LINDÃO... só isso... um bando de "controle ACTIVEX" disfarcados de "Aplicação WEB" , veja o Flex... um elefante branco... tudo isso para voce carregar um SWF enorme e gigantesco rodando dentro do browser... em java fazemos isso desde 1998, rodamos qualquer programa como applet...

Sei lá , acho essa modinha de "tudo para web" esta se resumindo a um "runtime gordo e capado" rodando dentro de um browser... e que só roda no windows (no caso do silverlight e do Flex)... GRAAAAAAAAAAAANDE vatagem hein ? prefiro usar Java Web Start e baixar o cliente OU fazer o cara baixar direto mesmo...

Acho que está se fechando um ciclo... em 1996 TUDO ERA HTML... ae o pessoal viu que não é bem assim... voltamos para os clientes "desktop" , agora estamos todo mundo se desbandando para web (sem nem mesmo saber porque) e em breve teremos muito do que se fala "revolucionario" rodando no desktop como se fosse app offline... duvida ? Google Gears... Adobe AIR.... Silverlight....

Web é bão... mas para sistemas completos... ainda acho utopia, estamos bem longe da usabilidade de um sistema desktop...

Java conversando com .Net

Nesta demo é demonstrado a conversa entre o "Excel 2007 , .Net 3.0 e GlassFish v2" , muito legal... o projeto que possibilita isso é o WSIT ( antigo Tango ) , muito legal para quem quer ter a certeza que Java conversa com tudo e todos.



NetBeans 6.0 - Novidades #6





Esta novidade eu já tinha postado... e merece ser re-postada...

Melhoramentos no Editor de Código !


http://www.go-java.com/blog/2007/06/29/1183126146068.html



NetBeans 6.0 - Novidades #5





Mais uma novidade ! Configurações personalizadas de execução !

Configurações personalizadas de execução

Acho que todos nós já tivemos algum tipo de "configuração personalizada" na execução de algum aplicativo... do tipo "eu SEMPRE rodo assim.... mas as vezes eu rodo com a opcao -gc:verbose" , para tal , no NetBeans 5.x voce tinha que ficar editando as propriedades do projeto e adicionar em "vmargs" esta opcao... utilizar e depois tirar... pois bem... o NetBeans 6 agora vem com um recurso de configuração customizavel, ou seja, voce pode configurar varias maneiras de executar e deixar ali prontinho... qual precisar , voce seleciona num combo e aperta "run", isso para mim esta sendo nota 10 , pois as vezes faco deploy no servidor de teste e as vezes no de producao... caiu como uma luva :)





Abaixo a tela para adicionar uma nova configuração de execução :



Logo após a configuração fica disponível para voce utilizar ela quando bem entender...



De brinde agora o NetBeans 6 permite que voce finalize o processo pelo console "output" nesse botão vermelho... isso antes só era possível na aba "runtime" e depois escolher o processo em "Processes" , ou seja... agora ficou tão pratico quanto o eclipse neste quesito : ( já não era sem tempo hein ? )



Note que legal... se voce clicar na barra de tarefas ele abre todas as tarefas em execucao para que voce possa saber qual o atual estado das mesmas:



NetBeans 6.0 - Novidades #4





Mais uma novidade ! Editor Hints !

Editor Hints !

Se você utiliza o NetBeans 5.x voce deve saber do que eu NÃO estou falando... por que ? simples... o editor do netBeans 5.x é tão tosco... tão ruim... tão pobre... que hints seria a ultima coisa que ele teria... hehehe. Em sua versão 6.0 o editor de codigos do NetBeans vem com o mesmo suporte a "dicas" para codigo java presente no eclipse , abaixo você vai perceber que as opções são inumeras:



NetBeans 6.0 - Novidades #3





Mais uma novidade ! Agora com o gerenciamento de plugins do NetBeans 6 !

  Novo Gerenciador de Plugins

O NetBeans 6 ganhou um novo gerenciador de plugins , como todos devem se lembrar , os plugins nunca foram o forte do NetBeans, pois bem... sua forma Inteligente(tm) de fabricar plugins (voce já tentou fazer algum ? a IDE da um suporte impressionante) permitiu qualquer um fazer de forma rapida e simples um plugin para o NetBeans , e hoje temos vários locais oferecendo plugins para esta maravilhosa plataforma. Um ponto muito forte na minha opinião é a questão dos ".nbm" aonde os plugins do NetBeans são guardados... são milhoes de vezes mais praticos que os "zips" do eclipse e tambem mais organizados, vejamos a tela abaixo, note um update para o suporte a Ruby do NetBeans, e tambem o informativo de quantos plugins estão disponiveis no momento:



Na aba de plugins disponiveis voce pode perceber de qual mirror ele vem observando a indicacao do Source:



Na aba de plugins instalados agora voce verifica de forma mais facil e direta quais plugins estão ou não ativos.



Na parte de configurações você pode verificar a quantidade de centros de atualização disponiveis para a 6.0... é impressionante o crescimento de plugins para o NetBeans




O que já era bom ficou ainda melhor nesta versão... esta valendo a pena MESMO testar a nova versão dessa IDE

NetBeans 6.0 - Novidades #2





Mais uma novidade ! Agora com o profiler do NetBeans 6 !

Heap Walker !

Bom, para demonstrar esta funcionalidade (que só foi possivel com o adendo do jmap e do jhat ao JDK 6.0) eu criei um JFrame e uma classe Pessoa... criando 4 pessoas na memoria , ou seja... tendo em uma lista 4 instancias da classe Pessoa :



Após ter criado a mesma 4 vezes o NetBeans me oferece a opção de profiler da aplicação:



Após o inicio do profiling, aparece um painel no canto superior esquerdo contendo as opções mais corriqueiras do NetBeans Profiler :




Como quero demonstrar o Heap Walking então eu tiro uma "foto" da Heap atual , assim poderei navegar por dentro da mesma e verificar o estado dos objetos !




Logo após a "foto" , o NetBeans Profiler pergunta se eu não quero "abrir ela":




Veja que interessante , usei o filtro e apresentei apenas as classes do meu pacote, veja que o mesmo apresenta as instancias da classe "Pessoa" e o tamanho que ela ocupa na Heap , bem como sua porcentagem:



Ao dar duplo clique na classe de pessoa, o NetBeans Profiler abre a parte de detalhes da classe , onde posso examinar cada instancia separadamente:




Ao clicar na propriedade Nome eu sou remetido aos detalhes onde aparece o conteudo da classe String que esta dentro da propriedade "nome" , ali voce pode ver como aparece "Dyego" , que foi exatamente o que eu instanciei ! Logo abaixo eu posso ver aonde que estão localizadas as referencias para esta classe :




Extremamente interessante e muito util na depuração de problemas , e sabe quanto custa ? NADA... são miseros 6 mega de Download (caso voce pegue separado) e vem por padrão na instalação do seu NetBeans 6.0 Beta 1.

O Profiler do NetBeans é BEM mais completo... ( eu diria que o melhor e o mais simples ) neste post apenas demonstrei a funcionalidade de "Heap Walking" :)

NetBeans 6.0 - Novidades #1




Bom , vou postar uma serie de novidades sobre o NetBeans 6.0. Apartir deste Beta 1 temos uma boa ideia de porque o NetBeans está sendo aclamado pela comunidade de desenvolvedores, muitas novidades e com o foco na produtividade...

WebServices



Uma nova aba é criada na parte de "serviços" do NetBeans 6.0 , a aba WebServices , ali voce pode colocar varios webservices e fazer o teste diretamente... sem ter que ficar criando aplicativos para testar um ou dois campos... fazer uma chamada simples ou verificar a funcionalidade. Abaixo veja a tela de testes:

GlassFish V2 Released


GlassFish


Depois de muito trabalho a Sun disponibiliza a versão 2 do seu App Server OpenSource... denominado GlassFish (ou SunApp 9.1)..

Muito legal notar como glassfish tem se tornado uma opção viavel e com uma performance muito boa, os plugins tanto para eclipse quanto para NetBeans são funcionais e não tem 500MB (aka JBossIDE)

Lembrando que a pilha WS (projeto Metro) do glassfish vem sendo utilizada em varios app server e sendo cogitada como uma das melhores implementacoes dos padroes WS-*.


O Glassfish apareceu como um "sun app capado" e se mostrou muito mais do que isso, em sua versao 3 que está em preview ( nem alpha nao é heheh) o microkernel dele boota em menos de um segundo... coisa show :)

O legal do glassfish é o console dele, alem de muito intuitivo, é realmente bastante prático, outra coisa que considero definitiva é ele implementar Java EE 5 desde sua versao 1.0 , por mais que muita gente não considere isso uma vantagem.... eu acho que poder contar com as funcionalidades como elas foram concebidas em qualquer lugar é algo MUITO BOM.

Outra coisa nota 10 é a maneira que o GlassFish é oferecido a comunidade, se voce quer baixar e utilizar ele sem pagar nada... vai lá e baixa o GlassFish V2 da pagina diretamente e seja feliz... porem se voce é daqueles que PRECISA de garantias... contratuais inclusive, entao voce pode adquirir o Sun App Server 9.1 e pagar pelo suporte e atualizações criticas...  lembrando que a Redhat está fazendo exatamente isso com seu Enterprise Application Plataform

Anuncio do RedHat Enterprise Application Plataform:
"The first release of EAP is version 4.2, which corresponds with the version of JBoss Application Server that it is based on - it also bundles in JBoss Clustering, JBoss Cache, JBoss Messaging, Hibernate, JBoss Seam and JBoss Transactions. EAP fully implements the J2EE 1.4 specification, and also provides several features of the Java EE 5.0 specification including EJB 3.0, JSP 2.1, Servlets 2.5, JSTL 1.2 and JSF 1.2 as well as a few other smaller components."

O que me deixa triste é esse "serval features of Java EE 5" :(  espero que no comando da Red Hat isso mude rapido...

Baixe o GlassFish e teste... voce nao vai se arrepender...

Algumas funcionalidades da versão 2 do GlassFish :
  • Best-in-class performance – as evidenced in a July 2007 SPECjAppServer benchmark result
  • Clustering – enables enterprises to group servers for scalability and replicate data in-memory for fail over protection and high availability.
  • Centralized administration – manage application server clusters and application deployments from a centralized administration console.
  • Project Metro – allows for interoperability between Web services hosted on Java technology and Windows environments.
  • Open ESB – enables easy integration of Web services and existing enterprise resources.
  • Java Business Integration (JBI) – provides a standardized approach to delivering SOA using Web services.
  • NetBeans(TM) IDE Integration - enabling developers to deploy SOA applications by designing business process execution language (BPEL) workflows.
  • Clustering and HA - GFv2 includes a new in-memory replication mechanism using JXTA for simplified configuration and improved performance, and it inherits HADB from (SJS AS 8.2) for 5-9s availability. See Clustering @ TA.

  • Commercial-grade Admin/Monitoring - This includes Admin Console, Documentation, CLI Monitoring. All of these have been substantially improved or are new. The Console, for example, has been redone and it is now using the new Woodstock JSF components and JSF-Templating

  • All-in One Bundle - The old SJS AS 8.x releases used to come in multiple versions: Platform Edition / Standard Edition / Enterprise Edition. Some of them were free for deploy, others where not. There is now a single, all-in one, moderately sized, bundl (~55MB) that has everything and there is the notion of profiles that is used to adjust functionality based on intent (developer, clustered, enterprise profiles).

  • Performance - GlassFish is the only open source appserver that has published a SPECj Appserver 2004 benchmark: at the time of posting it was the fastest submission on a single-processor T2000.

    Performance records are meant to be broken and I believe that there is now a faster 2-processor submission, but we will continue to improve (see related posts @ TA).

  • Metro WS Framework - GlassFish uses the Metro Web Services framework. This framework includes project Tango (aka WSIT) and the JAX-WS RI and has best-in-class performance and excellent usability. Metro also has very extensive WS-* interoperability with Microsoft which can be used in many applications; a simple example shows an Excel spreadsheet on Vista that has live cells representing content generated dynamically from a GlassFish server.

NetBeans 6.0 Beta 1 - AGORA VAI !!!!!

Depois de um anuncio furado do NetBeans 6.0 Beta 1, agora é oficial... pode-se baixar inclusive diretamente da pagina da Sun...

Baixe em:

http://www.netbeans.org/community/releases/60/index.html


Detalhe... o Beta vem com a versão final do Glassfish V2


As novidades já foram comentadas neste blog veja aqui:

http://www.go-java.com/blog/2007/06/29/1183126146068.html
http://www.go-java.com/blog/2007/07/04/1183569964108.html
http://www.go-java.com/blog/2007/08/13/1187015106128.html
http://www.go-java.com/blog/2007/07/25/1185383924156.html

Baixe e teste :)



Ruby on NetBeans

Aqui voce pode ver mais algumas funcionalidades do editor Ruby do netBeans 6.0 :) Hints e Quick Fixes !!!

Muito legal !

NetBeans 6.0 Beta 1 - Quase saindo...

Atualizando a informação dita anteriormente neste blog... segundo Roman Strobl , evangelista do NetBeans , o build OFICIAL do Beta 1 do Netbeans AINDA NAO SAIU.... o que se tem eh estilo um RC.... veja a mensagem dele :

Official beta should come on September 17. The bits may not be final. Please wait for official annoucements before making any annoucements. Thank you :)

Posted by Roman Strobl on September 13, 2007 at 02:40 PM IST #

Resta esperar dia 17 pelo aviso oficial :)

NetBeans 6.0 Beta 1

Disponivel para download o beta 1 do NetBeans 6.0


**** ATUALIZADO NOVO ENDERECO DE DOWNLOAD *******

http://bits.netbeans.org/download/6.0/beta1/latest.old/

**** ATUALIZADO NOVO ENDERECO DE DOWNLOAD *******

O que tem de novo ?

Em relacao ao M10 ,  baixei o daily build e mudaram bastante coisa na interface , muitas correcoes de bug e aparentecemente ficou mais rapido tambem...

O Beans Binding está nota 10 , o novo matisse está mais experto... suporte a JRuby esta ficando cada vez melhor...

Suporte a RESTful webservices melhorado... (alinhado agora com a JSR-311 )

Resumindo... SHOW DE BOLA... o negocio é baixar e testar...

mas já aviso... baixe somente o pacote para o seu proposito... nao tente baixar o FULL se voce nao tem pelo menos 1 GB de ram... senao vai ficar reclamando... de que adianta carregar o plugin de UML se vc nao usa ? ou o plugin do Ruby se vc nem sabe o que é ?