2013-06-12 5 views
5

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

Derby впечатляет меня не только из-за его сосредоточенности на скорости, но и потому, что он очень похож на веб-сайт (с URL-адресами, соответствующими страницам). Однако с учетом того, что в настоящее время для мобильных приложений, которые вписываются в продукт, кажется, что API необходим, если вы хотите разработать как для мобильных, так и для браузера.

Мой вопрос двоякий.

  1. Невозможно использовать derby для взаимодействия с API, по существу написав API-адаптер и заменив его на mongoadapter. Я не смотрел на адаптер, но документы вставляют, что писать адаптер не так уж сложно. В качестве альтернативы, можно было бы получить ответ json на вызов API, если заголовок accepts запрашивает json. Таким образом, он может играть роль API вместе с сервисом webapp.

  2. Если derby рассматривается как приложение целиком и не используется вообще для каких-либо других приложений (например, мобильных). Т.е. общим фактором между браузером и мобильным приложением будет база данных, а не API. Недостатком того, что API не является общим фактором, было бы то, что функции могут быть непротиворечивыми в разных приложениях (не как в количестве функций, а в том, что другие могут быть ошибочными, а другие нет).

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

+0

+1 Я с нетерпением жду этого ответа. Меня больше интересует №1, где я хотел бы интегрировать дерби с существующим API. – Craig

+0

+1 здесь тоже - довольно интересно. –

ответ

1
  1. Я думаю, что вы можете написать адаптер для дерби для связи с вашим api-app (где фактически хранятся данные), но этот адаптер будет иметь предопределенные методы и не будет отражать ваш api. Таким образом, бизнес-логика, вероятно, будет дублироваться (приложение дерби и приложение api), и вы не получите многого от этого решения.

  2. Я бы порекомендовал использовать derby как api-app. Начиная с версии 0.6 (это скоро) вы можете использовать приложение дерби на стороне клиента без серверной стороны, что означает, что вы можете использовать его в телефонной запинке, например. Также дерби имеет встроенную клиентскую синхронизацию с разрешением конфликтов на основе share.js. Вы можете использовать его для веб-и телефонных приложений «из окна», но для собственных мобильных приложений вы должны написать клиентам share.js, чтобы использовать его. Также есть встроенный rest api в share.js или вы можете легко реализовать свой api на основе экспресс-маршрутов. Итак, дерби идеально подходит для приложений api, web, phonegap и подходит для мобильных приложений.