Mobile:NEWS 2002年9月20日 00:40 AM 更新

ビジネスiアプリ入門(6)
待ち受けビジネスIMのデータベース周りの作成(1/4)

クライアント/サーバ型のシステムである待ち受けビジネスIMの、サーバ側データベース周りを作成する

 今回は、サーバ側のデータベース関係の処理を作成します。

サーバに必要なデータ構造

 ビジネスIMを構築する際にサーバで記憶しておくべき情報は何でしょうか。まず各ユーザの名前と状態の記録が必要。次にメッセージをユーザが受け取るまでサーバで保管しなくてはなりません。ビジネスIMにおいてはこの2つのデータが必須となります。

項目
各ユーザの名前と状態ユーザの数
ユーザ間メッセージユーザが未受信のメッセージ数

サーバに必要なデータ構造

 データベースの位置付けを図にすると下図のようになります。iアプリからServletに接続し、Servletからこのデータ構造を持つデータベースへ接続する形となります。


システム構造とデータベースの関係

データベースへのアクセスクラスの設計

 データ構造を把握したら、そのデータがどのような形でアクセスされるかを検討します。ユーザごとのデータやメッセージデータの書き込み/読み出しパターンを考えると、Servlet側からのアクセスは5つのパターンがあることが分かります。


システム構造とデータベースの関係

 この5種類のアクセスメソッドを持つ、データベースアクセスクラス(DatabaseAccess)を順に設計していきます。

  • ユーザ登録

 ユーザ登録は初回起動時に名前を登録します。既に登録されている場合、登録に失敗したことが分かるようにします。

public boolean registUser(String name)
パラメータString name : 登録するユーザの名前
戻り値boolean : 登録成功でtrue

  • メッセージ登録

 ユーザからユーザへのメッセージを登録します。送るユーザと受け取るユーザを名前で指定します。

public void registMessage(String fromName, String toname, String message)
パラメータString fromName : 送るユーザの名前
String toname : 受け取るユーザの名前
戻り値なし

  • ユーザ状態取得

 iアプリ側で表示するために、全ユーザの名前と状態を取得します。自分も含めて取得するためパラメータは必要ありません。1次元配列2個で各ユーザーの名前と状態を格納したものを返します。ユーザがいなければ長さ0の配列を返します。

public String[][] getUserState()
パラメータなし
戻り値String[][] : 要素にユーザの名前(要素0)と状態(要素1)を持つ配列を、ユーザの数だけ持つ配列を返す

  • メッセージ取得

 iアプリ側に表示するために、あるユーザに届いたメッセージをすべて取得します。1次元配列2個で送り主の名前とメッセージを格納したものを、メッセージごとに配列として格納したものを返します。メッセージがなければ長さ0の配列を返します。また一度取得したメッセージは削除されるため、このメソッドを通じて特定のメッセージを2度以上受け取ることはないとします。

public String[][] getUserMessage(String name)
パラメータString name : 受け取るユーザの名前
戻り値String[][] : 要素に送り主ユーザの名前(要素0)とメッセージ(要素1)を持つ配列を、メッセージの数だけ持つ配列を返す

[福野泰介, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.

前のページ | 1/4 | 次のページ



モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!