Migrando um aplicativo Grails para o Scala Play / Spray


12

Temos um aplicativo da Web Grails de tamanho médio usando GORM / Hibernate sobre PostgreSQL e GSPs que servem HTML, e também algumas APIs REST. Estamos padronizando o Scala e gostaríamos de migrar esse aplicativo para o Play ou Spray, com o Slick para acessar o banco de dados existente.

Atualmente, o Nimble é usado para autenticação / autorização e usuário / função / etc. gestão.

Quais são as abordagens que podemos adotar para fazer a migração passo a passo, evitando uma migração do big bang?

Ambos são idiomas da JVM. Existe uma maneira de evitar tratá-los como aplicativos da Web separados, executando em portas separadas?


Diversão com nomes de projetos, mas uma abordagem razoável poderia ser usar um proxy de aplicativo para fornecer um único espaço para nome. Outra opção é executá-los como arquivos WAR separados em um contêiner da web como o Tomcat. Eu não fiz Grails ou Scala, mas se as APIs da Web são um invólucro em torno dos Servlets Java, você é de ouro. Caso contrário, você precisará usar o proxy do aplicativo para ocultar as portas separadas etc.
Berin Loritsch

Respostas:


1

Pessoalmente, uma reescrita me parece mais eficiente, mas se você precisar fazer isso em etapas, sugiro que você siga a seguinte abordagem:

  • Mova seu código de banco de dados existente para usar o Slick (você provavelmente precisará de wrappers para protegê-lo de muitas alterações).
  • Em seguida, integre o Play ao seu tempo de execução e use o Silhouette para autenticação e autorização com o Play Actions.
  • Você poderá mover GSPs individuais para Play / Twirl, um de cada vez.

Infelizmente, não conheço uma maneira de fazê-los ouvir a mesma porta, então você teria que redirecionar do Grails para a porta Play para torná-la perfeita.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.