Приложение RESTful на Google App Engine Java?

Я хочу создать приложение RESTful на Google App Engine. Я хотел бы предоставить услуги XML и JSON. Я вкратце поэкспериментировал с Restlet, Resteasy и Jersey. У меня не было большого успеха ни с одним из них, кроме нескольких простых примеров в Restlet.

Не могли бы вы поделиться своим опытом создания веб-приложения Restful на Google App Engine с использованием Java или поделиться информацией о вышеупомянутых наборах инструментов в GAE?

Спасибо!

Изменить (2009-07-25):

Я решил пока использовать Restlet. Вроде пока работает безупречно. Пожалуйста, публикуйте любые другие идеи / мнения, которые могут у вас возникнуть. С какими проблемами вы столкнулись? Вы успешно использовали Jersey / Restlet / Resteasy на GAE / J? Если так, мы хотим об этом услышать!


person JP Richardson    schedule 18.06.2009    source источник
comment
Technicalrex.com/2014/08 / 11 / и javacodegeeks.com/2012/05/ - лучший справочник по интеграции Jersey GAE.   -  person Md. Sajedul Karim    schedule 17.10.2015
comment
Это вопрос выбора фреймворка, к которому мы привыкли в нашей разработке, я использовал Spring MVC с objectify, а также Hibernate, и он также безупречно работает на Google App Engine.   -  person Ankur Jain    schedule 04.06.2016
comment
@AnkurJain да, за 7 лет многое изменилось.   -  person JP Richardson    schedule 04.06.2016


Ответы (10)


Рад сообщить, что Restlet M3 БЕЗУПРЕЧНО работает на AppEngine 1.2.2. Я следил за учебниками «Первые шаги» и «Первый ресурс», найденными http://restlet.com/technical-resources/restlet-framework/guide.

Итак, мне кажется, что Restlet - это ответ для ваших приложений GAE / J Restful.

person JP Richardson    schedule 25.07.2009
comment
Вышеупомянутая ссылка теперь не работает. Соответствующая ссылка GAE для Restlet 2.2: restlet.org/learn/guide/2.2/editions/ gae - person George Hawkins; 22.04.2014

Я использую Джерси на GAE. Вот ссылка для тех, кто заинтересован в его настройке: (я использую GAE SDK v1.4.0):

http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html

person Viren    schedule 27.01.2011
comment
Ссылка выше относится к Джерси 1.1.5. Команда GAE ведет примечания к этой и более поздним версиям здесь - code.google.com/ p / googleappengine / wiki / WillItPlayInJava # Jersey - person George Hawkins; 22.04.2014

Я собираюсь начать изучать и это, но еще не начал. Я нашел этот фреймворк, в котором говорится, что он должен работать, но, как я уже сказал, еще не пробовал.

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

Если у вас все получится или вам удастся заставить работать одно из вышеперечисленных предложений, обновите всех, поскольку я уверен, что в этом есть интерес.

person broschb    schedule 17.07.2009
comment
Я почти уверен, что Рестлет сработает. Это просто немного неприятнее в использовании, чем другие. Мне особенно нравятся аннотации, представленные Джерси. Я планирую использовать Restlet в ближайшие пару недель. Обязательно опубликую обновление. - person JP Richardson; 18.07.2009
comment
Я провел выходные, играя с этим, и Рестлет отлично работает с GAE. Я смог собрать что-то, следуя примеру, приведенному на сайте Restlet по URL-адресу, который я оставил ранее, но теперь не работает. Но настроить все было тривиально. - person broschb; 27.07.2009
comment
Я написал небольшой пост в своем блоге, чтобы ответить на другой вопрос о stackoverflow. Здесь проходит очень простой пример перезапуска GAE. broschb.blogspot.com/2009/08/ - person broschb; 08.08.2009
comment
У Restlet теперь есть реализация JAX-RS. Они также начали распространять сборки специально для использования в AppEngine. Вы захотите использовать последнюю веху 2,0 (в настоящее время 2,0 м4). Я только что установил это как доказательство концепции для нового приложения, которое сейчас создается. Я бы не рекомендовал использовать собственный API Рестлета, поскольку он в корне универсален, излишне абстрагирован и просто сбивает с толку. restlet.org/downloads/2.0/restlet-gae-2.0m4. zip - person Mark Renouf; 18.09.2009
comment
stackoverflow .com / questions / 2157857 / - person Jasper; 28.02.2010

Я использую Restlet вместе с Guice в Google AppEngine. ИМХО они очень хорошо сочетаются друг с другом. Дополнительную информацию см. В моем недавнем сообщении в блоге: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html.

person Harald    schedule 19.01.2010

Поскольку эти доблестные старые решения были объединены вместе, Google, по-видимому, предоставил плагин Eclipse для создания начального проекта, который создает приложение App Engine, Android APK и веб-приложение, которые общаются друг с другом через интерфейс, определенный одним набором. объявлений аннотированных объектов.

