Silverlight 2をApacheで使うためのイロハ--Silverlight 2の通信機能
本連載ではSilverlight 2を利用するに当たって、ホストするサーバにApacheを、サーバサイドプログラミングにPHPを使う場合の「勘所」を解説してみたい。
3月5日から開催されたMix 08ではSilverlight 2のβ1リリースが目玉のひとつとなった。すでに使っている方も多いだろう。そして本日から、Silverlight 2.0のベータ2の提供も予定されていることは、builderの記事などでご存じだろう。
Silverlight 2の特徴の1つに強力な通信機能がある。サーバサイドと通信し、多彩な方法でデータのやりとりが可能なのだ。Mix 08以降、Silverlight 2に関するチュートリアルなどもどんどん出てきているので(まだ英語のものばかりだが)、実際に試してみる材料には事欠かないといえるだろう。
しかし、チュートリアルなどで使われているサーバサイドの製品や技術が(仕方ないとはいえ)、マイクロソフトのものばかりというのが不満といえば不満なところ。Silverlight 2の持つ可能性は非常に大きい。大きいだけに、すでに運用されているオープンソースの製品を使ったサーバのフロントエンドとして、Silverlight 2を使う方法も知りたいところだ。
本稿では、Silverlight 2をホストするサーバとしてApacheを、サーバサイドのプログラミングにはPHPを使う。オープンソースのWebアプリケーションとしては、もっともよく使われる組み合わせの1つであることに異論はないだろう。この構成のサーバで、Silverlight 2のアプリケーションを使う場合の「勘所」について調べていこう。
本稿は4回連載の予定で、以下のような内容をお伝えする。
- Silverlight 2の通信機能についての解説
- Apacheとの基本的な通信と認証
- Cookieを使ったサーバサイドスクリプトとの通信
- その他の話題
それでは、早速始めよう。
Silverlight 2の通信機能について
Silverlight 2は、.NET Frameworkのサブセットを内蔵しており、サーバサイドとの通信に関してもC#などでプログラミングできる。Windowsベースのプログラマであれば、普段とあまり変わらないスタイルで開発を進めることができるだろう。
Silverlight 2での通信は、基本的にHTTPで行う。ソケットもサポートされてはいるが、現時点では例外的なものだと考えておくほうがよいだろう。HTTPでの通信は、WebClientやWebRequestといったクラスを使えば、とても簡単だ。
WebClientは、いわば簡易型のHTTP通信用クラスで、機能が限定されている代わりに非常に簡単に使うことができる。HTTPのリクエストの種類はGETに限定されてしまっている。
WebRequestはもうすこし幅広い使い方が可能なクラスだ。POSTリクエストを投げることもできるし、HTTPのリクエストヘッダの操作といったこともできるようになっている。
このほか、Silverlight 2にはWCF(Windows Communication Foundation)のサーバと通信する機能もある。BasicHttpBindingというクラスを使えば、WCFのサービスとの間でCLRのオブジェクトをやりとりすることができる。この通信の実体はSOAPによるものだ。
本稿では、WebClientやWebRequestを使って、オープンソースのサーバと通信をする。BasicHttpBindingについては別の機会に譲ろう(β2の時点で、BasicHttpBindingでの開発手順には多少の変化もありそうだ)。
Apacheとの通信
Apacheについては、今更説明の必要もないだろう。本稿では、Apache 2.2を使う。
もちろんApacheとはHTTPで通信することになる。Silverlight 2をApache 2と通信させる上で、以下のような疑問が浮かぶ。
- 認証をどう扱うか。Basic認証や、フォームを使った認証はSilverlight 2ではどうやったらいいのか?
- Cookieはどう扱うのか?
- リダイレクトはどう扱われるのか?
- HTTPSは使えるのか?
これらの疑問に、答えをひとつずつ出していくことにしよう。まずは認証の話から始めることにしたい。
Webアプリケーションの認証
- 特集: Silverlight 2をApacheで使うためのイロハ (2件)
- ホワイトペーパー
- 企画特集
インターネット上の悪意を未然に防ぐには?
中小企業のセキュリティリスクとは?
セキュリティ&ユーザ事例【SIer Club】
そのストレージで仮想化に対応できますか?
【徹底対談】運用管理ツールの賢い使い方
ESBでIT投資の無駄を劇的に解消する
パンデミック対策特集
ロリポップ!がリニューアル
SOA、BPM、SaaS −今、企業に必要なこと
◆エン・ジャパン厳選求人☆毎週更新◆
ストレージメディア特設サイト開設
集積度も性能も、業界最高水準のブレードPC
御社のログ活用しませんか!?
仮想環境を実現するソリューション特集
今注目の「サジェスト検索」−デモ掲載中
- サービス・ドリヴン・データセンター
- サーバー監視・運用のコストを削減するには
- ■ストレージ容量50%削減保証■
- エンタープライズにおけるSUSEの強み
- 話題のタグ
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――