Mostrando postagens com marcador notícia. Mostrar todas as postagens
Mostrando postagens com marcador notícia. Mostrar todas as postagens

quarta-feira, 4 de fevereiro de 2009

Spring na Java Magazine by Spock

Finalmente consegui ter uma cópia da edição 65 da revista Java Magazine. Já fazem 10 dias que tive notícias de colegas que assinam a revista dizendo que já receberam. Mas, até hoje ainda não está nas bancas!

Estava ancioso para por as mãos nesta edição para ver como ficou o artigo que escrevi sobre o Spring Framework.

O artigo descreve uma aplicação simples e completa usando Spring Framework, JSF e JPA. Através de configurações em XML e anotações, os serviços de transação e persistência são ilustrados no desenvolvimento de DAOs e componentes de negócios gerenciados pelo Spring e acessados através de telas na web com JSF. As principais funcionalidades do Spring Framework e as partes que compõem o Spring Portfólio também são descritas neste artigo.

Uma aplicação completa para web é presentada, desde a modelagem simples de casos de uso até códigos em classes Java, interfaces e diagramas UML de classes e sequência, mostrando como usar o Spring Framwork para simplificar o desenvolvimento de aplicações.

Nem tudo é perfeito ... Por mais que revisemos o artigo e que exista um editor extremamente criterioso durante a revisão, sempre sobram alguns erros. Para a tranquilidade de todos, não são erros técnicos, mas sim, pequenos erros ortográficos e posicionamento de figuras e listagens em páginas diferente de onde são referênciados.

Aqui estão algumas erratas que encontei após uma nova leitura do texto através da revista:
  • Pág. 54, 1a. coluna, 3o. parágrafo: A figura 1 citada aparece na página 53 exigindo do leitor a mudança de página;
  • Pág. 60, 1a coluna, 3o parágrafo: Aparece a palavra "componentes" onde deveria ser "componente" resultando em: "Em alguns casos não é possível configurar um componente gerenciado pelo Spring através de anotações";
  • Pág 60, 1a coluna, 3o e 4o parágrafos: O início do 4o parágrafo repete a mesma informação apresentada no final do 3o. parágrafo;
  • Pág. 61, 1a coluna, 1o parágrafo: Uma das anotações do Spring está grafada com um s a mais: @Respository, e o certo seria: @Repository;
  • Pág. 61, 1a coluna, 4o parágrafo: A listagem 5 é referenciada nesta página e o conteúdo desta listagem está na página 62, exigindo do leitor a mudança de página.
  • Pág 63, 1a coluna: As listagens 7 e 8 são citadas nesta página, mas o conteúdo destas listagens estão na página 64, exigindo do leitor a mudança de página.
Como podem verificar não são problemas sérios. Alguns são inevitáveis por conta da necessidade de diagramação e outros foram descuido do escritor que vos escreve :)

De qualquer maneira, o artigo ficou muito bom e muito bem apresentado na Java Magazine. Está bem diagramado e com o conteúdo na medida certa. Contudo, para não estender o tamanho do texto, foi necessário colocar somente os códigos fontes e diagramas necessários para o entendimento do assunto apresentado. Em alguns códigos, trechos considerados irrelevantes foram omitidos sem prejuízo para a compreenção. Mas, a DevMedia disponibilizou para download o projeto Eclipse completo que fiz para a aplicação demonstrada no artigo. Quem se interessar pode fazer o download clicando aqui. O zip baixado tem um arquivo "leiame.txt" com os pré-requisitos e passos para instalação.

Show de bola foi a dobradinha com o artigo nesta mesma edição da Java Magazine que traz a tradução da entrevista com o Rod Johnson (criador do Spring e fundador da SpringSource) realizada no JavaOne2008. Eu ajudei a escrever algumas perguntas que foram realizadas pela Yara Senger (Globalcode) e Melissa Villela (Globalcode) durante o evento. Não perdi a oportunidade de questionar os seguintes pontos:
  • A plataforma Spring pretende ser uma alternativa viável à própria plataforma Java EE, e não apenas uma alternativa a EJB?
  • Depois do EJB 3 no Java EE 5, porque deveríamos continuar usando Spring nas aplicações enterprise?
Não foi surpresa ouvir uma resposta positiva para a primeira pergunta e um bom argumento para continuarmos com o Spring. Tem um bom tempo que percebo a intenção do Spring de ser um forte concorrente da plataforma Java EE e isto motivou a minha pergunta. Ele também cita que mesmo com as melhorias no Java EE 5, o EJB 3 ainda continua contendo grande parte do legado "por baixo dos panos" e que diversas funcionalidades continuam limitadas e falham em atingir os objetivos propostos por algumas tecnologias, como por exemplo AOP! Com estas respostas ficou claro para mim que não adianta mais ficar comparando Spring com EJB. O Spring Framework é apenas uma parte da plataforma. Já temos um servidor de aplicações Spring com suporte fantástico a OSGi que implementará no futuro alguns dos profiles especificados para o Java EE 6. Também não podemos esquecer das diversas bibliotecas e frameworks que compõem o chamado Spring Portfólio. Agora temos que comparar as plataformas para decidirmos qual arquitetura implantar no nosso sistema corporativo: Spring Platform versus Java EE Platform!

Por fim, comento no artigo os passos necessários para se tornar um profissional certificado em Spring Framework (S2CP - SpringSource Certified Professional). No início deste ano fiz a prova de certificação. Depois conto os detalhes em outro post.

Quem quiser comentar estes artigos da edição 65 da Java magazine é só mandar para blog@spock.com.br ou escrever comentários para este post.

Then, enjoy!

terça-feira, 4 de novembro de 2008

A Microsoft comprou a SpringSource?

Tem muita gente acreditando nisso!

Com o recente lançamento do site InfoQ no Brasil com artigos traduzidos para o português, alguns dasavisados acabaram acreditando.

Os 20 melhores artigos de 2008 da InfoQ em inglês foram traduzidos para o português e um deles incluiu a pegadinha de primeiro de abril realizada pelo Rod Johnson (criador do Spring Framework e CEO da SpringSource).

Vejam video abaixo.

Muitos caíram no erro pelo site não ter divulgado inicialmente que era uma piada de primeiro de abril. Mas, alguns leitores espertos perceberam o deslize e avisaram o site para correção.
Links para os artigos na InfoQ:
Fonte: InfoQ.

quinta-feira, 25 de setembro de 2008

Spock na J... Magazine

Pensou besteira, heim?

Na verdade a revista Java Magazine, de circulação nacional e dedicada à tecnologia Java, publicou na última edição (no. 61, setembro/2008) um artigo escrito por mim e pela Yara Senger (diretora educational da Globalcode) com o título Facelets: Criando templates de telas no JSF. Este artigo apresenta a tecnologia Facelets para a construção de templates de telas com o JavaServer Faces (JSF) e a definição de componentes visuais customizados a partir de arquivos XHTML para aplicações Web.

No último JustJava realizamos uma prévia deste assunto através de uma palestra que comentei aqui no post Templates de Tela JSF e TagFiles com Facelets. Neste post encontram-se os slides da apresentação para visualização online e o link para download. Mas, o artigo só nas bancas!

Then, enjoy it! Any comment, let me know!

domingo, 21 de setembro de 2008

Pencast do keynote de abertura JustJava2008

Usando a caneta mágica que roda Java, gravei o keynote de abertura do evento JustJava2008. Esta apresentação foi realizada pelo Bruno Souza (JavaMan), Yara Senger e Melissa Villela.

Durante a apresentação fiz algumas anotações no caderno e gravei o áudio usando o programa embutido na caneta chamado de "Paper Replay". O flash a seguir contem o pencast gerando pelo site de compartilhamento da Livescribe.


Clique no play para tocar ou na seta superior para full screen

Algumas fotos do evento estão disponíveis no álbum online da Globalcode.

Se desejar, deixe os seus comentários aqui neste post ou na home do pencast disponibilizado em My Livescribe Community.

domingo, 14 de setembro de 2008

Templates de Tela JSF e TagFiles com Facelets

O JavaServer Faces (JSF) na versão atual para o Java EE 5 tem algumas deficiências que serão resolvidas na nova especificação JSF 2.0. Aqui estão algumas deficiências encontradas no atual JSF 1.2:
  • A falta de um mecanismo de templates de telas, semelhante ao Tiles do Struts, que seja bem integrado ao JSF;
  • Definição de novos componentes de UI e custom tags a partir da composição de outros componentes e uso de JSP (XHTML no caso do Facelets) semelhante ao conceito de TagFile;
Contudo, o framework chamado Facelets foi desenvolvido e ganhou popularidade ao resolver estes problemas já na versão atual do JSF. A popularidade foi tamanha que chamou a atenção do "expert group" que deseja incorporar este mecanismo na especificação mantida pelo JCP.

Este framework implementa um novo compilador de páginas baseado em XHTML para realizar a instanciação da árvore de objetos (componentes UI) no lado do servidor para representar a tela JSF a ser renderizada em HTML para o usuário. Este mecanismo se tornará o substituto do JSP onde, por exemplo, não seria mais possível usar scriptlets.

Para ilustrar os conceitos relacionados a este fremework, a sua atual importância, o relacionamento com o JCP no JSF 2.0 e apresentar alguns exemplos, fizemos uma apresentação no JustJava2008.

Seguem abaixo os slides utilizados durante a apresentação.



Nesta apresentação falamos sobre o que é template de telas JSF, como criar um template, como criar uma tela JSF reusando um template, como configurar o Facelets numa aplicação Web e como criar componentes via TagFile (XHTML) e a respectiva custom tag. Tudo ilustrado com algumas demonstrações e trechos de código.

Os slides e a aplicação de demonstração podem ser baixados através do seguinte link: JustJava2008-Facelets.

Then, enjoy it!

sexta-feira, 12 de setembro de 2008

Integrando o futuro: Seam e Spring

Quem disse que não é possível usar o Spring Framework e o JBoss Seam juntos?

No JustJava2008 apresentei uma palestra com o resultado da integração destes dois frameworks. Nesta apresentação ilustrei os passos necessários para configurar uma aplicação Web para ter os dois frameworks funcionando em conjunto. Apresentei as características do Seam que o qualificam para o gerenciamento da camada de apresentação (View e Controller) numa arquitetura MVC na Web com Ajax e as características do Spring que o qualificam para o gerenciamento da camada model com integração com os serviços EE (transação, segurança, logging, remoting, pooling, etc). Claro que estes frameworks são mais abrangentes do que o discutido na palestra.

Na apresentação pude discutir os problemas encontrados nesta integração considerando as diferenças destes frameworks que resultam em alguns curto-circuitos. Contudo, a integração até que funciona bem! Mas, tem que ficar atento com estes curtos.

A seguir estão os slides para a comunidade. Then, enjoy it!

quinta-feira, 4 de setembro de 2008

A caneta de 1 milhão de dólares que roda Java

Brincadeirinha! Só usei este título para chamar a sua atenção para este post do blog. Contudo, nem tudo é brincadeira. Uma caneta que roda Java realmente existe, mas custa apenas USD 149,00 para a versão com 1GB de RAM e USD 199,00 para a versão com 2GB. Ou seja, não é tão cara assim!

A caneta chamada Pulse SmartPen, que foi desenvolvida pela empresa chamada Livescribe, ganhou no JavaOne 2008 o prêmio Duke's Choice Award como um dos projetos de invovação que utiliza a tecnologia Java.

Esta caneta tem um processador ARM embutido de 32 bits, 150MHz e uma JVM com suporte a Java ME e CLDC 1.1 com Media Profile. Torna-se possível escrever programas em Java e fazer o upload via USB para a memória interna da caneta.

Mas, a grande inovação da caneta não está necessariamente na capacidade de rodar Java. Além de ser um mini-computador numa caneta, ela tem uma câmera de infravermelho de alta velocidade que permite capturar tudo aquilo que o usuário escrever num papel de um caderno especial.

O caderno usado pela caneta tem impresso nas páginas um padrão de micro pontos que não se repete ao longo de uma página e ao longo de todas as páginas do caderno. Este padrão de pontos forma um sistema de endereçamento chamado DPS (Dot Positioning System) que permite a câmera de infravermelho captar a posição da caneta no caderno e o movimento realizado pelo usuário. A câmera não enxerga a tinta da caneta esferográfica que tem na ponta, mas apenas visualiza os pontos para posicionamento e registro do movimento de escrita.

Tudo aquilo que o usuário escreve é registrado na memória da caneta. Através de um programa instalado no computador é possivel transferir todas as páginas escritas para o computador e visualizar este conteúdo exatamente como foi escrito. Após a transferência do conteúdo para o computador, torna-se possível fazer o upload deste conteúdo para um site de compartilhamento da própria Livescribe em formato flash que pode ser exportado para PDF.

Mas não é só isso ... :) O recurso mais interessante é que a caneta tem um gravador de áudio embutido que permite gravar uma reunião, uma aula ou uma apresentação. Todo o áudio gravado é sincronizado com aquilo que é escrito e no momento no qual é escrito no caderno! Assim, torna-se possível depois da gravação, posicionar a caneta sobre uma palavra escrita no caderno para iniciar a reprodução do áudio gravado no momento que o texto foi escrito. O flash gerado também contem o áudio. O legal é quando o flash é reproduzido, toca o áudio e mostra o contéudo sendo escrito em sincronismo com o áudio como se fosse um filminho.