Я еще не пробовал это сделать, но взгляните, прежде чем пробовать любой из более разнородных примеров, описанных в предыдущих сообщениях выше:

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

Это видео Google также довольно информативно:

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

person Carl    schedule 05.12.2012

Как бы то ни было, в списках пользователей Джерси было довольно много обсуждения того, как заставить Джерси работать над GAE. Это немного утомительная работа из-за ограничений GAE (отсутствие классов в белых списках - надеюсь, со временем разрешится), но, очевидно, ее можно заставить работать. Так что, хотя это и не является тривиально простым, это может быть вашим лучшим выбором; особенно поскольку многие из возникающих проблем одинаковы для всех фреймворков (навязанных GAE).

person StaxMan    schedule 19.06.2009
comment
Я хотел бы спросить вас, есть ли у вас здесь решение моего вопроса stackoverflow.com/questions/32699420/ спасибо - person Marco Dinatsoli; 23.09.2015

Что ж, я бы очень посоветовал вам взглянуть на игровой фреймворк

Посмотрите видео на главной странице

В нем есть модуль gae.

С siena в качестве орма для работы с хранилищем данных gae

Из всех java-фреймворков, которые я видел до сих пор, я думаю, что у него более легкая кривая обучения,

  • отличная документация,

  • руководство по разработке полного приложения

  • очень активное и отзывчивое сообщество,

  • бесплатно как в пиве, а также как в речи

  • высокая масштабируемость благодаря нестандартному дизайну без сохранения состояния

  • для отдыха

  • широкие возможности настройки с помощью модулей и плагинов

более того, учитывая, что это курс колледжа, очень легко взломать код, я мог бы справиться с парой билетов и новыми функциями без какого-либо опыта работы с java, всего пара лет разработки веб-приложений с php

другие преимущества

  • это действительно легко начать, не требует сложной настройки, просто скачайте и разархивируйте файл, и все готово

  • отличный опыт разработки, просто исправьте код и нажмите «Обновить», проигрывайте автокомпилированные изменения на лету при работе в режиме разработки

  • быстрый и легкий

  • fullstack, вам не нужно интегрировать громоздкие фреймворки, чтобы он работал

  • отличный отчет об ошибках, больше нет бесконечной трассировки стека ошибок, просто показывает строку с ошибкой

  • нет конфигурации xml где-либо вокруг

  • отличная поддержка tdd с интегрированным тестом селена

Я думаю, что основным преимуществом в качестве инструмента обучения является то, что можно заглянуть в исходный код, не чувствуя себя потерянным, и поддержка сообщества ... Документация очень четкая, и вы можете многому научиться, просто взглянув на исходный код. код...

person opensas    schedule 30.03.2011
comment
Игра выглядит очень эффектно. Однако его интеграция с GAE не выглядит так, как будто поддерживается в основном проекте, и поэтому отстает от цикла выпуска GAE. Его плагин GWT, кажется, отстает еще больше. Тем не менее, я дам вам голос за то, что вы показали мне такой классный проект. - person JP Richardson; 30.03.2011
comment
модуль gae был разработан и поддерживается главным разработчиком, модуль siena (рекомендуется orm для gae, у jpa много проблем) поддерживается очень активным членом сообщества, к сожалению, модулю gwt не уделяется так много внимания в поступок... - person opensas; 31.03.2011
comment
Модуль gae снова на ходу! за это взялся другой разработчик, вот поддержка для gae 1.6 playframework.org/modules/ gae-1.6.0 / home - person opensas; 19.02.2012

Недавно я собрал шаблон проекта с помощью Jersey, Guice и AppEngine на GitHub. Он был разработан с помощью SimpleDS, но его можно легко изменить для работы с Objectify / JDO. Проект доступен здесь.

Это должно стать хорошей отправной точкой для новых проектов.

person Nacho Coloma    schedule 24.05.2012

Вот очень хороший учебник Restlet / Android / GAE / Objectify с примером простого приложения. Извините, он на французском, но вы можете просто скопировать / вставить код или использовать перевод Google.

Я следил за ним, и за 2 часа у меня был рабочий сервер Android / GAE, который общался вместе. Это хорошая основа для запуска или тестирования Restlet.

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

Удачи

person Tyvain    schedule 14.08.2012

Два наиболее громоздких действия GAE REST API, требующих работы, будь то Java или .py, - это графика и способ не отображать личную информацию. Мой маленький gae rest feed разветвлен другой проект. Я уверен, что Java преуспевает там, где python застрял из-за Java, и дает больше способов (преимуществ), а также более длительное (более медленное) время для успеха (недостаток), в то время как проекты python открывают меньше возможностей для успеха (невыгодно) и меньше времени на разработку ( выгодное быстрое развитие), чтобы добиться того же.

person Niklas R.    schedule 18.06.2009