Ứng dụng RESTful trên Google App Engine Java?


83

Tôi muốn tạo một ứng dụng RESTful trên Google App Engine. Tôi muốn cung cấp các dịch vụ XML và JSON. Tôi đã thử nghiệm một thời gian ngắn với Restlet, Resteasy và Jersey. Tôi đã không thành công với bất kỳ cái nào trong số chúng, ngoài một số ví dụ đơn giản trong Restlet.

Bạn có thể chia sẻ kinh nghiệm tạo ứng dụng web Restful trên Google App Engine bằng Java hoặc cung cấp bất kỳ thông tin chi tiết nào về các bộ công cụ nói trên trên GAE không?

Cảm ơn!

Chỉnh sửa (2009-07-25):

Tôi đã quyết định sử dụng Restlet vào lúc này. Nó dường như hoạt động hoàn hảo cho đến nay. Vui lòng đăng bất kỳ thông tin chi tiết / ý kiến ​​nào khác mà bạn có thể có. Bạn đã gặp phải những vấn đề gì? Bạn đã sử dụng thành công Jersey / Restlet / Resteasy trên GAE / J chưa? Nếu vậy, chúng tôi muốn nghe về nó!


technicalrex.com/2014/08/11/...javacodegeeks.com/2012/05/... là turorial tốt nhất về Jersey GAE hội nhập.
Md. Sajedul Karim,

Vấn đề là lựa chọn khung mà chúng tôi đã sử dụng trong quá trình phát triển của mình, tôi đã sử dụng Spring MVC với objectify cũng như Hibernate và nó cũng hoạt động hoàn hảo trên Google App Engine.
Ankur Jain

@AnkurJain vâng, rất nhiều thay đổi trong 7 năm.
JP Richardson

Câu trả lời:


45

Tôi vui mừng thông báo rằng Restlet M3 hoạt động RẤT RẤT HƠN trên AppEngine 1.2.2. Tôi đã làm theo hướng dẫn "Các bước đầu tiên" và "Tài nguyên đầu tiên" được tìm thấy tại http://restlet.com/technical-resources/restlet-framework/guide .

Vì vậy, đối với tôi, có vẻ như Restlet là câu trả lời cho các ứng dụng GAE / J Restful của bạn.


4
Liên kết trên hiện đã bị hỏng. Liên kết liên quan đến GAE cho Restlet 2.2 là restlet.org/learn/guide/2.2/editions/gae
George Hawkins


6

Tôi cũng sẽ bắt đầu khám phá điều này, nhưng vẫn chưa bắt đầu. Tôi đã tìm thấy khuôn khổ này, điều đó nói rằng nó sẽ hoạt động, nhưng như tôi đã nói chưa thử nó.

http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html

Nếu bạn làm cho nó hoạt động hoặc quản lý để làm cho một trong những đề xuất ở trên hoạt động, hãy cập nhật cho mọi người vì tôi chắc chắn có quan tâm đến điều này.


1
Tôi khá chắc rằng Restlet sẽ hoạt động. Nó chỉ là một chút tiện lợi để sử dụng hơn những người khác. Tôi đặc biệt thích các chú thích mà Jersey giới thiệu. Tôi dự định sử dụng Restlet trong vòng vài tuần tới. Tôi chắc chắn sẽ đăng một bản cập nhật.
JP Richardson

Tôi cũng đã dành cả cuối tuần để chơi với cái này, Và Restlet hoạt động rất tốt trên GAE. Tôi đã có thể kết hợp một cái gì đó với nhau theo ví dụ được đưa ra trên trang Restlet tại url mà tôi đã để lại trước đây, hiện đã ngừng hoạt động. Nhưng thật tầm thường khi sắp đặt mọi thứ.
broschb

Tôi đã viết một bài đăng nhỏ trên blog của mình để trả lời một câu hỏi khác trên stackoverflow. Nó đi qua một ví dụ rất cơ bản về việc khởi động restlet trên GAE. broschb.blogspot.com/2009/08/…
broschb

1
Restlet hiện có triển khai JAX-RS. Họ cũng đã bắt đầu phân phối các bản dựng đặc biệt để sử dụng trên AppEngine. Bạn sẽ muốn sử dụng mốc 2.0 mới nhất (hiện tại là 2.0m4). Tôi vừa thiết lập điều này như một bằng chứng về khái niệm cho một ứng dụng mới hiện đang được xây dựng. Tôi không khuyên bạn nên sử dụng API riêng của Restlet vì nó hoàn toàn chung chung, quá trừu tượng và thường gây nhầm lẫn. restlet.org/downloads/2.0/restlet-gae-2.0m4.zip
Mark Renouf



3

Vì các giải pháp cũ dũng cảm này đã được vá lại với nhau, nên Google rõ ràng đã cung cấp một plugin Eclipse để tạo một dự án khởi động tạo ra ứng dụng App Engine, APK Android và ứng dụng Web, tất cả đều nói chuyện với nhau qua một giao diện được xác định bởi một bộ duy nhất khai báo đối tượng được chú thích.

Tôi chưa thử điều này, nhưng hãy xem trước khi thử bất kỳ ví dụ nào không đồng nhất được mô tả trong các thông báo trước đó ở trên:

https://developers.google.com/eclipse/docs/appengine_connected_android

Video này của Google cũng khá nhiều thông tin:

http://www.youtube.com/watch?v=NU_wNR_UUn4


2

