Използване на услугата за откриване на документи в услуга, която не е на двигател на приложение

Играх си с пакета RPC в Dart, който улеснява добавянето на услуга за откриване на документи към сървъра на Dart.

След малко търсене в Гугъл разбрах за API Discovery Service https://developers.google.com/discovery/, който обяснява как да създадете клиентски код за даден документ за откриване.

След това открих Google Cloud Endpoint, който изглежда като края на сървъра на услугата за откриване на документи. Това истина ли е.

Истинският ми въпрос е, че бих искал да използвам услугата за откриване на документи на стандартен уеб сайт, който е базиран на (да кажем) Spring и работи (да кажем) с вграден Jetty сървър? Възможно ли е това или приложението ми ще бъде преплетено с технологията на App Engine?


person richard    schedule 09.06.2015    source източник


Отговори (1)


Вашето приложение просто трябва да предостави услуга за откриване на документи. Не би трябвало да е твърде трудно да получите информацията, която се очаква от източника на https://pub.dartlang.org/packages/discovery_api_client_generator, който е клиентът на Dart, който генерира клиентски код на Dart от документи за откриване. Доколкото знам, вашата служба дори не трябва да предоставя документите за откритието. Пакетът discovery_api_client_generator може също да използва документи за откриване, съхранявани локално, но услугата, разбира се, е предпочитаният начин, ако искате да я направите достъпна за всички.

Бих го видял като еквивалентен на SOAP, който също позволява създаване на клиентски код от метаинформация, предоставена като XML.

Освен това пакетът shelf_rpc не трябва да работи на AppEngine или Managed VM. Можете да го стартирате локално или на всеки сървър, който искате.

person Günter Zöchbauer    schedule 09.06.2015
comment
Здравей Гюнтер. В този случай този въпрос не е за Dart, а за Java - Мога ли да добавя услуга за откриване на документи към моето съществуващо приложение за уеб услуга на Java? - person richard; 10.06.2015
comment
Документът за откриване описва API. Не съм проверявал, но предполагам, че е JSON. Трябва да предоставите такъв документ за вашия API по някакъв начин и имате нужда от генератор, който генерира код от този документ. Такъв клиент съществува за различни езици, включително Java. Пакетът shelf_rpc генерира документа за откриване от класовете, които използвате в API и анотациите, които добавяте към класове, методи и полета. Просто трябва да намерите или създадете такъв инструмент за Java (предполагам, че вече съществува такъв, но не съм проверил). - person Günter Zöchbauer; 10.06.2015
comment
Можете също да използвате протоколни буфери по подобен начин. Вие описвате API в текстов документ и генерирате класове за клиент и сървър от документа, но ProtoBuf е двоичен формат вместо JSON. - person Günter Zöchbauer; 10.06.2015