クラウド上でのビジネスアプリケーション開発が実際にはどのように変わっていくのか。第1回は、米セールスフォース・ドットコムが提供する「Force.com」とは何かについて、その機能を紹介した。第2回では、Force.comの開発者環境を使って人事管理アプリケーションの開発に着手した。今回は、その人事管理アプリケーションを機能強化する方法を紹介していこう。
第2回では、Force.comの開発者環境である「Developer Edition」を使用して人事管理アプリケーションの開発を開始した。実際に従業員レコードを登録してみた。アプリケーションとしては、まだまだ骨組にすぎないが、設定の過程で一切のプログラミングが不要であったことを思い出してほしい。
さて、次の設定に行く前に、第2回までの設定でForce.com内部で何が起きたのかを説明しておこう。Force.comは、マルチテナントアーキテクチャを採用している。シングルテナントアーキテクチャと異なり、顧客ごとにアプリケーションインスタンスは分かれていない。またForce.comのアプリケーションソースコードは、全世界で共通のコードが使用されている。顧客ごとに独自な変更を加えることは一切できない。
では第2回で作成した人事管理アプリケーションはどのように実現されているのだろうか。
カスタマイズ画面はメタデータから自動生成
実は、アプリケーション、カスタムオブジェクト、カスタブの設定の際に入力された情報は、従業員タブで登録された従業員レコードと同様に、データとして格納されている。このデータを通常のデータと区別して、”メタデータ”と呼んでいる。つまり各企業のカスタマイズ情報は、すべてデータベースに格納されており、ユーザーがログインした後に表示される画面はメタデータから動的に生成されたものだ。各ボタンやリンクをクリックした後の動作もメタデータで決定されるのである(図1)。
さあ、設定の続きを始めよう。第2回では、Force.com上で人事管理アプリケーションを作成し、従業員オブジェクトを作成した。従業員データを管理できるようになったが、ここまでの設定では従業員名しか格納できない。今回はその他の項目を追加していこう。
前回と同様に右上の[設定]をクリックし、設定メニューのアプリケーション設定セクションから[作成]→[オブジェクト]→[従業員]をクリック、従業員オブジェクトの設定ページを開く(図2)。
このページでは、従業員オブジェクトに対してさまざまな設定が行える。カスタム項目を追加するためにカスタム項目&リレーションセクションから[新規]ボタンを押す。今までの設定と同様にカスタム項目の新規作成ウィザードが起動するので、質問に答えていく。
まず、聞かれるのは作成する項目のデータ型だ。Force.comのデータモデルでは、テキスト、数値、チェックボックス、選択リストや関数を使って項目値を自動生成する数式項目など実にさまざまなデータ型が用意されている(図3)。