Đối với những gì nó đáng giá, đã có khá nhiều cuộc thảo luận về danh sách người dùng Jersey wrt cách làm cho Jersey hoạt động trên GAE. Đó là công việc hơi tẻ nhạt do các hạn chế của GAE (thiếu các lớp trong danh sách trắng - hy vọng sẽ được giải quyết theo thời gian), nhưng dường như có thể được thực hiện để hoạt động. Vì vậy, mặc dù không dễ dàng chút nào, đó có thể là đặt cược tốt nhất của bạn; đặc biệt. vì nhiều vấn đề gặp phải là giống nhau đối với tất cả các khuôn khổ (do GAE áp đặt).


tôi muốn hỏi bạn nếu u có bất kỳ giải pháp cho câu hỏi của tôi ở đây stackoverflow.com/questions/32699420/... cảm ơn u
Marco Dinatsoli

2

Tôi thực sự khuyên bạn nên xem qua khung chơi

Chúc các bạn xem video trên trang chủ

Nó có một mô-đun gae

Với siena như một orm để xử lý kho dữ liệu gae

Từ tất cả các khuôn khổ java mà tôi đã thấy cho đến nay, tôi nghĩ rằng nó có đường cong học tập dễ dàng hơn,

  • tài liệu tuyệt vời ,

  • một hướng dẫn để phát triển một ứng dụng hoàn chỉnh

  • cộng đồng rất tích cực và hữu ích,

  • miễn phí như trong bia và cũng như trong bài phát biểu

  • có khả năng mở rộng cao do nó không có trạng thái ngoài thiết kế hộp

  • nghỉ ngơi thân thiện

  • có thể tùy chỉnh cao thông qua cách tiếp cận mô-đun và plugin của nó

hơn nữa, tính đến việc nó dành cho một khóa học đại học, rất dễ dàng để hack vào mã, tôi có thể xử lý một vài vé và các tính năng mới mà không cần bất kỳ kinh nghiệm nào với java, chỉ vài năm phát triển ứng dụng web với php

lợi ích khác

  • nó thực sự dễ dàng để bắt đầu, không cần thiết lập phức tạp, chỉ cần tải xuống và giải nén tệp và bạn đã sẵn sàng

  • trải nghiệm phát triển tuyệt vời, chỉ cần sửa mã và nhấn làm mới, phát nhanh các thay đổi biên dịch tự động khi chạy trên chế độ phát triển

  • nhanh và nhẹ

  • fullstack, bạn không cần phải tích hợp các khuôn khổ cồng kềnh để làm cho nó hoạt động

  • báo cáo lỗi lớn, không còn dấu vết ngăn xếp lỗi vô tận nữa, chỉ hiển thị cho bạn dòng có lỗi

  • không có cấu hình xml ở bất kỳ đâu xung quanh

  • hỗ trợ tuyệt vời cho tdd với thử nghiệm tích hợp selen

Tôi nghĩ lợi thế chính của một công cụ học tập, đó là có thể xem qua mã nguồn mà không cảm thấy bị mất và được cộng đồng hỗ trợ ... Tài liệu rất rõ ràng, và bạn có thể học được nhiều điều chỉ cần xem qua nguồn. mã ...


Chơi trông rất ấn tượng. Tuy nhiên, sự tích hợp của nó với GAE có vẻ như không được duy trì trong dự án chính và do đó bị tụt hậu so với chu kỳ phát hành của GAE. Plugin GWT của nó dường như còn tụt hậu hơn nữa. Không hơn không kém, tôi sẽ ủng hộ bạn vì đã cho tôi thấy một dự án tuyệt vời như vậy.
JP Richardson

mô-đun gae được phát triển và được nhà phát triển chính quản lý, mô-đun siena (đề xuất orm cho gae, jpa có rất nhiều rắc rối) do một thành viên rất tích cực của cộng đồng chú ý, tiếc là mô-đun gwt không nhận được nhiều sự chú ý trong chứng thư ...
opensas

mô-đun gae đã trở lại đúng hướng! một nhà phát triển khác đã chịu trách nhiệm về nó, đây là hỗ trợ fot gae 1.6 playframework.org/modules/gae-1.6.0/home
opensas 19/02/12

2

Gần đây tôi đã tập hợp một mẫu dự án với Jersey, Guice và AppEngine tại GitHub. Nó đã được phát triển với SimpleDS, nhưng nó có thể được sửa đổi để làm việc với Objectify / JDO một cách dễ dàng. Dự án đang sống ở đây .

Nó phải là một điểm khởi đầu tốt cho các dự án mới.


1

Đây là một hướng dẫn rất tốt Restlet / Android / GAE / Objectify với một ví dụ về một ứng dụng đơn giản. Xin lỗi, nó bằng tiếng Pháp, nhưng bạn có thể sao chép / dán mã hoặc sử dụng google traduction.

Tôi đã theo dõi nó và có một máy chủ Android / GAE đang hoạt động kết nối với nhau sau 2 giờ. Đó là một cơ sở tốt để bắt đầu hoặc kiểm tra Restlet.

http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify

Chúc may mắn


-1

2 hành động API GAE REST rườm rà nhất để thực hiện, dù là Java hay .py, là đồ họa và cách hủy hiển thị thông tin cá nhân. Nguồn cấp dữ liệu nghỉ ngơi nhỏ bé của tôi đã chia một dự án khác . Tôi chắc chắn rằng Java sẽ thành công khi python bị mắc kẹt do Java mất và đưa ra nhiều cách hơn (lợi thế) cũng như thời gian lâu hơn (chậm hơn) để thành công (bất lợi) trong khi các dự án python mở ra ít cách để thành công hơn (bất lợi) và ít thời gian phát triển hơn ( phát triển nhanh chóng thuận lợi) để thành công như nhau.

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.