Notícias
Projeto OpenSource: SuperCRUD

Vinicius Senger Vinicius Senger
Minibio

Diretor técnico e fundador da Globalcode. Atua há mais de 14 anos com desenvolvimento de softwares para o mercado financeiro, incluído mentoring e arquitetura de projetos Java EE.

Atualmente desenvolve pesquisas e treinamentos, ministra cursos para a tecnologia Java™ e também para formação de instrutores. Palestrante em diversos eventos nacionais e também no JavaOne - Maior evento Java™ dos EUA.


Elétron Livre Globalcoders Vinicius Senger no Globalcoders
Certificações

SCEA - 1ª fase, SCJP 1.4, SCJA, Microsoft Certified Professional, Certified Trainner


Logo Core Web

Treinamento é especializado no desenvolvimento de aplicações Web usando tecnologia Java, especialmente JavaServer Faces (JSF).


Logo Academia Web

A carreira Academia Web é direcionada aos profissionais que já atuam com a plataforma Java, tais como programadores, arquitetos, analistas e gerentes técnicos, que desejam conhecer e trabalhar com os recursos web da plataforma Java Enterprise Edition (J2EE/Java EE), utilizando servlets e JavaServer Pages (JSP), Struts, JavaServer Faces (JSF), Hibernate e geração de relatórios com JasperReports.


Logo Academia Enterprise

A Academia Enterprise prepara os desenvolvedores para a utilização do Java EE, apresentando conceitos usados em aplicações corporativas sofisticadas.

17/06/2009

Projeto OpenSource: SuperCRUD

1. Como você inventou / criou o SuperCRUD ?

Aconteceu muito por acaso, estava trabalhando em um projeto pessoal quando vi a necessidade de criar umas 7 entidades novas, daquelas bem simples tipo: fabricante, marca, cor, etc. Comecei então a fazer um monte de copy-paste / find-replace para cada entidade. Achei que rapidamente poderia fazer um gerador de códigos Java com JSP assim aproveitaria o run-time do aplicativo para ser meu engine de código e fiz uma página em JSP que recebia como argumento o nome da classe e ela gerava o fonte em Java. O único copy-paste que precisava fazer era do browser para o IDE... Deste processo fui desenvolvendo uma ferramenta baseada neste conceito: usar JSP para gerar código-fonte Java, porque não?

2. O que é o SuperCRUD ?

O SuperCRUD se tornou um engine de geração de aplicativos CRUD (create, read, update e delete) na Web. Ele tem como principais características:

  1. Pode gerar aplicativos CRUD com diferentes modelos de arquitetura: JSF puro, Seam, Spring, EJB, etc.
  2. Possui um editor de entidades: você entra no site do SuperCRUD, define seu modelo de entidades e relacionamentos (em testes) e depois escolhe um template de arquitetura. Quando clicar em gerar você vai receber um arquivo zip contendo o projeto CRUD com o conjunto de tecnologias do template.
  3. Os projetos gerados pelo SuperCRUD utilizam Maven facilitando a aquisição das dependências e deployment em diferentes application servers.
  4. Estamos agora trabalhando em novas features como: plug-in para Netbeans, melhorando relacionamento / associação de tabelas, novos templates e a mais irada é a possibilidade de no futuro se customizar os templates de arquitetura on-line e depois fazer deployment em uma cloud, como Google App Engine.

3. Quais os maiores desafios de criar um projeto OpenSource ?

Abrir seu código. Todos acreditamos que a ideia que tivemos é algo sensacional e no primeiro e segundo anos de concepção da ideia achamos que temos capacidade de tirar proveito comercial do software em curto prazo. O problema é que software bom demora, mesmo com os ágeis gerenciando. Tirar proveito comercial de uma idéia é algo que requer 10% de código e 90% de energia de empreendedor. Abrir o código é a melhor maneira de manter sua ideia viva, fluindo em diversas partes do mundo, dentro de uma atmosfera comercial própria que está revolucionando as formas e contratos de trabalho, conceito de localidade e posse.

4. Houveram colaboradores no projeto que efetivamente colaboraram ?

Apesar da comunidade hoje ter 300 membros, temos 4 colaboradores:

  • Wagner Santos: plug-in do NetBeans
  • Alessandro Lazarotti: sistema de zip e download do projeto além da migração para Seam
  • Edson Prestes: diversos apoios além do template de Spring
  • Marcelo Felix: diversos bugs, muitos.

5. O projeto está no kenai.com, poderia contar como foi a disponibilização do projeto lá ?

Bem, estávamos no java.net anteriormente, agora estamos testando o kenai.com. Já achava o Java.net excelente, principalmente porque temos um grande nome e pessoa na gestão do grupo de ferramentas que é a Fabi Nardon. Mas o kenai.com com sua integração com NetBeans 6.7 promete... Estamos usando Subversion no kenai.com e no java.net era CVS. Tudo isso funciona bem para o tamanho da equipe de desenvolvedores do SuperCRUD.

6. Já foi criada alguma aplicação que foi colocada em produção com SuperCrud?

O próprio SuperCRUD. Ele chegou em um ponto que usamos ele mesmo para acrescentar features nele. O interessante é que as arquiteturas que estão como template sim foram usadas em projetos de médio e grande porte da Globalcode.

7. Qual você acha que é o maior benefício das pessoas que colaboram com um projeto Open Source ?

São várias:

  • Aumentar sua rede de relacionamento;
  • Trabalhar com pessoas de todo o mundo;
  • Aumentar seus conhecimentos técnicos e adquirir experiência prática;
  • Encorpar o currículo.
  • Se você colaborar muito com projetos opens-source, como por exemplo o JBoss Seam, e quiser trabalhar na JBoss suas chances são de 95% de conseguir.
  • Melhorar seu inglês.