Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo Spring

Geração de classes persistentes com a engenharia reversa no SpringRoo

Fechando uma série com 3 posts que descrevem algumas características do Spring Roo   para a camada de persistência, neste último post vou demonstrar como criar entidades persistentes a partir de uma base de dados relacional, utilizando engenharia reversa via o add-on DBRE (Database Reverse Engineering ) do Spring Roo. O diferencial do Roo, em relação a outras ferramentas de engenharia reversa, é a possibilidade de re-utilizar essa funcionalidade durante todo o ciclo de desenvolvimento, não se limitando apenas na fase inicial de codificação. Modelo de dados Vou usar o mesmo projeto demonstração dos outros dois posts, um CRUD de produtos, no MySQL com as seguintes tabelas: Projeto Roo Para experimentar a engenharia reversa do Spring Roo é interessante começar um projeto novo. A seguir, as instruções necessárias para montar o projeto: roo> project --topLevelPackage br.com.yaw.produtos roo> persistence setup --provider HIBERNATE --database MYSQL --databaseName roodb ...

Criação de consultas com o Spring Roo

No post Bastidores do Spring Roo: A camada de persistência descrevi como o Spring Roo cria e mantém a camada de persistencia de um aplicativo Java para Web, usando como exemplo um CRUD de Produtos. Porém, deixei de fora propositalmente, algumas funcionalidades interessantes do Roo ainda na área de persistência. Nesse post vou demonstrar como implementar funcionalidade de pesquisa em uma aplicação através do Spring Roo . O Spring Roo disponibiliza o comando finder para criar consultas via linha de comando , no shell. O finder gera toda estrutura necessária para implementar uma funcionalidade de pesquisa em uma entidade, desde o método Java com código JPA-QL , passando pela controller até chegar na página web. Demo: a entidade Produto Para testar essa funcionalidade do Roo, vou relembrar um trecho do exemplo usado no post anterior, a criação da entidade Produto. Os comandos a seguir são executados no shell do Roo para criar Produto com descrição e o valor : roo> entity --cl...

Bastidores do Spring Roo: A camada de persistência

Como funciona a criação e manutenção da camada de persistência de uma aplicação desenvolvida com Roo? Esse post demonstra como o Spring Roo configura a camada de persistência, descreve os comandos de persistência e como eles funcionam, além de esclarecer como o Spring Roo atua sob as entidades no decorrer do desenvolvimento. Esse texto complementa o conteúdo postado em Aventuras com Spring Roo no mundo real . O Spring Roo é uma ferramenta RAD (Rapid Application Development) para desenvolvimento de aplicativos para Web, usando a linguagem Java. Se você nunca ouviu falar sobre o Spring Roo, leia  Hello Roo . Projeto demo O exemplo usado como demonstração é bem simples, um CRUD de Produtos usando o HSQLDB , em poucos passos e sem burocracia o aplicativo poderá ser testado.  Considerando que a instalação e configuração do Roo  já foram concluídas, para criar o projeto basta executar no shell do Roo: roo> project --topLevelPackage br.com.yaw.produtos Config...

EJB 3: Uma evolução sob os conceitos do Hibernate e Spring

Definitivamente o modelo de componentização definido no Java EE 5 e 6 evoluiu e melhorou muito. Mas, sem dúvida muita dessa evolução se deve às pressões do Hibernate e Spring Framework. Estes dois últimos frameworks nasceram baseados no conceito de POJO, que nada mais é do que a concepção de um modelo de componentização baseado em classes Java sem as regras impostas pelo EJB (curioso, sem o EJB não existiria o Hibernate ou o Spring). A morte dos Entity Beans O Hibernate nasceu da idéia de promover um modelo de persistência mais simples que o proposto pelos EJBs do tipo Entity Beans definido na especificação EJB 2.x. Este foi o primeiro tipo de EJB a sofrer com a evasão de desenvolvedores com o surgimento deste framework e a conscientização sobre os problemas nos Entity Beans. A partir de um modelo baseado em JavaBeans e o uso do JDBC, o Hibernate usa a Reflection API para gerar os SQLs necessários para persistir o estado de beans em diversos banco de dados relacionais, além de defini...

Aplicação web com Spring no Cloud Foundry

