アプリケーションの設定
アプリケーションを配置するところまでは、非常に単純なドラッグ&ドラッグだけでした。ここからは、配置したアプリケーションに対してさまざまな設定を行っていく方法を見ていきます。
アプリケーションの名前
アプリケーションを配置した後、まず初めに行うことは、アプリケーションの名前の設定です。ツールボックスからアプリケーションをドラッグ&ドロップしてくると、まずはデフォルトの名前としてWebApplication1やDatabase1といった名前が付与されます。これを適切な名前に変更し、分かりやすい見た目へ変えておきましょう。
[図6]に示すようにアプリケーションデザイナ上でWebApplication1となっている部分をダブルクリックするか[F2]キーを押して直接編集することもできますし、[図7]のようにプロパティウィンドウ内の[名前]プロパティから変更することもできます。
実際に「WebApplication1」というアプリケーションの名前を「SampleWeb」に変更してみます。デザイナ上で名前が変更され、これに合わせてプロパティ項目の以下の名前が連動して変更されます。
- [SDM ドキュメントの ID]カテゴリ内の[ドキュメント名]プロパティ
- [デザイン]カテゴリ内の[名前]プロパティ(デザイナ上で変更したプロパティと同一のもの)
- [実装]カテゴリ内の[プロジェクト]プロパティ
- [実装]カテゴリ内の[既定のクラス名前空間]プロパティ
ただし、この逆の連動は成り立ちませんの注意してください。例えば「プロジェクト]プロパティの値を変更したからといって他の3項目が連動して変更されるわけではありません。また、後述するアプリケーションの実装が既に行われている場合には、[名前]プロパティの変更と[実装]カテゴリ内のプロパティの値の変更は連動しません。
なお、この名前ですが、ソリューション内で一意になるように設定してください。また、最終的な実装言語にVisual C#、Visual Basicのどちらを使うに関わらず、名前を大文字小文字の差だけで区別することもできませんので注意してください。
アプリケーションのエンドポイントの定義
アプリケーションのエンドポイントとは、アプリケーションに接続する口または、アプリケーションが他のアプリケーションに接続する口のことで、それぞれプロバイダエンドポイント、コンシューマエンドポイントと呼ばれます。[図9]の赤い四角で囲んでいる部分がエンドポイントと呼ばれる部分で、色のついている部分はプロバイダエンドポイント、白くなってる部分はコンシューマエンドポイント([図9]では、中央の赤枠で囲まれている部分)と区別されています。
形は、Webアプリケーションにかかわるものが四角、データベースにかかわるものが六角形、[図9]にはありませんがWebサービスにかかわるものが丸、と区別されています。これらの色と形から、デザイナ上でどのエンドポイントなのかが、すぐに分かります。
エンドポイントは、アプリケーションの出入り口となる唯一の部分なので、デザイナ上でアプリケーションが外部から接続を受け付けたい、外部のアプリケーションに接続したいという場合には、必ずエンドポイントを配置する必要があります。ただし、コンシューマエンドポイントについては、外部のアプリケーションのプロバイダエンドポイントへの接続を行った際に自動生成されるので、実際にはプロバイダエンドポイントのみを配置していくことになります。
今回は、WebアプリケーションからDatabaseへの接続を作成する必要があるので、Databaseに対してプロバイダエンドポイントを定義する必要がありますが、Databaseを配置した段階でプロバイダエンドポイントが1つ作成されているため、このまま続けて通信経路を定義していきます。
アプリケーションの通信経路の定義
通信経路の定義は、コンシューマエンドポイントとプロバイダエンドポイントを接続することで行います。プロバイダエンドポイントは事前に定義されているはずですので、そこに対しての接続を行います。接続元となるアプリケーションを選択した状態で[Alt]キーを押しながらマウスをドラッグしていきます。そうすると[図10]に示すように、点線が延びていきます。
点線の先を接続先となるアプリケーションのプロバイダエンドポイントまで持っていくと新しい通信経路ができあがり、接続元となったアプリケーションにはコンシューマエンドポイントが作成されます[図11]。
新しい接続を作成したとき、プロバイダエンドポイントの種類によっては、接続の設定ダイアログが表示される場合があります。標準で用意されているエンドポイントの中では、データベースエンドポイントのみ接続文字列を決定するためのダイアログが表示されます[図12]。
なお、このタイミングで決定した接続文字列はコンシューマエンドポイントを選択したときのプロパティウィンドウ内に接続文字列プロパティが用意されているので、ここからいつでも変更することができます。