Di chuyển ứng dụng Grails sang Scala Play / Spray


12

Chúng tôi có một ứng dụng web Grails có kích thước vừa phải bằng cách sử dụng GORM / Hibernate trên PostgreQuery và GSP phục vụ HTML và một vài API REST. Chúng tôi đang chuẩn hóa Scala và muốn chuyển ứng dụng này sang Play hoặc Spray, với Slick để truy cập cơ sở dữ liệu hiện có.

Nimble hiện được sử dụng để xác thực / ủy quyền và người dùng / vai trò / v.v. sự quản lý.

Các phương pháp chúng ta có thể thực hiện để thực hiện việc di chuyển từng bước, tránh di chuyển vụ nổ lớn là gì?

Cả hai đều là ngôn ngữ JVM, có cách nào để tránh coi chúng là các ứng dụng web riêng biệt chạy trên các cổng riêng biệt với độ dài không?


Thú vị với tên dự án, nhưng cách tiếp cận hợp lý có thể là sử dụng proxy ứng dụng để cung cấp một không gian tên duy nhất. Một tùy chọn khác là chạy chúng dưới dạng các tệp WAR riêng biệt trong một thùng chứa web như Tomcat. Tôi chưa thực hiện Grails hoặc Scala, nhưng nếu API web là một trình bao bọc xung quanh Java Servlets thì bạn là vàng. Nếu không, bạn sẽ phải sử dụng proxy ứng dụng để ẩn các cổng riêng biệt, v.v.
Berin Loritsch

Câu trả lời:


1

Cá nhân, việc viết lại nghe có vẻ hiệu quả hơn đối với tôi, nhưng nếu bạn cần thực hiện theo từng bước tôi sẽ đề nghị bạn thực hiện phương pháp sau:

  • Di chuyển mã cơ sở dữ liệu hiện tại của bạn để sử dụng Slick (có thể bạn sẽ cần các trình bao bọc xung quanh nó để bảo vệ mã hiện tại của bạn khỏi quá nhiều thay đổi).
  • Tiếp theo, tích hợp Play vào thời gian chạy của bạn và sử dụng Silhouette để xác thực và ủy quyền với Play Action.
  • Sau đó, bạn có thể di chuyển các GSP riêng lẻ sang Play / Twirl một lần.

Thật không may, tôi không biết cách làm cho chúng nghe cùng một cổng để bạn phải chuyển hướng từ Grails sang cổng Play để làm cho nó liền mạch.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.