私は derby に非常に興味をそそられ、昨夜はドキュメンテーションを読んで過ごしました。私の現在のアーキテクチャに関する考えは、対応するリッチ クライアント アプリケーション、または API にアクセスできる他のユーザーによって使用される RESTful API の構築に非常に向いています。
Derby が私に感銘を与えたのは、速度を重視しているだけでなく、Web が想定している (ページに一致する URL を使用する) のと非常によく似た機能を備えているからです。しかし、最近では製品に適合するモバイル アプリケーションを作成しようとする動きがあり、モバイルとブラウザの両方の領域で開発したい場合は、API が必要になるようです。
私の質問は 2 つあります。
derby を使用して API とやり取りし、基本的に API アダプターを作成し、それを mongoadapter と交換することができます。私はアダプターを見ていませんが、ドキュメントはアダプターを書くことはそれほど難しくないとほのめかしています。あるいは、accepts ヘッダーが json を要求する場合、derby は API 呼び出しに対する json 応答を生成できます。そうすれば、Web アプリケーションを提供するとともに、API としての役割を果たすことができます。
derby は全体としてアプリケーションと見なされるべきであり、他のアプリケーション (モバイルなど) にはまったく使用されません。つまり、ブラウザーとモバイル アプリの共通要素は、API ではなくデータベースです。API を共通要素として持たないことの欠点は、機能がアプリ間で一貫していない可能性があることです (機能の量ではなく、一方がバグであり、他方がバグではない可能性があります)。
私は次のプロジェクトで derby を使用したいと思っていますが、それが仕事のツールであるかどうかを明確にする必要があります。(ちなみに、プロジェクトは大きな Web アプリケーションになりますが、モバイル統合が必要です。API を持つことも素晴らしいアイデアかもしれませんが、その有用性についてはまだわかりません)