НАЙБІЛЬШЕ додаток на Google App Engine Java?


83

Я хотів би створити RESTful додаток на Google App Engine. Я хотів би надавати послуги XML та JSON. Я коротко експериментував з Restlet, Resteasy та Jersey. Я не мав особливого успіху з жодною з них, окрім простих прикладів у Restlet.

Чи можете ви поділитися своїм досвідом створення веб-програми Restful на Google App Engine за допомогою Java або надати будь-яку інформацію про згадані набори інструментів на GAE?

Дякую!

Редагувати (25.07.2009):

На даний момент я вирішив використовувати Restlet. Здається, це поки працює бездоганно. Будь-ласка, опублікуйте будь-яку іншу інформацію / думки, які ви можете мати. З якими проблемами ти стикався? Чи успішно ви використовували Джерсі / Рестлет / Рестазі на GAE / J? Якщо так, ми хочемо про це почути!


technicalrex.com/2014/08/11/… та javacodegeeks.com/2012/05/… - найкращий підручник про інтеграцію Джерсі GAE.
Md. Sajedul Karim

Це питання вибору фреймворку, до якого ми звикли у своїй розробці, я використовував Spring MVC з об'єктивізуючим, а також Hibernate, і він також бездоганно працював на Google App Engine.
Ankur Jain

@AnkurJain так, за 7 років багато змін.
JP Richardson,

Відповіді:


45

Я радий повідомити, що Restlet M3 працює БЕЗГЛАЗНО на AppEngine 1.2.2. Я дотримувався підручників "Перші кроки" та "Перший ресурс", знайдених http://restlet.com/technical-resources/restlet-framework/guide .

Отже, мені здається, що Restlet - це відповідь для ваших програм GAE / J Restful.


4
Наведене вище посилання не працює. Відповідне посилання GAE для Restlet 2.2 - restlet.org/learn/guide/2.2/editions/gae
Джордж Хокінс,

17

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

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


2
Наведене посилання охоплює Джерсі 1.1.5. Команда GAE веде примітки щодо цієї та пізніших версій тут - code.google.com/p/googleappengine/wiki/WillItPlayInJava#Jersey
Джордж Хокінс

6

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

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

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


1
Я майже впевнений, що Restlet буде працювати. Це просто трохи неприємніше у використанні, ніж інші. Мені особливо подобаються анотації, які вводить Джерсі. Я планую використовувати Restlet протягом наступних кількох тижнів. Я обов’язково опублікую оновлення.
JP Richardson,

Я провів вихідні, граючись із цим, і Рестлет чудово працює на GAE. Я зміг щось зібрати, слідуючи прикладу, наведеному на сайті Restlet за адресою, яку я залишив раніше, і яка зараз не працює. Але було все тривіально налаштувати все.
broschb

Я написав невеликий допис у своєму блозі, щоб відповісти на ще одне запитання про stackoverflow. Це проходить через дуже базовий приклад того, як розпочати роботу з GAE. broschb.blogspot.com/2009/08/…
broschb

1
Restlet тепер має реалізацію JAX-RS. Вони також розпочали розповсюдження збірок спеціально для використання на AppEngine. Ви захочете використати останню версію 2.0 (на даний момент 2,0 м4). Я щойно встановив це як доказ концепції нового додатка, який зараз створюється. Я б не рекомендував використовувати власний API Restlet, оскільки він є кардинально загальним, надмірно абстрагованим і просто загалом бентежить. restlet.org/downloads/2.0/restlet-gae-2.0m4.zip
Марк Ренуф



3

Оскільки ці доблесні старі рішення були поєднані разом, 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


2

Наскільки це варте, у списках користувачів Джерсі було досить багато обговорень, як змусити Джерсі працювати на GAE. Це досить втомлива робота через обмеження GAE (відсутні класи з білих списків - сподіваємося, з часом вирішені), але, мабуть, можна змусити їх працювати. Тож хоча це і не є тривіально простим, це, можливо, найкращий вибір; особливо оскільки багато проблем, з якими стикаються, однакові для всіх систем (накладені GAE).


я хотів би запитати вас, чи є у вас якесь рішення мого запитання тут stackoverflow.com/questions/32699420/... дякую вам
Марко Дінацолі

2

Ну, я б дуже порадив вам поглянути на ігровий фреймворк

Подивіться відео на домашній сторінці

Він має модуль gae

З сіеною як органом для обробки сховища даних gae

З усіх java-фреймворків, які я бачив до цього часу, я думаю, що це простіша крива навчання,

  • чудова документація ,

  • підручник для розробки повного додатки

  • дуже активна та корисна спільнота,

  • безкоштовно як у пиві, а також як у мові

  • дуже масштабований завдяки тому, що він не має дизайну без коробки

  • відпочинок дружній

  • дуже настроюється за допомогою модулів та підходу до плагінів

більше того, беручи до уваги, що це для коледжу, дуже просто зламати код, я міг би впоратись із кількома квитками та новими можливостями, не маючи жодного досвіду з java, всього пару років розробляючи веб-додатки з php

інші переваги

  • це дуже легко запустити, не вимагаючи складних налаштувань, просто завантажте та розпакуйте файл, і все готово

  • чудовий досвід розробки, просто виправте код і натисніть на оновлення, відтворюйте зміни автокомпіляції на льоту, коли працюєте в режимі розробки

  • швидкий і легкий

  • fullstack, вам не потрібно інтегрувати громіздкі фреймворки, щоб це працювало

  • звіт про великі помилки, немає більше нескінченного трасування стека помилок, просто показує рядок з помилкою

  • немає конфігурації xml ніде навколо

  • велика підтримка tdd з інтегрованим тестом на селен

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


Гра виглядає дуже ефектно. Однак його інтеграція з GAE не схожа на підтримку в основному проекті і, таким чином, відстає від циклу випуску GAE. Здається, його плагін GWT ще більше відстає. Тим не менше, я дам вам голос за те, що ви показали мені такий крутий проект.
JP Richardson

модуль gae розроблений і підтримується головним розробником, модуль siena (рекомендований orm для gae, jpa має багато проблем) підтримується дуже активним членом спільноти, на жаль, модуль gwt не приділяє такої уваги в діло ...
відкривається, як

Модуль gae повернувся на ходу! за це взявся інший розробник, ось підтримка fot gae 1.6 playframework.org/modules/gae-1.6.0/home
відкривається

2

Нещодавно я створив шаблон проекту з Jersey, Guice та AppEngine на GitHub. Він був розроблений за допомогою SimpleDS, але його можна легко модифікувати для роботи з Objectify / JDO. Проект працює тут .

Це має бути хорошою відправною точкою для нових проектів.


1

Ось дуже хороший підручник Restlet / Android / GAE / Objectify з прикладом простого додатку. На жаль, це французькою мовою, але ви можете просто скопіювати / вставити код або скористатися перекладом google.

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

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

Щасти


-1

2 найбільш громіздкі дії API GAE REST для здійснення роботи, будь то Java чи .py, - це графіка та способи відображення приватної інформації. Мій маленький корм для відпочинку Gae розлучився з іншим проектом. Я впевнений, що Java досягає успіху там, де python застряг завдяки Java, і надає більше способів (переваг), а також довший (повільніший) час для досягнення успіху (недолік), тоді як проекти python відкривають менше шляхів для успіху (невигідні) і менше часу на розробку ( вигідний швидкий розвиток), щоб досягти успіху в тому ж.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.