サーバーサイドでアプリケーションデータを管理するストレージを用意します。
ストレージにはRDBMSを利用します。

利用者は、サーバーサイドのRDBを意識する事なく、クライアントサイドのストレージ操作だけでサーバーサイドのデータを管理できます。

データ参照のスコープ

データ参照のスコープは登録したユーザーのみ、登録したユーザーに所属するグループ内で共有、全体で共有から選択できます。

サロゲートキーについて

AppPotはobjectIdという値が同一Value Object内で一意になるカラムを必ず持ちます。
objectIdはAppPotサーバーで採番されます。

新規追加時はAppPotサーバーで払い出されたobjectIdをクライアント側のDBに保存する処理が必要になりますが、SDKを利用する場合は、SDKが自動的に行います。

楽観的排他について

AppPotはサーバー側で更新された日時を管理しています。
クライアントがAppPotサーバーからデータを取得した際に、サーバーで最後に更新された日時も取得し、更新する際にリクエストに取得したサーバー更新日時も一緒に送っています。

サーバー側で別のトランザクションで同一のレコードが更新されている場合は、後から送信した処理が楽観的ロックによりエラーになります。

SDKを使用している場合は、この処理はSDKにより自動化されます。
APIを直接利用している場合は、サーバーから受け取ったサーバー更新日時を更新時のリクエストに含める処理を行う必要があります。

提供するデータ管理API