Com quase um mês de atraso foi lançado oficialmente no dia 03/12/2007 a versão final do NetBeans 6.0, com várias melhorias, para aqueles que serem falaram mal do editor e da performance um recado.. Seus problemas acabaram !!
As mudanças mais significativas foram no editor de texto do IDE, onde podemos destacar.
* Code Completion Inteligente
* Coloração Semântica
* Refactoração Instantânea
* Preview com antes - depois de alteração
* Geração de código como sobrescrita de construtores, equals e hashCode
* Suporte a várias linguagens como Java, Ruby, C/C++, XML, HTML, RHTML, JavaScript, e JSP.
São muitas as novidades no novo IDE, não teria como destacar todas as novas funcs neste post, proponho a você desenvolvedor efetuar o download no site netbeans.org, que agora vem disponível em várias opções de download (figura abaixo).
e explore os tutoriais disponiveis no próprio site em tutoriais.
Ainda falando de NetBeans 6, a última edição da revista mundo java nº 26, foi publicada um artigo meu sobre as novas funcionalidades do NetBeans 6 com enfânse nas mudanças do editor e no desenvolvimento de aplicações Swing com as JSRs 295 e 296 (Beans Binding e Swing Application Framework) a revista ainda possui diversas máterias interessantes com foco em SOA.. sem dúvida uma ótima pedida..
Lançado a versão final do NetBeans 6.0
terça-feira, 4 de dezembro de 2007
Postado por Wagner Santos às terça-feira, dezembro 04, 2007 0 comentários
Marcadores: Mundo Java, NetBeans, Publicações
Android - E o império Google contra ataca !!!
segunda-feira, 19 de novembro de 2007
A Google lançou recentemente um sistema operacional OPEN SOURCE para concorrer com symbian, palm os, etc.. no ramo de dispositivos móveis, ele utiliza como kernel o Linux e como linguagem o Java

Funcionalidades
- Application framework enabling reuse and replacement of components
- Dalvik virtual machine optimized for mobile devices
- Integrated browser based on the open source WebKit engine
- Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
- SQLite for structured data storage
- Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM Telephony (hardware dependent)
- Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
- Camera, GPS, compass, and accelerometer (hardware dependent)
- Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
Abaixo esta um demo de um engenheiro da Google que desenvolve uma aplicação em cima do Eclipse :-/,
Para quem quiser se aprofundar visite o canal exclusivo para desenvolvedores do Android no Youtube http://www.youtube.com/AndroidDevelopers, com vários tutoriais em video, uma atenção especial ao vídeo de apresentação do so com Sergey Brin dando uma introdução e um de seus engenheiros (Steve) fazendo uma demo de várias funcs...
Posso estar enganado mas estas funcionalidades me fazem lembrar algo ?? Será o iphone ..
Para efetuar o download do SDK clique aqui.
Esta disponível também um plugin para o Eclipse.
Diversão garantida !!!
Postado por Wagner Santos às segunda-feira, novembro 19, 2007 1 comentários
Marcadores: Google, Mobilidade
Montando Wiki com JSPWiki
sábado, 17 de novembro de 2007
Muito se tem falado de wiki, que podemos utilizar em diversos cenários ... mas o que é Wiki ?
Wiki é
Um exemplo clássico de wiki é site wikipedia que é um dos pioneiros neste segmento.

Wikis são verdadeiras mídias hipertextuais, com estrutura de navegação não-linear. Cada página geralmente contém um grande número de ligações para outras páginas. Páginas com navegação hierárquica são freqüentemente usadas em grandes wikis, mas não devem ser usadas. As ligações são criadas usando-se uma sintaxe específica, o chamado "padrão link".
Existem no mercado diversas implementações de wiki open source (php, java, etc...) , veja tabela abaixo, para as opções disponíveis em java, podemos destacar o JSPWiki, que é o mais consolidado no momento dos open source, inclusive é a base do Wiki que vem junto como o JBoss Seam..
| Site | Tecnologia | Valor | |
| Tiddlywiki | JavaScript | Free | |
| Very Quick Wiki | JAVA | Free | |
| JAMWiki | JAVA | Free | |
| Snipsnap | ? | Free | |
| JSPWiki | JAVA | Free | |
| Confluence | JAVA | US$8000 | |
| Chiki Wiki | JAVA | Free | |
| Usemodj Wiki | JAVA | Free | |
| yawiki | PHP | Free | |
| XWiki | JAVA | Free | |
| Clearspace | JAVA | U$29950 |
JSPWiki é uma implementação open source de wiki, é totalmente desenvolvido em Java e possui várias funcionalidades,

