2011年6月15日水曜日

WCF の拡張機能

現時点で WCF 用の拡張機能が何個か用意されています。

WCF Web API はよくある Web サービスを構築するための追加機能で現在 Preview 4 となっています。今まででも REST 形式の Web サービスであれば対応できているのですが、Web API の利用により、より最近らしい Web サービスの構築ができるようになるとのこと。話自体は去年とかからみかけていたのですが全く試していません。
どうやら今までの WCF Web サービスよりも HTTP に関係した部分で、より細かい制御を行えるようになる、とのことですが・・・。

jQuery Support はその名前の通り、WCF Web サービスを jQuery から利用しやすい形で構築できるようにするものです。元々 WCF Web サービス自体、.Net なアプリからのアクセスを主軸に置いていた点が大きく、それ以外のアプリからアクセスできるようにするには、基本 REST 形式の対応が必要でした。jQuery は非常に著名で多くの場面で利用されているので、この対応はかなり嬉しい人も多いんじゃないかと思います。

Express Interop Bindings は上二つとちょっと毛色が異なり、特定のアプリと接続するための設定や実装をより容易にするためのものです。そしてこれは VisualStudio のアドインという形での提供ですので開発者向けとなっています。現時点で対応を示しているのは次のものとなっています。

  • Oracle WebLogic
  • Oracle Metro
  • IBM WebSphere
  • Apache Axis2

Wizard 形式で設定できるらしい記述がされています。試そうにも残念ながらここで対象となるシステムが手元にないので、こればかりはどうしようかなぁ。

なお、試してみるのあたり一つ注意点が。

jQuery Support を利用するには WCF RIA Services の新バージョンが必要となります。恐らくほとんどの人は WCF RIA Servies V1 (SP1) がインストールされているかと思いますが、必要となるのは WCF RIA Services V1 SP2 となっています。そしてこれは Preview(April 2011) 版でのみ提供されていますので、この点だけ注意してください。

2011年6月2日木曜日

デザイナ上で複数行コメントを入力可能なアクティビティ

Twitter 上で @koty さんからこのような話が出たので作ってみました。
確かにデザイナ上というかワークフロー上にコメント的なものが用意できると見た目にわかりやすくなるなー、と思いながらとりあえず的な物としてですが・・・。

マルチコメント1

今回はデザイナー上で直接入力も行いたかったので、デザイナーの XAML とアクティビティのソースを記載します。

2011年5月31日火曜日

Azure Blob ストレージへ REST API にてアップロードするアクティビティ(仮)

ストレージ関係の REST API を暇を見つけながらちろちろやっている最中ですが、とりあえずアップロード(ただし条件付き)ができるところまではできましたので、恒例のアクティビティ化をしてみました。
条件付き、というのは本来ストレージへアップロードを行う場合には何点か考慮しなくてはいけないポイントがあり、現時点ではその考慮点の一部にしか対応できていないためです。何を考える必要があるかと言うと、次の点になります。

  • アップロードするファイルの容量

Windows Azure のストレージには大きくわけて 2 つの方式が提供されています。一つは BlockBlob と呼ばれる種類で、これは 64MB までの一つのファイル、または 4MB 単位に分割したファイル群という形でアップロードが可能です。分割するメリットは同時に複数セッションを利用してアップロード速度を向上させたり、エラー発生時のリトライ処理量を減らすなどがあたります。もう一つは PageBlob と呼ばれる種類でこちらは 1TB までのファイルを扱う事が可能な点と、バイト単位(イメージとしてはHDD等のセクタ)にて読み書きの処理が行える点がポイントとなります。現在ベータ版として提供されている Azure Drive (ストレージを通常の NTFS ドライブに見せかけて利用できる)は PageBlob をベースに作成されていると思われます。

2011年5月26日木曜日

Azure Storage REST API サンプル ~コンテナ関係~

Windows Azure Storage Services REST API という形で提供されている、REST 形式にて利用するストレージ関係のAPIの中で、コンテナ周りの API をアクティビティ化してみました。その際に色々分かったところもあるので、メモとして残しておきます。

コンテナ関係のAPI

