BT

Skyway Builder Community Edition. Suporte a Geração de Código para Aplicações Spring

por Srini Penchikala , traduzido por Ricardo Almeida em 02 Mar 2009 |

A última versão do Skyway Builder Community Edition (CE) oferece um framework gerador de código open source para aplicações web baseadas no Spring. O community edition pode ser usado para gerar código nas camadas de aplicação (Data, Service e camada Web) de uma típica aplicação Spring. Skyway Software recentemente anunciou a versão (GA) do Skyway Builder 6.1.

A nova funcionalidade de geração (scaffolding) do Spring MVC permite os desenvolvedores gerar os modelos de domínio (domain model) e uma aplicação CRUD em Java, baseado no Spring. Classes de Testes JUnit também são automaticamente gerados pela ferramenta. Skyway builder ajuda desenvolvedores Java nas seguintes areas da aplicação web.

Camada de dados:

  • Modelagem de dados
  • Queries Nomeadas (Named Queries)
  • Java Persistence API (JPA) incluindo Hibernate, JPQL and SQL.

Camada Service:

  • Modelagem de Serviços
  • Operação de Queries(Operation Queries)
  • Modelagem de Action
  • Composição de Serviços(Composite Services)

Camada Web:

  • Modelagem de Controllers Web
  • Modelagem de Conversação
  • Modelagem de Action
  • Desenvolvimento AJAX

O novo release inclui suporte para Apache Maven para automação de build dentro do Standard Eclipse Dynamic Web Java Project. Ele também tem integração com ferramentas da SpringSource como Spring IDE e Spring Tool Suite (STS).

InfoQ entrevistou Niel Eyde, gerente de produtos do Skyway Software, sobre o novo release do community edition e o futuro do produto.

Qual foi a principal motivação do release do Skyway Builder Community Edition?

Nossa versão é para eliminar as complexidades do ciclo de vida do software. Com nossas distribuições free e open source, Skyway Builder Community Edition (CE), nossa missão é permitir nossos membros de comunidade, clientes e parceiros a reduzir o custo e complexidade do desenvolvimento de software, assim eles podem entregar aplicacões baseadas no Spring dentro do tempo e custo.

A ferramenta de geração segue os princípios e boas práticas mencionadas no livro Domain-Driven Design?

Skyway Builder abstrai as tecnologias (Java, Spring MVC, etc.), o qual está consciente com o DDD de modelagem dirigida ao domínio. Nosso gerador de código é simplesmente uma representação concreta dos modelos definidos pelo desenvolvedor. Se o desenvolvedor é um praticante de DDD, então princípios e boas práticas de DDD irão influenciar como modelar o sistema usando o Skyway Builder. Como ele chega como boas práticas de geração de código, Skyway Builder gera aplicações de acordo com boas práticas do Spring definidas pelo SpringSource (Skyway Builder é certificado no SpringSource) e a indústria (comunidade, clientes, parceiros).

Como a ferramenta ajuda desenvolvedores Java que estão usando princípios dirigidos a testes no TDD (Test-driven Design and Development)?

Skyway Builder não contém funcionalidades especificamente orientedas a TDD. Nesse ponto, nosso ganho é simplesmente não se tornar um obstáculo ao TDD, e deselvolvedores deveriam ser capazes de alavancar o TDD usando o Skyway Builder. A única sutíl diferença é que alguma parte (ou tudo) do código da aplicação é gerado ao invés de codado. Para permitir TDD, o gerador de código do Skyway Builder deve ser completamente transparente para desenvolvedores. O código gerado deve ter alta qualidade, alavancando as bibliotecas que desenvolvedores usam, e não contém qualquer customização ou biblioteca proprietária. É importante notar também que o fato do código ser gerado de uma maneira consistente - com menos variabilidade devido a diferentes estilos/preferencias de desenvolvedores - oferece benefícios para testes. Como todos que dizem, existe uma oportunidade para adicionar funcionalidades relacionadas a TDD pelo Skyway Builder.

O gerador de código pode ser modificado depois do que foi gerado pela ferramenta?

Sim. Desenvolvedores podem usar o Skyway Builder de várias maneiras. Alguns usam ele para definir e gerar toda estrutura de sua aplicação, e em seguida eles implementam e mantém o código gerado manualmente. Outros usam o Skyway Builder para desenvolver uma aplicação do início até o fim. Nesse caso, os desevolvedores são capazes de alavancar códigos java pré-existentes, código Groovy, e Spring Beans dentro de um ambiente Skyway Builder. Para modificar o código gerado, simplesmente remova a anotação @generated do código e faça a manutenção manualmente . O próximo release do Skyway Builder (6.2) vai também permitir desenvolvedores adicionar manualmente blocos de código para gerar métodos.

Como a ferramenta Skyway Builder se compara com outra ferramenta de geração de código como o Eclipse Modeling Framework (EMF), openArchitectureWare (oAW) e AndroMDA?

Existem muitos propósitos de frameworks de geração de código. Enquanto eles ajudam a construir soluções de geração de código, essas ferramentas não tem uma solução específica para gerar uma aplicação web baseada no Spring. Se um desenvolvedor necessita gerar uma aplicação Spring MVC ou um RIA usando Spring, o desenvolvedor necessitaria implementar seu próprio código de geração. Skyway Builder é uma instanciação do EMF. Nós estamos alavancando o poder do EMF para fornecer uma solução que acelere o deselvolvimento de aplicações baseadas no Spring.

A criação de modelos de domínio na ferramenta Skyway Builder respeita os padrões do MDA? O modelo é portável para outra ferramenta MDA?

O Skyway Builder metadata é definido usando o EMF e é transferível para outras soluções de EMF.

Qual é o futuro caminho do projeto Skyway Builder?

Nosso caminho inclui: Eclipse 3.4 (Ganymede), opções adicionais de binding de dados do Spring MVC, Spring Web Flow, melhora no suporte do Groovy, refactoring contínuo no código de geração, e passos de modelagem adicionais.

Skyway builder CE ainda não suporta o Eclipse 3.4. Mas o próximo release (versão 6.2), programado para ser disponível no fim de Março, vai suportar a última versão do eclipse. Ele também suporta o deselvolvimento do container do Tomcat (versões 5.5 e 6.0) e banco de dados como MySQL e Postgres.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT