MONOist]連載第1回「サービス開発の基礎と流れ」で確認したように、サービスのテンプレートは、「Lookup」「Drop」「Get」の3個のメソッドを持っています(この中で、ユーザーに公開されたメソッドはGetのみで、LookupとDropはシステムが使用するメソッドなので、ユーザーは使用できません)。Language(以下、VPL)を使ってMyProjのダイヤグラムを組み、実行しましたがGetは応答しませんでした。“Getの応答がない”ことを確認しました(厳密にいえば、応答がなかったのではなくて、「“null”が返されたので確認できなかった」ということです)。Getメッセージのハンドラはテンプレートに組み込まれているので、Getから応答を得るために新たにハンドラを書く必要はありません。“ロボットの状態さえ定義すれば、Getの応答は得られる”のです。そこで今回は、ロボットの状態を定義して、実際にプログラムを実行するまでを解説します。SP1(以下、VC#)を起動して、連載第1回「サービス開発の基礎と流れ」を参考に新規にプロジェクトMyProj1を作成してください。Explorer]ペインで、ファイルMyProj1Types.csをダブルクリックして、画面1のように編集ペインを開きます。MyProj1Types.csまずは、MyProj1Types.csのコードを見ていきましょう。Contract)があります(サービスのコントラクトについては、連載第2回「身近な例から学ぶ“サービス”」を参考にしてください)。MyProj1State)があります。これが、サービスMyProj1の状態を宣言する場所です。このクラスには[DataContract()]という属性が付いています。※注:C#の属性については、C#の記事を参照してください。ここでは、「このような属性を付けるものだ」として、説明は省略します。入門(@IT)ここで、MyProj1Stateクラスに「名前」というプロパティを設定してみましょう。※注:通常、ロボットの状態としてどのようなプロパティを採用するかは“システム分析段階”で行われます。ここでは、ロボットのシステム分析はすでに終了しているものとします。MyProj1Types.csに対して、画面2のように“ロボットの名前”プロパティを定義します。“ロボットの名前”プロパティを定義まず、文字列変数_nameを定義して、これにAtomという値を代入します。次に、[DataMember]という属性を付けてNameというプロパティを定義します。ここに記述されている「get」と「set」は、プロパティに対してデータをセットする、あるいはプロパティからデータを取り出すために必要となるステートメント(すなわち、式)です。※注:初めてサービスのプログラムを見た方は、メッセージの「Get」とプロパティの「get」を混同するかもしれません。これは、英文が同じ(頭文字が大文字か小文字の違いがあるだけ)なのでこのような混乱が起きますが、メッセージとプロパティはまったく異なるものなので明確に区別する必要があります。ここまでの手順で、MyProj1というサービスのMyProj1Stateという状態に対して、Nameというプロパティを定義し、これにAtomという文字列を代入できました。状態のチェック前述までの作業で、VC#のテンプレートに対して書き込みを行ったので、その結果をチェックしてみましょう。連載第1回「サービス開発の基礎と流れ」を参考にして、プロジェクトMyProj1をビルドしてください。ビルドが成功したら、VPLを使ってビルドしたサービスの動作を確認します。Activities]から[Data]をドラッグし、[Services]から[MyProj1]をドラッグして、画面3のように両者を接続してください。VPLのダイヤグラムちなみに、サービスMyProj1で公開されているメソッドはGetだけなので、接続の際に[Connections]ダイアログは開かず、画面3のようにGetが自動的に選択されます。Dialog]をドラッグして、[MyProj1]と接続してください。Success]を選択し、[To]ペインで[AlertDialog]を選択して、[OK]ボタンをクリックしてください。Connections]ダイアログが開くので、画面5のように、[Value]ペインで[Name]を選択し、[Target]ペインで[AlertText]を選択して、[OK]ボタンをクリックしてください。Connections]ダイアログの[Value]を[Name]へ変更します。Connections]ダイアログを開くこともできます。コンテキストメニューいずれにしても、[Value]に対して[Name]を選択することが必要です。デフォルトでは、nullになっているのでこのままでは正しい結果を得ることはできません。以上で準備ができたので、アプリケーションを実行してみましょう。VPLのメニューから[Run]−[Start]をクリックします(ツールバーの三角形のアイコンをクリックしても同じ結果が得られます)。すると、画面8のように[Run]ダイアログが表示されます。[Run]ダイアログそして、しばらくすると画面9のダイアログが表示されます。ダイアログのテキストが“Atom”になっていることが確認できます。SNSFacebookXITmediaはアイティメディア株式会社の登録商標です。