登録ユーザーをキューに追加できるモバイル アプリケーションを設計しようとしています。Web サービスから番号を要求すると、Web サービスは格納された番号で応答します。次に要求したユーザーが連続番号を取得します。
サーバー側言語として C# を使用し、ユーザー データベースには mySQL を使用しています。
クライアント側は、"Authentication" ヘッダーが "username:password"、"x-action" カスタム ヘッダーが "joinQueue" である HTTP POST 要求を送信します。そして、キューで彼の番号を取得します。後で、「checkQueueStatus」アクションを使用して Web サービスをポーリングし、キューの現在の位置を確認できます。
サーバー側は次のことを行います。
- users DB にアクセスし、username:password が存在する (正しい) かどうかを確認します。
- last_number+1 を送信し、HTTP 応答本文を更新します。
- たとえば、userID 123123 がキューに 31 あるという情報を保存します。
- 最初のキューの処理が完了したら、すべてのユーザーのキューを更新します。
Webサービスの初心者として、サーバー側の部分を設計する方法がよくわかりません。具体的には、次の情報を使用して別のテーブル (キュー テーブル) を作成することは理にかなっていますか?
userID | placeInQueue
301452 1
444592 2
612712 3
042125 4
管理者クライアントは、 「serviceFirstUser」アクションを使用して HTTP 要求を送信できるようになりました。これにより、キュー内のすべてのユーザーの placeInQueue が減少しますか?
納得のいくデザインでしょうか。
ありがとう。