2012年9月4日火曜日

Workflow 1.0 で追加されるアクティビティ

今回 Workflow 1.0 のリリースにより、WF 4 環境でも利用できるアクティビティが一気に追加されています。位置づけとして、今まで Assign アクティビティにコードを記述し処理を行うことができていたのですが、Azure 環境や Sharepoint 環境で同じことができるのはセキュリティ的に問題があるということで、そのような行為は禁じ手となりました。

その代りに用意されたのが今回から追加されるアクティビティ群ですが、中には待ち望んでいたアクティビティがあったりと利用するシーンはかなり多いと思います。

その前に一つ、大きなポイントがあります。

今回 Workflow 1.0 で追加されたアクティビティや機能は、全て Microsoft.Activities.dll (その関係するライブラリ)に含まれています。このライブラリに見覚えがある人がどれほどいるかはわかりませんが、これは Codeplex にて配布されていた WF4 拡張用ライブラリのそれ、です。

そのあたりを踏まえると、現時点で NuGet で Workflow 1.0 のアクティビティを利用するために Microsoft.Activities.dll をダウンロードすることはできていませんが、将来的には NuGet にて適用させることができるようになると思われます。開発だけならば Workflow 1.0 はインストールしなくてもよくなるのではないでしょうか。

追加されるアクティビティの一覧・・・は数が多すぎるので転記しませんが、MSDNで「Workflow 1.0 Beta Activities Overview」と起点になるサイトが用意されていますので、ここからたどると調べやすいかと思います。ここではざっくりとしたまとめを記載しておきます。

Dynamic Value 今回の目玉の一つ、Json 形式など動的な値を扱うためのアクティビティ群( 11 アクティビティ)
HTTP Activities HTTP 通信を行うアクティビティ群。GET や POST 等のメソッドごとにアクティビティ化( 5 アクティビティ)
Pub / Sub Activities WF4 の Receive アクティビティなどを置き換える新しいメッセージングアクティビティ群( 4 アクティビティ)
Timer Activities Delay などのタイマーによる遅延対応アクティビティ( 2 アクティビティ)
Data Type Support and Expressions Activities

文字型や日付型などをサポートし、結合や値を含むかの判断、日付計算などの基本アクティビティ群

  • String系:17
  • Datetime/Timespan:16
  • Numeric系:11
  • Bool系[論理演算とかも]:7
  • Guid:4
  • Collection:15
  • Exception:2

このように単純にカウントしただけでも、94 ものアクティビティが追加されています。個人的に嬉しいのは、HTTP通信用アクティビティが公式に提供されることと、DynamicValueです。この二つが揃うと、Webサービスを利用する類の処理は WF で完結させることもやりやるくなります。今まではこういった通信系の処理は自前で実装する必要がありましたが、今回のリリースにて公式にサポートされるというのは、使う側として非常に嬉しい事ですね。

そしてもう一つ大きいのはやはり Data Type Support and Expression Activities として提供される、基本的な処理を行うためのアクティビティ群です。これを利用する事で、かなりコードを書く必要性が薄くなるのは間違いありません。今まではなんだかんだいっても、Assign アクティビティや InvokeMethod アクティビティのお世話になることも多かったのですが、そのあたりをアクティビティにしてもらえたことで、これも WF だけでどうこうできる事が増えます。

0 件のコメント:

コメントを投稿