2012年1月30日月曜日

DynamicActivity によるアクティビティの動的生成と実行

Workflow Foundation では DynamicActivity クラスを利用して、動的にアクティビティを生成する機能が用意されています。利用するシーンとしては、プログラムのロジック内部でアクティビティの挙動を変更させたい場合とか、アクティビティの存在を表に出したくない場合などがあるかと思います。

2012年1月27日金曜日

[書評]Windows Azure Platform 開発入門

縁あっていただいた書籍 「Windows Azure Platform 開発入門」についてのレビューです。

全体を 6 章に分け WIndows Azure に限らずクラウドコンピューティングとは、という前提の説明から、SQL Azure や Azure AppFabric、VM ロールに Azure Market Place までと、開発入門の名前の通り、幅広い内容を読みやすい形で書かれています。個人的には Azure Storage へ REST API でごにょごにょする際に色々触っていましたが、ここのところかなりご無沙汰だったのもあり改めて勉強させてもらえました。

2012年1月25日水曜日

ワークフローの実行結果を引数で受け取る

前回ユニットテストの記事で少し関わっていましたが、ワークフローは引数を通して実行結果や何かしらの値を受取る事が可能です。

2012年1月24日火曜日

Workflow Foundation におけるユニットテスト

CodePlex にて Workflow Foundation 用のユニットテストライブラリ「Microsoft.Activities.UnitTesting」が公開されています。Workflow Foundation ではアクティビティの実行等、通常のロジック実行とは異なる部分もあり、そのまま NUnit 等のユニットテストを行うのは不便な状況でした。ですがユニットテスト用のこのライブラリを利用する事で、今までと同様にユニットテストを行う事ができます。

2012年1月23日月曜日

GData API を利用して Google Blogger に投稿する

スプレッドシート、カレンダーと来たので次は Blogger に投稿する、というのをやってみました。感覚としてはスプレッドシートやカレンダーと比較すると、かなり簡単に思えます。

2012年1月20日金曜日

SQL Server における既存テーブルへの項目追加処理時間

実運用が始まった後でテーブルに項目追加とかはできるだけ避けたいところですが、のっぴきならない事情があったりして追加せざるを得ない事は多々あるかと思います。その際、どれくらい処理に時間がかかるかというのを事前に計測できれば、利用者に「このぐらいの間重くなるからー」とか「何時まで使えないですー」というアナウンスもできるのですが、実際にどれくらいの処理時間がかかるかを計測するのはかなり難しいところだとも思います。今回は、ある程度のデータ件数を持つテーブルに対して項目を追加し、どの程度の処理時間がかかるかを計測してみました。

2012年1月19日木曜日

Hyper-V ゲスト OS の動作イメージサムネイルを取得するアクティビティ

以前 Hyper-V の管理とか操作を調べていて管理ツール上の動作イメージサムネイルをどうやって取得しているのかな、と思ったら WMI を利用して取得していることを教えてもらったので、ついでにアクティビティにしてみました。

2012年1月18日水曜日

Windows Server AppFabric と Workflow Foundation

ワークフローをホスティングする環境の一つに Windows Server AppFabric を利用したホスティング方法があります。実際には IIS の拡張機能的なポジションなので、IIS でのホスティングと基本は変わりありませんが、AppFabric にて提供される機能にて Workflow Foundation に関わる設定を簡易に行えるようになります。言い換えると Windows Server AppFabric で拡張される機能は「各種設定ファイル( *.config ) の設定用 UI を提供」する事と言えます。

2012年1月5日木曜日

Google Calendar API v3 でカレンダーに予定を登録する

前回の記事では GData API v2 を利用してカレンダーに予定を登録しました。ですが、v2 の API は 2014 年には廃止されることが決定しているため、できるだけ早期に v3 へと移行する必要があります。今回は v3 の API を利用して予定を登録してみます。