Um tempo atrás experimentei o mecanismo de cloud da SpringSource chamado de Cloud Foundry (CF). Para isso foi necessário criar uma conta na Amazon Web Services (AWS - infra estrutura de cloud da Amazon) e deixar o número do meu cartão de crédito. Pude notar que o Cloud Foundry é uma ferramenta que permite a criação e configuração de uma máquina virtual (VM) na AWS com apenas alguns cliques na interface administrativa. A VM criada pelo CF é composta por um Linux da distribuição CentOS, um Apache Web Server, um SpringSource tc Server (Tomcat adaptado) e uma instância de MySQL. Já o AWS é quem hospeda a VM totalmente configurada pelo CF. Também é possível criar diferentes máquinas virtuais diretamente na interface administrativa do AWS. Tudo começa com a criação de uma conta no AWS e a indicação de um cartão de crédito para as cobranças. Após aguardar até 24h para confirmação do número do cartão, o AWS disponibiliza o acesso à interface administrativa. Através desta interface torn...

7 Boas Práticas de Desenvolvimento com Spring Framework

Durante o desenvolvimento da apresentação realizada pelo colega Ricardo Jun para o TDC 2009 da Globalcode realizamos uma compilação de várias boas práticas de desenvolvimento com o Spring Framework. Baseado na experiência e pesquisas em sites na internet, estas práticas foram reunidas e selecionadas para a apresentação no TDC. Contudo, algumas boas práticas discutidas não foram tratadas completamente neste evento. Então, reuni neste post algumas destas práticas resultando nas seguintes "7 Boas Práticas de Desenvolvimento com Spring Framework": Prática 1: Separe a interface da implementação dos componentes Esta prática favorece a implementação de testes e o uso de mocks, favorece o uso futuro de OSGi e o Spring dm Modules. Diversos serviços gerenciados pelo Spring são aplicados aos componentes através de AOP com proxies dinâmicos. Prática 2: Configure os componentes de negócios através de anotações e alguns serviços tecnológicos através de XML Esta prática reduz a q...

Impressione os seus amigos com o SpringSource Tool Suite

Como disse o Dr. Tool (Ricardo Jun) durante a apresentação realizada por ele no Casual Class sobre a plataforma Spring: O SpringSource Tool Suite é um Eclipse com esteroides! Apesar da base do SpringSource Tool Suite (STS) ser o Eclipse, ele não para por aí. Os plugins 'Spring IDE', m2eclipse (suporte a Maven) e integração com o tc Server e dm Server estão presentes. Num único pacote e numa simples instalação já temos um ambiente muito produtivo para usar as anotações Spring, inspecionar a árvore de dependências entre os componentes e numa única visão saber quais os componentes anotados que estão espalhados pelo classpath da aplicação. Além de tudo isso tem o suporte a Spring Roo, Roo Shell e AspectJ. O uso de programação orientada a aspectos (AOP) via AspectJ é simplificado consideravelmente. Se for realizar um projeto baseado na plataforma Spring, vale a pena dar atenção ao SpringSource Tool Suite e impressionar os seus amigos (e gerentes!) com a produtividade proporciona...

Roo Replay

Durante a demo de Roo no Spring Casual Class cometi um erro, ao executar o Roo Shell em um diretório diferente do que havia sido planejado. Conclusão, os artefatos do Roo foram criados onde eu não queria. Ao perceber o erro saí do Roo Shell, mudei para o diretório correto e avisei: "Vamos ter um replay dos comandos", aproveitando a oportunidade para reforçar como é realmente rápido construir software com o Roo Shell. Do meio da platéia surgiu: "Não vai me dizer que o Roo tem um comando de replay ?". Tem sim... http://springbrasil.ning.com/profiles/blogs/roo-replay Neste post do Spring Brasil User Group também consta a aplicação demo utilizada durante o Casual Class. Renato Bellia http://notasingleshot.blogspot.com http://twitter.com/renatobellia

Andando nas nuvens com a plataforma Spring

Como parte da programação do Casual Class realizado pela Globalcode sobre a plataforma Spring, o Júlio Viegas apresentou sobre como usar as ferramentas da SpringSource para colocar uma aplicação em cloud. O Júlio falou sobre a ferramenta online Cloud Foundry da SpringSource e mostrou os passos necessários para abrir uma conta no Amazon Elastic Compute Cloud e depois subir uma aplicação web com Spring numa máquina virtual na rede via Spring Tool Suite e o Cloud Foundry. Spring + Cloud Computing By Spock http://blog.spock.com.br/ http://twitter.spock.com.br/ http://www.springbrasil.com.br/

