Приложение RESTful на Java Google App Engine?
-
06-07-2019 - |
Вопрос
Я хотел бы создать приложение RESTful в Google App Engine.Я хотел бы предоставлять услуги XML и JSON.Я кратко поэкспериментировал с Restlet, Resteasy и Jersey.Я не добился большого успеха ни с одним из них, за исключением нескольких простых примеров в Restlet.
Не могли бы вы поделиться своим опытом создания веб-приложения Restful в Google App Engine с использованием Java или рассказать о вышеупомянутых наборах инструментов в GAE?
Спасибо!
Изменить (25 июля 2009 г.):
Я решил пока использовать Restlet.Кажется, пока работает безупречно.Пожалуйста, опубликуйте любые другие идеи/мнения, которые могут у вас возникнуть.С какими проблемами вы столкнулись?Успешно ли вы использовали Jersey/Restlet/Resteasy на GAE/J?Если да, то мы хотим об этом услышать!
Решение
Я рад сообщить, что Restlet M3 БЕЗУПРЕЧНО работает на AppEngine 1.2.2.Я следил за найденными руководствами «Первые шаги» и «Первый ресурс». http://restlet.com/technical-resources/restlet-framework/guide.
Итак, мне кажется, что Restlet — это ответ для ваших приложений GAE/J Restful.
Другие советы
Я использую Джерси на GAE.Вот ссылка для тех, кому интересно настроить:(Я использую GAE SDK v1.4.0):
http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html
Я тоже собираюсь начать это изучать, но еще не начал.Я нашел эту структуру, в которой говорится, что она должна работать, но, как я уже сказал, еще не пробовал.
http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html
Если у вас это заработает или вам удастся заставить работать одно из приведенных выше предложений, сообщите об этом всем, поскольку я уверен, что к этому есть интерес.
Я использую Restlet вместе с Guice в Google AppEngine.ИМХО, они очень хорошо сочетаются друг с другом.Дополнительную информацию смотрите в моем недавнем сообщении в блоге: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html
Поскольку эти доблестные старые решения были объединены вместе, Google, очевидно, предоставил плагин Eclipse для создания стартового проекта, который создает приложение App Engine, Android APK и веб-приложение, которые взаимодействуют друг с другом через интерфейс, определенный одним набором аннотированных объявлений объектов.
Я еще не пробовал это сам, но посмотрите, прежде чем пробовать какой-либо из более разнородных примеров, описанных в предыдущих сообщениях выше:
https://developers.google.com/eclipse/docs/appengine_connected_android
Это видео Google также весьма информативно:
Чего бы это ни стоило, было довольно много дискуссий по этому поводу. Списки пользователей Джерси о том, как заставить Джерси работать на GAE.Это немного утомительная работа из-за ограничений GAE (отсутствующие классы в белых списках - надеюсь, со временем будут решены), но, очевидно, ее можно заставить работать.Так что, хотя это и не так уж просто, это может быть лучшим выбором;особеннопоскольку многие из возникающих проблем одинаковы для всех фреймворков (навязанных GAE).
Ну, я бы очень посоветовал вам взглянуть на игровая структура
Посмотрите видео на главной странице
Оно имеет GA-модуль
С Сиена как форма для работы с хранилищем данных gae
Из всех Java-фреймворков, которые я видел до сих пор, я думаю, что кривая обучения у него проще,
большой документация,
а руководство разработать полноценное приложение
очень активное и полезное сообщество,
бесплатно, как в пиве, так и в речи
высокая масштабируемость благодаря готовой конструкции без сохранения состояния
широкие возможности настройки с помощью модулей и плагинов
более того, учитывая, что это курс колледжа, код действительно легко взломать, я мог бы справиться с парой билетов и новыми функциями без какого-либо опыта работы с Java, всего пара лет разработки веб-приложений на PHP.
другие преимущества
Начать действительно легко, никакой сложной настройки не требуется, просто скачайте и разархивируйте файл, и все готово.
отличный опыт разработки, просто исправьте код и нажмите «Обновить», воспроизводите изменения автокомпиляции на лету при работе в режиме разработки
быстрый и легкий
Fullstack, вам не нужно интегрировать громоздкие фреймворки, чтобы он работал
отличный отчет об ошибках, больше нет бесконечной трассировки стека ошибок, просто показывает строку с ошибкой
никакой конфигурации XML нигде нет
отличная поддержка tdd с интегрированным тестом селена
Я думаю, что главным преимуществом инструмента обучения является то, что можно заглянуть в исходный код, не чувствуя себя потерянным, и поддержка сообщества...Документация очень понятна, и вы можете многому научиться, просто взглянув на исходный код...
Недавно я собрал шаблон проекта с Джерси, Guice и AppEngine на Гитхабе.Он был разработан с помощью SimpleDS, но его можно легко изменить для работы с Objectify/JDO.Проект жив здесь.
Это должно стать хорошей отправной точкой для новых проектов.
Вот очень-очень хороший туториал Restlet/Android/GAE/Objectify с примером простого приложения.Извините, это на французском языке, но вы можете просто скопировать/вставить код или использовать перевод Google.
Я последовал этому, и через 2 часа у меня появился работающий сервер Android / GAE.Это хорошая база для запуска или тестирования Restlet.
http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify
Удачи
Двумя наиболее громоздкими действиями GAE REST API, независимо от того, Java или .py, являются графика и способ скрыть личную информацию. Мой маленький Gae Rest Feed раздвоился другой проект.Я уверен, что Java преуспевает там, где Python застрял из-за того, что Java берет и дает больше способов (преимущества), а также более длительное (медленное) время для достижения успеха (недостаток), в то время как проекты Python открывают меньше способов достижения успеха (невыгодно) и меньше времени на разработку ( выгодное быстрое развитие), чтобы добиться того же.