Usando Groovy / Grails em um legado aplicativo web Java / JSP
Pergunta
Eu estava bastante feliz por ser capaz de começar de novo com Grails. No entanto, muitas pessoas têm me perguntado como adicionar Groovy e / ou Grails para um legado aplicativo web Java / JSP. As pessoas têm experiência ou recomendações sobre a melhor forma de incluir Groovy e Grails em um aplicativo grande legado?
Solução
Este artigo do IBM developerWorks entra em detalhes sobre como usar Grails com o seu banco de dados legado .
Uma ferramenta que pode ajudar a bases de dados mapa legados para domínio grails objetos é Grag - o Gerador Grails aplicativo . É uma ferramenta útil que ajuda a gerar as classes de mapeamento para você.
Uma terceira opção é a de não usar Grails para a camada gorm / domínio. Em vez disso, porque é funciona tão bem com Java, você pode criar serviços que chamar seu código Java legado existente para a lógica de negócios e persistência .
Eu espero que uma dessas abordagens obras para você.
Outras dicas
Uma coisa que eu vi feito é usar Grails como a interface de administração para uma aplicação Java Enterprise. Não é exatamente o que você perguntou, porque não há integração. Houve apenas um conjunto de requisitos que foram facilmente particionado e desenvolveram muito rapidamente em Grails. Na realidade, eles são aplicações separadas, mas usar os mesmos dados.
Eu começaria por partilhar o modelo de dados entre o jsps e Grails aplicativo (grails pode correr com classes Java simples e hibernação de configuração, por isso, se você estiver usando hibernate já não deve ser difícil de reutilizar as classes de hibernação) . Então eu migrar cada jsp / servlet como é para grails. Se você estiver usando primavera já, deve facilitar as coisas, pois você pode compartilhar o mesmo contexto de aplicação.
Dependendo de quão grande é o app é e outros requisitos, talvez seja melhor para reescrever a coisa toda, especialmente se o aplicativo legado não usa Primavera ou hibernação.
Eu encontrei este artigo que descreve ficando Groovlets e do gsp para trabalho, especificando as atualizações web.xml e os arquivos jar necessários para a projeto.
http://www.ibm.com/developerworks/java/library/j-pg03155
Eu adicionei os seguintes arquivos jar ao meu projeto e Groovlets trabalhou.
Groovy-1.5.7.jar
asm-2.2.jar
antlr-2.7.6.jar
Eu não tenho gsp de trabalho ainda.
Eu acho que isso depende do que se entende por "grails add / Groovy" para um app - porque Grails é uma pilha completa, e se por "add" você quer dizer substituir o velho pelo novo, então pode valer a pena reescrevê-lo.
Como já foi dito, Grails é uma pilha completa, assim que adicionar Grails para um aplicativo Java existente pode não ser o que você está procurando. Adicionando Java para um aplicativo Grails existente é trivial, no entanto. E adicionando Groovy para um aplicativo Java existente pode não ser muito duro.
Depende muito do tipo de aplicativo Java você está falando. Grails é construído sobre Spring MVC, Hibernate e tecnologias Java padrão semelhantes, por isso, se o seu aplicativo Java está usando tudo isso, pode fácil de converter o aplicativo Grails com algum código Java legado.