Você acha que é só isso? Que nada! Um recurso bem legal é o fone de ouvido que tem em cada fone um microfone embutido que simula os ouvidos do usuário e o seu ponto de vista. Quando este fone é colocado nos ouvidos do usuário e ligado à caneta, simula os ouvidos do usuário através do microfone e permite gravar o áudio do ponto de vista do usuário. A tecnologia de gravação do áudio é chamada de Binaural que grava a posição espacial de onde o som vem (um exemplo bem legal desta tecnologia é o áudio chamado Virtual Barber Shop, que só funciona ouvindo com um fone de ouvido estéreo). Assim, ao ouvir a reprodução do áudio, o usuário sabe de onde vem cada som ou quem fala numa reunião. Muito interessante numa sala de aula, numa discussão ou reunião onde o usuário pode identificar os participantes ao desenhar no caderno onde está cada individuo. Depois, ao ouvir o áudio, o usuário poderá saber quem é quem!

Para não ficar somente no palavriado seguem alguns videos disponiveis no YouTube com demonstrações da caneta:


The Livescribe paper-based computing platform


A Java Minute with LiveScribe, Duke Choice Award Winner


The Livescribe paper-based computing platform

The Pulse Smartpen is a Java technology-based mobile computing platform that connects the paper world and the digital world. It is a computer within a pen that captures handwriting and simultaneously records audio and synchronizes it to the writing. Anything the user hears, writes or speaks is captured, accessible and shareable. The Pulse platform consists of an integrated system of smartpen, dot paper, applications, desktop software and development tools.

Com todos esses recursos, a JVM embutida baseada no Java ME permite escrever programas que tem acesso via uma API Java implementada pela Livescribe aos recursos de DPS, o display OLED, a gravação e reprodução de áudio. Então, agora é uma questão de criatividade ao desenvolver programas em Java através do Eclipse, compilar e instalar na caneta via USB.

Especificações técnicas da caneta.

Eu não perdi a oportunidade e comprei uma pra mim já que não custa 1 milhão de dólares! Então, para ilustrar o que pode ser feito ao gravar um áudio e o que foi escrito, gerei o flash abaixo.


Clique no play ou na seta superior para full screen

Uma foto do meu caderno e da SmartPenE aí, quando vai encomendar a sua?! Não venha com a desculpa "como eu pude viver esse tempo todo sem essa caneta?". Isso pode parecer inveja :) Então, não perca tempo!

Será que existe algo parecido em .NET?

Clique no video acima para ver todo o conteúdo

Vejam apresentação sobre a caneta no evento TDC em florianópolis: A caneta Java no TDC FLoripa.
Uma outra opinião: design@Sun
Then, enjoy it!

quarta-feira, 30 de julho de 2008

Fotos do TDC 2008

As fotos do evento estão disponíveis no picasa web:
Aqui está uma foto com a equipe Globalcode:


E não poderia faltar o "Spring man":

quinta-feira, 24 de julho de 2008

Muito Java na veia com o TDC 2008

O TDC 2008 está chegando! Serão dois dias de pura adrenalina, ou seria cafeína na veia? Em todo caso, o evento contará com uma programação bem variada de tecnologia Java e duas trilhas de conteúdo em paralelo ("Java Expert Edition" e "Java Corporativo e Metodologias").

Eu estarei lá para falar sobre Spring Framework e o portfolio de produtos agregados junto com o meu colega Ricardo Jun. A palestra será no sábado (26/07) a partir das 15:15.

Vale a pena conferir. Pena que as vagas já estão esgotadas como divulgado no boletim da Globacode. Serão 550 participantes! Mas, a lista de espera existe e está crescendo. Não custa tentar!

quinta-feira, 3 de julho de 2008

Apagão na Internet de São Paulo

Voialá ... Agora temos internet novamente. Incrível, este foi o maior apagão da internet no Brasil. Foram mais de 24h fora do ar! Eu estava tentando blogar ontem a noite e o link saiu do ar. Fiquei muito p... da vida. E hoje vi que não era simplesmente a minha conexão.

Impressionante como somos muito dependentes desta tecnologia. Foram vários setores públicos (polícia, bombeiros, lotéricas, poupa tempo, além de usuários domésticos e empresariais). Como esta rede é frágil. Realmente impressionante!

Vejam um vídeo do globo.com

quarta-feira, 2 de julho de 2008