2011-12-04 31 views
7

Tôi đang tìm các giải pháp thay thế cho nhóm của mình để tạo các dịch vụ REST đơn giản trả lời ở định dạng JSON cho nhiều khách hàng. Các dịch vụ này được phát triển trên Spring MVC với Hibernate. Bắt buộc phải kết nối và làm việc với các cơ sở dữ liệu cũ (SQLServer, DB2 và MySQL - phụ thuộc vào dự án). Bây giờ tôi đang tìm kiếm các giải pháp thay thế để phát triển dịch vụ theo một cách tiếp cận nhẹ hơn. Đừng hiểu lầm tôi: Mùa xuân làm một công việc tốt nhưng đáng buồn là không phải ai trong đội chúng tôi cũng quen thuộc với Spring thậm chí là Hibernate. Addtion to this: Trong hầu hết các trường hợp, Spring stack hoàn toàn không cần thiết. Nó cũng sẽ giúp loại bỏ JVM.Phương án thay thế cho các dịch vụ Web dựa trên Java/Spring

Tôi đã nghĩ đến một giải pháp giống như tập lệnh. Có lẽ PHP? Có cái gì đó giống như một ORM mà có thể làm việc trên các hệ thống DB cũ? Tương tự cho Ruby on Rails.

Có thể có điều gì đó mà tôi chưa từng nghe hoặc đến bây giờ. Tôi rất muốn nghe ý kiến ​​hay kinh nghiệm của bạn với các kỹ thuật khác.

Trân

+0

Không có khung công tác php nào có thể xử lý các yêu cầu của tôi? – onigunn

Trả lời

1

Không chắc chắn nếu bạn sẽ sẵn sàng để đi theo hướng này, nhưng gần đây tôi đã viết một webservice trong ASP.NET MVC 3. Bạn có thể ràng buộc JSON chuyển trực tiếp cho đối tượng mô hình mà không cần phải viết bất kỳ mã phụ. Bạn cũng có thể cấu hình các URL để phù hợp với tiêu chuẩn REST. Nếu bạn đang làm việc với một cái gì đó giống như SQL Server, cách tiếp cận này có lẽ sẽ khá đơn giản.

+0

Cảm ơn câu trả lời của bạn Mike nhưng tôi không nghĩ rằng ASP.NET Framework là lightweigth như các giải pháp Java của chúng tôi cho đến nay. – onigunn

0

Tôi muốn giới thiệu Rails hoặc Sinatra (bạn có thể chạy trên Java với JRuby). Cả hai đều có thể tận dụng lợi thế của ActiveRecord và các thư viện kết nối khác của Ruby ORM và DB; bạn sẽ có thể làm cho các thư viện này nói chuyện với cơ sở dữ liệu kế thừa của bạn mà không gặp quá nhiều rắc rối.

+0

Bạn có thể cung cấp một ví dụ về Marnen không? Một bài đăng blog hoặc một cái gì đó theo cách này? – onigunn

+0

Bạn muốn ví dụ cụ thể là gì? –

2

JAX-RS là một cách nhẹ nhàng để thực hiện phần còn lại trên JVM. Có các plugin chuyển đổi các đối tượng có chú thích JAXB thành JSON, hoặc bạn có thể tự cuộn nó theo vô số cách.

EclipseLink là triển khai tốt thông số JPA. Một cách khá dễ dàng để ánh xạ các đối tượng của bạn tới cơ sở dữ liệu thông qua các chú thích. JAX-RS làm việc với điều này theo mặc định, ví dụ: bạn có thể tra cứu một đối tượng bằng JPA. Sau đó bạn có thể chú thích nó bằng JAXB và sau đó trả về nó trực tiếp từ phương thức dịch vụ web của bạn (nếu bạn muốn XML) và nó sẽ hoạt động. Ngoài ra còn có một plugin cho Jersey (triển khai tham chiếu JAX-RS) cho phép bạn sắp xếp theo thứ tự như JSON theo cách này.

Các JAX-RS, JPA và JAXB này là ba API thực sự tuyệt vời. Họ không làm mọi thứ, nhưng chúng nhẹ và giúp bạn hoàn thành công việc thực sự mà không có nhiều phiền toái.

+0

+1 - EclipseLink cũng cung cấp việc triển khai đặc tả JAXB được gọi là MOXy. Đây là một liên kết đến một ví dụ mà tôi đã tạo ra loại dịch vụ RESTful được mô tả bởi Bill sử dụng EclipseLink là nhà cung cấp JPA và JAXB: http://blog.bdoughan.com/2010/08/creating-restful-web-service- part-15.html –

+0

Cảm ơn Blaise. Tôi sẽ kiểm tra mà ra. – Bill

+0

Tôi sẽ xem xét điều này cho chắc chắn. Có vẻ là một cách tiếp cận sạch sẽ mà không có một chồng thực sự lớn phía sau nó. – onigunn

Các vấn đề liên quan