List Containers 現在のコンテナ一覧を取得する
Create Container コンテナを新規に作成する
Delete Container コンテナを削除する
Get Container Properties コンテナの情報を取得する
Get Container ACL コンテナのアクセス制限を設定する
Set Container ACL コンテナのアクセス制限を取得する
Get Container Metadata コンテナにメタデータを取得する
Set Container Metadata コンテナにメタデータを設定する

カテゴライズした場合、もう一つ List Blobs という API もあるのですが、個人的にこれはBlob操作系と思っているので別の機会にします。

2011年5月25日水曜日

Azure Storage REST API の Authorization ヘッダ・改訂版

前回の記事で Auzre の Storage REST API で必須となる Authorization ヘッダの SharedKey 値の算出ロジックを記載しましたが、その後色々やっていくにつれ若干の修正が必要な事がわかりました。
変更点は今のところ1か所のみです。

2011年5月20日金曜日

Azure Storage 関係の REST API で利用する Authorization ヘッダ

現在 Azure のストレージ関係で利用する REST API を色々試行錯誤しながら試しているところですが、これら ストレージ用 REST API を利用するにあたり、真面目にやると物凄くよくわからない部分が Authorization ヘッダの SharedKey 値ではないでしょうか。
MSDN にある程度記述があるのですが、読んでいてもいまいちピンとこないというかさっぱりわかりませんw 色々と web 上の資料やサンプルコードを探しているうちに、海外サイトで丁度良いサンプルソースがあったのでこれを VB 用に移植したものを紹介します。

2011年5月19日木曜日

SQL Azure ファイアウォール管理 REST API のアクティビティ化

基本的に前回とほぼ同一ですが、SQL Azure のファイアウォール制御(作成・列挙・削除)もアクティビティ化してみました。ファイアウォール制御 API 自体は特に難しいものでもなく、非常に簡単な形式となっています。メッセージ生成が必要なのも新規作成の際のみです。
前回同様ベースとなるクラスから。

2011年5月18日水曜日

SQL Azure Management REST API をアクティビティ化

SQL Azure には管理用の REST API が多数提供されています。
今回はサーバー管理用の REST API をアクティビティ化してみました。REST API 利用ですので、SDK 等の導入は一切必要ありません。
殆ど似た形になるので今回はベースクラスを作成し、各アクティビティはそれを継承する形にしています。まずはベースとなるアクティビティクラスから。

2011年5月17日火曜日

Windows Azure のサブスクリプション操作履歴を取得するアクティビティ

提供されている REST API の中にはサブスクリプションの操作履歴を取得するものがあります。それほど詳しく使ってはいないのですが今のところ管理ポータルからは見る事の出来ない情報になっています。
今回もいきなりソースを。

2011年5月16日月曜日

Windows Azure Management REST API でホスティング一覧を取得するアクティビティ

Code Recipe や MSDN でサンプルが紹介されていたのでアクティビティにしてみました。
Windows Azure 管理ポータルで目視できる内容ですが、定期的に監視などする事を考えるとスクリプトまたはプログラム化する必要が高くなります。また SDK でマネージド DLL 等も配布されていますが、端末にそれを入れるのも億劫ですw
そのような場合は、REST API が提供されているのでこれを利用した監視等々を行う事になるかと思います。実際に REST API を利用するには一つだけ事前準備が必要です。
  • 管理用証明書を作成、設定する

当然と言えば当然ですが、アクセス制限を行うために Windows Azure ではクライアント証明書を利用します。証明書自体は正規のものを購入する、makecert ユーティリティで作成するなど方法があります。今回は makecert ユーティリティで作成しました。その際 MSDN と SE の雑記 さんのところを参考にさせてもらいました。ありがとうございます。
できあがった証明書は自分の環境にインストール(作成した cer ファイルをダブルクリック等で実行するとインポートができます)、Windows Azure 管理ポータルからもインポートします。
AzurePortal
インポートすると管理ポータルでこのように確認ができます。ここで表示されている値で、ThumbPrint と書かれている値が後々必要になりますのでメモしておきます。
これでアクティビティの実装を行います。