15 minutos de produtividade com o Dr. Roo

Como resultado do Casual Class sobre a plataforma Spring realizado no dia 26/fev, o Renato Bellia ( @renatobellia ) preparou e usou os slides a seguir para falar sobre o Spring Roo. Spring Roo Estes slides não estão formatados como slidecast, mas 15 minutos de gravação da apresentação foram capturados com a caneta mágica que roda Java da Livescribe e podem ser ouvidos através do painel a seguir. Mais sobre o Spring Roo: Home Spring Roo Upcoming conferences and JUGs featuring Roo Hello Roo Spring Roo em Ação Beginning With Roo: The Tutorial By Spock http://blog.spock.com.br/ http://twitter.spock.com.br/ http://www.springbrasil.com.br/

Slidecast sobre Plataforma Spring e Novidades do Spring 3

Acabei de colocar no ar o slidecast (slides + áudio sincronizado) da apresentação realizada no Casual Class da Globalcode sobre a plataforma Spring. Plataforma Spring e Novidades Spring 3 Esta apresentação foi baseada na apresentação realizada pelo Arjen Poutsma da SpringSource no evento SpringOne 2GX em 2009. Os slides e o vídeo desta outra apresentação estão disponíveis no InfoQ: What's new in Spring 3.0? By Spock http://blog.spock.com.br/ http://twitter.spock.com.br/ http://www.springbrasil.com.br/

Hello Roo

Durante o segundo semestre de 2009 tomei conhecimento a respeito da iniciativa de produtividade da Springsource conhecida como Spring Roo . Posteriormente, tive um contato muito convincente com essa ferramenta durante a passagem de Rod Johnson no Brasil no evento TDC 2009. Atualmente utilizo essa ferramenta em um projeto, e espero compartilhar algumas experiências no Casual Class de Spring , dia 26 fev 2010. Este evento marcará o lançamento do Spring Brasil User Group .  O que é Spring Roo ?  - Roo é uma ferramenta Open Source de produtividade Java, baseada em     - uma plataforma modularizável capaz de evoluir através de add-ons     - um terminal de comandos, chamado Roo Shel.  - Sem dúvida o principal atrativo de produtividade do Roo é a geração de código. Justamente por utilizar uma plataforma modularizável não podemos dizer que o Roo é apenas um gerador de código, e entendo que muitas etapas do ciclo de vida de um projeto Java pode...

Spring Brasil User Group nasceu saudável em 2010

O Spring Brasil User Group nasceu forte e saudável junto com o ano novo e, com menos de um mês de vida, já conta com mais de 100 membros. Venha participar também desta comunidade! Se ainda não é um membro, clique aqui !. Este grupo é uma rede social dedicada a fortalecer e fomentar a comunidade de usuários e desenvolvedores das tecnologias relacionadas ao Spring Framework . Fórum, Blog, Notícias e Chat <=> Comunidade O Spring Brasil User Group , carinhosamente apelidado de SBUG, está baseado na infraestrutura do site de redes sociais chamado Ning e, por isso, disponibiliza os mecanismos de fórum, blog, publicação de fotos e vídeos, divulgação de eventos e troca de mensagens entre os integrantes do grupo. Portanto, esta rede social permitirá a todos os participantes enviar dúvidas ou abrir discussões através do fórum, escrever notícias ou mini-tutoriais sobre Spring no blog e acompanhar as novidades e possíveis reuniões virtuais ou presenciais do grupo. De maneira tímida...

Melhorando Performance de JPA com Spring Web Flow

No TDC2009 realizado pela Globalcode em São Paulo foi apresentado um Lightning Talk sobre um problema específico de performance em aplicações Web com JPA e uma possível solução usando o Spring Web Flow . Num período de 15 minutos, os slides a seguir foram apresentados e seguidos de alguns vídeos de demonstração de uma aplicação Web em execução. Melhorando performance do JPA com Spring Web Flow View more presentations from Dr. Spock . Nesta apresentação foi dito que temos encontrado problemas de performance em aplicações Web que utilizam as tecnologias JSF + JPA + Ajax quando precisamos gerenciar um contexto de persistência (EntityManager). Estes problemas se manifestam quando aplicamos uma resposta errada para a pergunta: Como gerenciar o contexto de persistência numa aplicação Web? Se as aplicações não usam Ajax e limitam-se ao modelo orientado a requisições, a solução mais comum é o uso do design pattern chamado "Open Session In View Filter". Através deste design...