Міграція програми Grails на Scala Play / Spray


12

У нас є веб-додаток Grails середнього розміру за допомогою GORM / Hibernate за PostgreSQL та GSP, що обслуговують HTML, а також кілька API REST. Ми стандартизуємо програму Scala і хотіли б перенести цю програму на Play або Spray, щоб Slick отримав доступ до існуючої бази даних.

В даний час Nimble використовується для автентифікації / авторизації та користувача / ролі / тощо. управління.

Які підходи ми можемо застосувати для того, щоб робити міграцію поетапно, уникаючи великої міграції чубків?

Вони обидві мови JVM, чи є спосіб уникнути трактування їх як окремих веб-додатків, що працюють на окремих портах на відстані зброї?


Весело з іменами проектів, але розумним підходом може бути використання проксі-програми для надання єдиного простору імен. Інший варіант - запустити їх як окремі файли WAR в веб-контейнері, як Tomcat. Я ще не робив Grails або Scala, але якщо веб-API є обгорткою навколо Java Servlets, то ви золоті. Якщо ні, вам доведеться скористатися проксі-програмою, щоб приховати окремі порти тощо.
Berin Loritsch

Відповіді:


1

Особисто мені переписання звучить більш ефективно, але якщо вам потрібно це робити поетапно, я б запропонував вам скористатися наступним підходом:

  • Перемістіть існуючий код бази даних, щоб використовувати Slick (можливо, вам знадобляться обгортки навколо нього, щоб захистити ваш існуючий код від занадто багатьох змін).
  • Далі інтегруйте Play у свій час виконання та використовуйте Silhouette для аутентифікації та авторизації за допомогою Play Actions.
  • Тоді ви зможете переміщувати окремі GSP в Play / Twirl по черзі.

На жаль, я не знаю способу змусити їх слухати один і той же порт, тому вам доведеться перенаправляти з Grails на порт Play, щоб зробити його безпроблемним.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.