- –Possibilidade de extensão da Wiki com a Inclusão de plugins.
- –Possível incluir variáveis. Ex: [{$pagename}]
- –Enriquecer a página utilizando arquivos CSS.
JSPWiki 2.4 contém um conjunto rico e flexível de funcionalidades. O que torna JSPWiki totalmente prático para deployments em partes ou como uma intranet corporativa. Entretanto, o sistema de segurança dos subsistemas do JSPWiki é altamente customizável, geralmente a configuração padrão é o suficiente para iniciar o desenvolvimento. Entre as funcionalidades principais podemos destacar.
| Funcionalidade | Descrição |
| Anonimato e Confiabilidade | Usuário pode ser anônimo, autenticado parcialmente e autenticado. |
| Gerenciamento de identidade | Usuários podem se cadastrar na Wiki, criando um profile com password. Após logar o usuários podem gerenciar seus profiles. Permite armazenar / validar os seus dados (user, pass) em banco de dados, servidores LDAP, etc... |
| Grupos | Possibilidade de criar grupos de usuários com um wizard simples.Podendo ser adicionados para ACLs para restringir acesso á páginas particulares. |
| Roles | Usuários podem possuir roles especiais (ex: “Admin” que são associados aos seus usuários. |
| Integração Corporativa | Política de segurança seguem o padrão J2SE (file sintax), o local dos arquivos pode ser customizado por administradores. Gerenciado pelo JAAS, Wiki pode utilizar validações condicionais fornecidor pelo web conteiner Java EE, gerenciamento de autenticação pelo conteiner para conexão nos componentes de segurança como LDAP, Single Sign ON, PAM, Kerberos e Activity Directory. |
Outra opção interessante é a criação de novos templates, no site do JSPWiki, existem uma série de templates disponíveis para download e a ferramenta tem total suporte para a criação de novos templates.

O mecanismo de busca é baseado no Apache Lucene.
Wiki possui uma linguagem própria, quando criamos ou salvamos uma página wiki, na verdade estamos criando uma página .txt que ao acessarmos pelo wiki, a engine da ferramenta converte essa linguagem própria para uma página .html com as devidas tags.
---- = make a horizontal ruler. Extra '-' is ignored.
\\ = force a line break
[link] = create a hyperlink to an internal WikiPage called 'Link'.
[this is also a link] = create a hyperlink to an internal WikiPage called
'ThisIsAlsoALink' but show the link as typed with spaces.
[a sample|link] = create a hyperlink to an internal WikiPage called
'Link', but display the text 'a sample' to the
user instead of 'Link'.
~NoLink = disable link creation for the word in CamelCase.
[1] = make a reference to a footnote numbered 1.
[#1] = mark the footnote number 1.
[link] = create text '[link]'.
!heading = small heading with text 'heading'
!!heading = medium heading with text 'heading'
!!!heading = large heading with text 'heading'
''text'' = print 'text' in italic.
__text__ = print 'text' in bold.
{{text}} = print 'text' in monospaced font.
[text|] = print 'text' underscored (dummy hyperlink)
* text = make a bulleted list item with 'text'
# text = make a numbered list item with 'text'
;term:ex = make a definition for 'term' with the explanation 'ex'
Essa é a minha opção preferida, a de adicionar novos plugin, o JSPWiki vem com suporte para a criação de novos plugin e no próprio site esta disponivel diversos plugins para download, basta baixar e instalar..
Existem plugins para visualização de pdf, excel, flash,, opção para rodar applets, cvs, google maps entre outros,...
Quem se interessou eu recomendo visitar o site www.jspwiki.org, baixar o código fonte, ver os tutoriais ... diversão garantida !!!!
Postado por Wagner Santos às sábado, novembro 17, 2007 0 comentários
Conexão Java 2007
sexta-feira, 2 de novembro de 2007
Nos dias 9 e 10 de Novembro será realizado o evento Conexão Java, com uma programação bem diversificada, um dos destaques é o keynotes com Carlos Villela, o cara trabalha na ThoughtWorks de Londres, a conceituada consultoria que tem como seu chief scientist ninguém mais que Martin Fowler. Villela vem falar um pouco sobre as velhas e as novas arquiteturas, os grandes mitos e metodologias ágeis.
Haverá dois auditórios nos dias do evento, um para as palestras técnicas e outro para os hands-on,
Os preços para quem irá participar apenas das paletras esta R$ 45,00 e o hands on sai por R$ 149,00.
Para maiores informações acesse http://www.temporealeventos.com.br/?area=5
Postado por Wagner Santos às sexta-feira, novembro 02, 2007 0 comentários
Marcadores: Eventos
Tutorial de Java - Inglês
terça-feira, 2 de outubro de 2007
Segue abaixo um curso interessante de Java que encontrei no Youtube,, espero que seja util..
Java Video Tutorial 1: Installing the Java Development Kit
Java Video Tutorial 2: Hello World!
Java Video Tutorial 3: Variables and Arithmatic (Part1)
Java Video Tutorial 3: Variables and Arithmatic (Part2)
Java Video Tutorial 4: If Statements
Java Video Tutorial 5: Object Oriented Programming
Java Video Tutorial 6: Loops
Java Video Tutorial 7: Switch Statements
Java Video Tutorial 8: Arrays
Java Video Tutorial 9: Exceptions
Postado por Wagner Santos às terça-feira, outubro 02, 2007 0 comentários
Marcadores: Java Básico, Tutorial
CodeGen - hashCode() e equals(Object) no Netbeans 5.5.1
quarta-feira, 26 de setembro de 2007
Só agora que na nova versão do NetBeans 6.0 é que é possível na IDE criar os métodos equals() e hashCode(Object), o que na verdade é uma mão na roda para muitos desenvolvedores, encontrei alguns desenvolvedores como Vinicius Senger da Globalcode e Jefferson Prestes do time de tradução que me disserem que abriam o eclipse apenas para utilizar o recurso de criação destes métodos....
Pensando nisso, como fazia um tempo que não mexia na plataforma netBeans, decidi criar um plugin para a comunidade e de quebra relembrar as APIs da plataforma.
E o plugin faz justamente isto, gera os métodos equals e hashCode baseados nos campos da classe que esta em foco no editor, o método criar os métodos respeitando o contrato de implementação.
Onde o contrato nos diz que para implementar uma relação equivalente em referencias de objetos não nulo o método:
- É reflexivo: para qualquer valor de referencia not null para
x,x.equals(x)deve retornartrue. - É simétrico: para qualquer valor de referencia not null para
xey,x.equals(y)deve retornartruese e somente sey.equals(x)retornartrue. - É transitivo: para qualquer valor de referencia not null para
x,y, ez, sex.equals(y)retornartrueey.equals(z)retornartrue, entãox.equals(z)deve retornartrue. - É consistente: para qualquer valor de referencia not null para
x ey, multiplas invocações de x.equals(y) consistentemente retornarãotrueou consistentemente retornarãofalse. - Para qualquer valor de referencia not null para
x,x.equals(null)deve retonarfalse.
Como não poderia deixar de ser, temos que seguir um contrato para seguir
hashCode que é: - Sempre que for invocado no mesmo objeto mais de uma vez durante a execução de uma aplicação Java, o método hashCode deve sempre retornar o mesmo integer.
- Se dois objetos são iguais de acordo com a execução do método equals(Object), então chamar o método
hashCodeem cada um dos dois objetos deve produzir o mesmo resultado inteiro. - Não é obrigado que se dois objetos são diferentes de acordo com a execução do método equals(Object) que chamando o método hashCode em cada um dos dois objetos deve produzir resultados inteiros distintos. Entretanto, o programador deve ter cautela, pois produzir resultados inteiros distintos para objetos diferentes podeve causar problemas de performance ao utilizar hashtables.
Segue abaixo alguns screenshots do plugin. O plugin esta internacionalizado, disponivel para inglês e português.
Para instalar o plugin efetue o download do arquivo nbm no portal de plugin do netbeans clicando aqui.
Após instalar o nbm espere enquanto o netBeans faz um "hot deploy", após a instalação, para utilizar o plugin, no editor de um arquivo java basta acessar o menu Refatorar > Implementar hashCode() e equals(Object) ou clicando com o botão direito do mouse e acessando o menu pop up Refatorar > Implementar hashCode() e equals(Object).
Após pressionar o botão será apresentado uma JDialog disponibilizando as fields que você deseja implementar nos métodos.
Após pressionar ok, pronto o código esta pronto =) ,, fácil não.. Eclipse para que ? hehe
E ele até que é esperto, se você tentar criar os métodos em uma classe que já possui os métodos, o plugin dá mensagem.


Se sua classe tiver só a classe equals e quiser só o hashCode por exemplo, ele é bem compreensivo..

Bom é isso, esse é um plugin bem simples, mas que ajuda muito no dia a dia.. peço aos meus queridos amigos que baixem este plugin e testem, se tiver dúvidas ou sugestões, é só avisar.
Postado por Wagner Santos às quarta-feira, setembro 26, 2007 0 comentários
Marcadores: equals e hashCode, NetBeans, Plugins, Projetos
The Developers Conference - Parte 2
terça-feira, 18 de setembro de 2007

Sábado foi o segundo dia do evento, logo de manhã já se via a correria do Leandro e a galera da Global para preparar o palco para a primeira palestra do dia "Usando JavaFX para aplicações Java EE", o palestrante Jorge (instrutor da Globalcode) começou um pouco nervoso, mas depois que começou, ficou mais calmo, talvez por ser a primeira palestra do dia e ser sábado, percebia-se que a galera estava um pouco com sono mas depois da palestra veio o coffee break e a galera começou a ficar mais animada.
Para a segunda palestra do dia foi uma grande surpresa, pois no lugar da palestra "JavaServer Faces: utilitários e componentes" ninguém mais que Ed Burns voltou para um segundo Key Notes, agora mais técnico, onde pode se aprofundar no JSF, expondo as falhas da atual versão e propondo várias idéias, ponto para Vinicius Senger, que ao montar um esquema de segurança baseado em Anotations conseguiu uma vaga no Expert Group da especificação do JSF 2.0, é o Brasil sendo muito bem representado..
Logo após o Key Notes, Melissa Villela juntamente com a Yara apresentou a paletra "Ajax com JavaServer Faces e Struts" com a dificil tarefa de pegar uma galera pós Ed Burns, a palestra foi muito boa, com ótimas dicas ao frameworks JBoss Seam e Ajax4JSF com exemplos de Drag and Drop e outros componentes.
Todos dispensados para o almoçar no florido Shopping "Frei Boneca", a galera voltou pronta para assistir a próxima palestra com o tema "SOA na prática: integrando .NET com Java EE" apresentado por Renato Bellia e Vinicius, mostrando na prática a integração de uma aplicação .NET e Java EE por Web Services,,,
Nem terminou a palestra de SOA, entrou a equipe de instrutores (Eliane e Ricardo) para apresentar a palestra de "Segurança em aplicativos Web com Java EE", com ótimas exemplos de criptografia e segurança da informação com algoritmos hash..
No final foi reservado para um Painel do Futuro: Java EE 6 - Java SE 6 - Java SE 7 - Web 3.0,, infelizmente não pude assistir este painel apresentado por Bruno Souza, Mauricio Leal, FabioVelloso, Ed Burns e Vinicius Senger..
O que posso dizer é que o evento foi altamente técnico, teve muito a agregar principalmente para os desenvolvedores mais experientes e deixou um gostinho de quero mais, a equipe toda da Globalcode esta de parabéns, só vamos torcer que o ano que vem ocorra mais uma vez ..
Postado por Wagner Santos às terça-feira, setembro 18, 2007 0 comentários
Marcadores: Eventos
The Developers Conference - Parte 1
sexta-feira, 14 de setembro de 2007
Hoje foi o primeiro dia do evento The Developers Conference, um evento patrocinado pela Globalcode, e posso dizer que o resultado foi muito agradável, as 09:00 horas que durou o evento deu a impressão de ter passado muito rápido e deixou um gostinho de quero mais.
Foram vários temas abordados, todos relacionados a Java EE, com uma atenção especial para a participação do engenheiro da Sun Ed Burns, vulgo "Mr. JSF.", o cara para quem não sabe é apenas o spec leader da JSR 314 da especificação do JSF 2.0 .
Como cheguei um pouco atrasado não dá para falar do credenciamento, mas cheguei bem no inicio da 1º apresentação "UML aplicada na plataforma Java EE", apresentado pela Yara e pela Eliana, muito bom por sinal, a Eliana falou sobre os primórdios da diagramação de processos até chegar na Unified Process, depois a Yara passou a régua explicando os tipos de diagrama existentes na UML mas utilizados em projetos Java EE, e terminou falando de gerenciamento de projeto com o auxilio de Wiki.
Depois foi a hora que todos amam, que é a hora do "Coffee-break", com diversos salgadinhos e uns docinhos show de bola..
Depois de todos satifisfeitos, foi a hora do esperado "Key note com Ed Burns", o cara falou de várias tendencias para o futuro, mostrou um quadro sobre a curva do aprendizado de tecnologias web, para o futuro da web podemos esperar interoperabilidade, uma web semântica, e claro tratando de JavaServer Faces, de interfaces muito mais ricas e menos camadas de uma aplicação UI, e deixou claro que podemos esperar logo mais por um grande BOOOM no desenvolvimento mobile, a hora é agora.
Depois foi a vez do Vinicius Senger, que para quem não sabe além de diretor educacional da Globalcode, o cara recentemente entrou para o Expert Group do JavaServer Faces 2.0 (JSR 314) e membro do Dream Team de desenvolvimento do NetBeans, fraco o garoto !!! A sua primeira apresentação foi sobre "Design Patterns para aplicativos Java EE", que em tempo hábil conseguiu explicar com exemplos práticos todos os patterns do GoF, Core JavaEE e alguns Blue Prints..
Depois foi a vez da palestra mais polêmica do dia (para mim), "Eclipse vs NetBeans vs JDeveloper", essa palestra foi apresentada pela equipe Globalcode cada um representando um IDE, o Dr. Spock defendendo o NetBeans, a Melissa defendendo o Eclipse, a Yara "tentando" defender o JDeveloper e o Vinicius fazendo o meio de campo, foi a apresentação mais animada, pois rendeu várias risadas.. não posso deixar de dizer que o melhor no momento é o NetBeans , clap clap clap ... =D, pelas suas novas funcionalidades, o ótimo suporte a Java EE, editor de código,.. e tal, me desculpe Renato ;) ...
Depois foi a vez do Renato Bellia na palestra "Técnicas, patterns e dicas de JPA & Hibernate", um workshop muito valioso, com várias dicas do Renato e exemplos com código fonte, e no final a Eliane complementou com algumas propostas de implementação com 4 técnicas diferentes...
E por fim, foi apresentado pelo Vinicius e pelo Renato, o workshop sobre "Enterprise JavaBeans 3.0" para fechar com chave de ouro, com uma explanada sobre Sessions e Message Driven Beans .
Estava presente também o sempre presente Bruno "Javaman" Souza e Mauricio Leal o que rendeu um bom papo no final...
O que posso dizer que o evento foi altamente produtivo, técnico e com certeza foi muito bem vindo !!!
Postado por Wagner Santos às sexta-feira, setembro 14, 2007 0 comentários
Marcadores: Eventos






