これは Visual Basic Advent Calendar 2012 用の記事です。
Visual Basic 固有の機能の一つとして、XML の扱い方があります。扱い方、といっても処理方法が云々というわけではなく、定義としてそのまま記載できるですとか、処理を埋め込むことができるといったちょっt面白い記述が可能になりますので、今回はそのあたりを遊んでみました。
DataGridView や DataRepeater にこだわりつつ
時代は Workflow Foundation などと言い続けていたら
これからは LogicFlow だろ! と思い始めてきた
色々浅く広くやっていく古い技術者の Blog
これは Visual Basic Advent Calendar 2012 用の記事です。
Visual Basic 固有の機能の一つとして、XML の扱い方があります。扱い方、といっても処理方法が云々というわけではなく、定義としてそのまま記載できるですとか、処理を埋め込むことができるといったちょっt面白い記述が可能になりますので、今回はそのあたりを遊んでみました。
PowerShell Advent Calendar 2012 用記事です。
PowerShell 3.0 で追加された PowerShell Workflow の紹介には、かなりの確率で ForEach による並列動作についての記事が掲載されます。ぱっと見ていると、PowerShell でマルチスレッド動作しそうにも思えますが、実際にはどうなのかを検証してみました。
MSDN 上での記載では、VB の Select Case と C# の Switch が同等の命令として扱われています。実際にはどちらも条件多分岐命令としては同じなのですが、実際に利用すると VB の Select Case の方が色々と融通が利いて便利な命令であったりします。
Express エディションの Visual Studio は、無償版であり一部機能が限定されています。そのため、有償版の Visual Studio で作成したプロジェクトが開けない事も多々あります。ですが、実際には全てが全て扱うことができないのではなく、一部のプロジェクトは Express エディションでも利用する事が可能です。
Workflow Manager 1.0 によって大幅追加されたアクティビティのうち、DynamicValue 関係のアクティビティがあります。名前通り動的な値を扱うためのアクティビティなのですが、具体的にいうと JSON データに対しての操作が可能になるアクティビティ群です。
今回はそれらの中から、JSON 値を生成する BuildDynamicValue アクティビティと、JSON 値から指定したものの値を取得する GetDynamicValueProperties を利用してみます。
これは Visual Basic Advent Calendar 2012 の記事です。
VisualBasic 固有というよりも、旧来の Basic より脈々と受け継がれてきた命令の一つに Randomize があります。乱数を利用する際に初期化を行う命令なのですが、.NETでの一般的な乱数発生命令と微妙に使い方が違ったりしています。
今回は One ASP.NET Advent Calendar 2012 向けのネタです。
ASP.NET MVC も .NET 技術の一つなので、当然 Workflow Foundation 4 とも組み合わせて利用することができます。できますが、そこにはほんの少しだけ気をつけなくてはならないポイントがあったりします。
これは Visual Basic Advent Calendar 2012 の記事です。
VBならではの構文の一つに Redim Preserve という配列の再確保と再定義を行うものがあります。コレクションクラス全盛である今では、ほとんど使う機会もないものです。
ひょっとするとレスポンス的に問題があるのかな、などと不意に思ったので調べてみました。
昨年の PowerShell AdventCalendar 2011 にて PowerShell 3.0 のワークフロー周りを軽く触ってみたことをまとめていましたが、一年たって今度はもう少し触ってみよう!、というちょっとまて貴様的な、記事になりまして、PowerShell Advent Calendar 2012 のエントリとなります。
コードレシピ上には既に Workflow Manager 1.0 向けのサンプルが色々とアップされています。今回はOSの中でも非常に気になっていた、Workflow Editor Tool を試してみました。
提供されているサンプルを実行するためには、VS2012 環境と Workflow Tools 1.0 for Visual Studio 2012 が必要です。コードレシピに用意されていますのでそこからインストールしてください。
インストールしたはいいものの、色々とごたごたしていたのもあり全然触れていません・・・。そして気が付くと、Workflow 1.0 という名称もどうやら Workflow Manager 1.0 という名前で落ち着きそうな気配も。
とりあえず今回は Workflow 1.0 が起動しているかどうかの確認について。
今回 Workflow 1.0 のリリースにより、WF 4 環境でも利用できるアクティビティが一気に追加されています。位置づけとして、今まで Assign アクティビティにコードを記述し処理を行うことができていたのですが、Azure 環境や Sharepoint 環境で同じことができるのはセキュリティ的に問題があるということで、そのような行為は禁じ手となりました。
その代りに用意されたのが今回から追加されるアクティビティ群ですが、中には待ち望んでいたアクティビティがあったりと利用するシーンはかなり多いと思います。
Sharepoint 2013 のリリースに合わせて唐突に登場した Workflow 1.0 Beta。Azure Workflow Service として公開されていますが、名前はこれからどうなっていくか未定というのもあり、MSDN内部の記述でも Workflow 1.0 と Windows Azure Workflow Service が混在していたりします。
それはさておき、とりあえずインストールするところまではやってみたので、そこまでの流れを。
CodeZine にて WF4 について執筆した記事が掲載されました!
開発者と非開発者を結ぶ新パラダイム「Workflow Foundation 4」 ~Workflow Foundation 4が導く新しい開発スタイル(1)~今の時点では全4回を予定しています。次回の内容はアクティビティの実装関係になる予定です!
よろしければ是非ご一読ください。
6/9 の Cod2012Jp にて行いましたセッション資料です。
スライドだけでなく、WMIプロバイダのアセンブリとスクリプトも公開してありますので、参考までにどうぞー。ダウンロードはこちらから(SkyDrive)
6/9 に行われる Comunity Open Day 2012 の北海道開場では、私が午後イチのセッションをやらさせてもらえることになり、ここ最近そこで話すネタについて色々調べたり遊んだりしています。その中でも今になってようやく試すことができた、WMI プロバイダの自作を行ってみました。
最近は転職のために色々あってすっかりご無沙汰ですが、少しずつ落ち着いてきたのでこちらもちょっとずつですがペースをあげていきます。今回は WinRM を .NET 言語から利用する、というのをやってみました。WinRM は非常に便利かつお手軽に WMI を利用できる手段なのですが、それもスクリプトからの話で、プログラムコードから利用するには結構四苦八苦していました。
4/14 に行われる CLR/H 勉強会で、私のセッション「WF でも TDD」にて利用するスライドをアップしておきます。ただ、これをアップしているのが前日ですので、当日までの間に修正するかもしれませんが、その際は別途修正版スライドをアップしておきます。
Codeplex に着々とリリースを続けている WF のアクティビティライブラリですが、少し前に WMI を利用するためのアクティビティライブラリをリリースしました。
これを利用すれば WMI も少しだけ簡単に利用できる・・・かな?
以前にアクティビティのアイコンについて、アクティビティデザイナーを持たない場合のアイコン抽出として ToolboxBitMap 属性を抽出する方法を書きました。その際に懸念事項として、デザイナ上のアイコンをどうするか、というのがありましたが色々と試行錯誤したところ、次のような手法になるのではないかと思います。
TFS Express のベータ版もついに登場し、無償環境でも待望の TFS が利用できるようになる日も徐々に近づいてきています。その前段階として、TFS 2010 のアクティビティライブラリを Visual Studio 有償版がない環境でも利用できるかを調査してみました。
Windows 8 CP 版とともに Visual Studio 11 もβ版が提供され、多くの人が色々触りだしている事と思います。今回は特に VS 自体のルック&フィールが Metro スタイルへと変化し、今までとは大分異なる感覚を受けている人が多いのではないでしょうか。
その中で WF に関連する事柄として、標準アクティビティのアイコンが変更されました。
前回は Developer Preview 版で検証してみた VB6 製アプリですが、今回は Consumer Preview 版にてやってみました。検証環境は次のような感じで構築しています。
過去に IActivityTemplateFactory を扱った時は、アクティビティの自動生成と変数の生成まででした。今回はそこから一歩進んで、生成した変数を自動生成したアクティビティで利用するようにしてみます。
前回のファイル・フォルダ関係ライブラリに続いては、Microsoft SQL Server 用アクティビティライブラリです。これも Microsoft.Activities.UnitTesting ライブラリを利用した、ユニットテストのソースも付属しています。また英語・日本語に対応しています。
以前 SkyDrive にアップしていたものを調整し、今後は CodePlex 上で開発していくことにしました。Microsoft.Activities.UnitTesting ライブラリを利用した、ユニットテストのソースも付属しています。また英語・日本語に対応しています。
以前行ったアクティビティのアイコン抽出ですが、あの方法は関連するアクティビティデザイナーが存在していて利用できる方法です。コードのみで Workflow Foundation を利用しているケースでは特によくあるのが、アクティビティデザイナーを持たないアクティビティが発生する事で、この場合は当然アイコンを抽出する事はできません。
WorkflowDesigner のコンテキストメニュー(右クリックメニュー)には、独自に項目の追加を行う事が可能です。それを利用して標準で提供されていない機能の提供などを行う事ができます。
前回の記事では Speech Platform 11.0 にて喋らせることを行いましたので、今回は音声認識を行ってみます。
Kinect for WIndows も登場したので、少し前にリリースされていた Microsoft Speech Platform 11.0 を使った音声合成(しゃべらせる)や音声認識もこれから注目が集まっていくんじゃないかなー、などと思いながら触ってみました。既にサンプルを作られている方もたくさんいらっしゃるので細かい事は書きませんが、そこに至るまでで結構苦労したのでそのあたりについてまとめておきます。
Workflow Foundation の各種サービスの中に IValidationErrorService インターフェースで定義されるものがあります。これを利用すると、現在デザインしているワークフローで発生しているエラー情報を取得し何かしらの処理を行う事が可能です。
ValidationService というワークフローの検証を行うサービスクラスがあります。何気なく MSDN のリファレンスを見ていると NavigateToError メソッドという
「作業画面で、アクティビティのエラーの場所にキーボード フォーカスを移動します。」
と書かれたものがあったので試してみたところ、ちょっと動きがおかしかったので記録として残しておきます。
Workflow Foundation ではワークフローランタイムを通して各アクティビティに拡張機能を提供する仕組みが用意されています。少々使いどころが難しい面がありますが、アクティビティ本来の処理ではないロジックを、拡張機能という形で全体的に提供することが可能です。
Workflow Foundation では DynamicActivity クラスを利用して、動的にアクティビティを生成する機能が用意されています。利用するシーンとしては、プログラムのロジック内部でアクティビティの挙動を変更させたい場合とか、アクティビティの存在を表に出したくない場合などがあるかと思います。
縁あっていただいた書籍 「Windows Azure Platform 開発入門」についてのレビューです。
全体を 6 章に分け WIndows Azure に限らずクラウドコンピューティングとは、という前提の説明から、SQL Azure や Azure AppFabric、VM ロールに Azure Market Place までと、開発入門の名前の通り、幅広い内容を読みやすい形で書かれています。個人的には Azure Storage へ REST API でごにょごにょする際に色々触っていましたが、ここのところかなりご無沙汰だったのもあり改めて勉強させてもらえました。
CodePlex にて Workflow Foundation 用のユニットテストライブラリ「Microsoft.Activities.UnitTesting」が公開されています。Workflow Foundation ではアクティビティの実行等、通常のロジック実行とは異なる部分もあり、そのまま NUnit 等のユニットテストを行うのは不便な状況でした。ですがユニットテスト用のこのライブラリを利用する事で、今までと同様にユニットテストを行う事ができます。
スプレッドシート、カレンダーと来たので次は Blogger に投稿する、というのをやってみました。感覚としてはスプレッドシートやカレンダーと比較すると、かなり簡単に思えます。
実運用が始まった後でテーブルに項目追加とかはできるだけ避けたいところですが、のっぴきならない事情があったりして追加せざるを得ない事は多々あるかと思います。その際、どれくらい処理に時間がかかるかというのを事前に計測できれば、利用者に「このぐらいの間重くなるからー」とか「何時まで使えないですー」というアナウンスもできるのですが、実際にどれくらいの処理時間がかかるかを計測するのはかなり難しいところだとも思います。今回は、ある程度のデータ件数を持つテーブルに対して項目を追加し、どの程度の処理時間がかかるかを計測してみました。
以前 Hyper-V の管理とか操作を調べていて管理ツール上の動作イメージサムネイルをどうやって取得しているのかな、と思ったら WMI を利用して取得していることを教えてもらったので、ついでにアクティビティにしてみました。
ワークフローをホスティングする環境の一つに Windows Server AppFabric を利用したホスティング方法があります。実際には IIS の拡張機能的なポジションなので、IIS でのホスティングと基本は変わりありませんが、AppFabric にて提供される機能にて Workflow Foundation に関わる設定を簡易に行えるようになります。言い換えると Windows Server AppFabric で拡張される機能は「各種設定ファイル( *.config ) の設定用 UI を提供」する事と言えます。
前回の記事では GData API v2 を利用してカレンダーに予定を登録しました。ですが、v2 の API は 2014 年には廃止されることが決定しているため、できるだけ早期に v3 へと移行する必要があります。今回は v3 の API を利用して予定を登録してみます。