WF 4 への移行ガイダンス (Beta 1)

環境 :
.NET Framework 4.0 Beta 1

こんにちは。

WCF / WF (.NET Endpoint) のチームブログ にも記載されていますが、TechDays でも予告しました通り、米国の WCF / WF チームから、WF 4 移行のための Cookbook / ガイダンスが提供されています。

WF 4 Migration Guidance :
http://www.microsoft.com/downloads/details.aspx?FamilyID=bd94c260-b5e0-4d12-93ec-53567505e685&displaylang=en

TechDays 2009 でも、もっとも多かったご質問がこの「移行方法」に関してでした。やはり気になりますね。
内容詳細は上記のドキュメントを参照して頂きたいと思いますが (すみません、まだ英語です)、重要なポイントとしては、一部、TechDays 2009 などでもご紹介したように、

  • WF 3 のアプリは、.NET Framework 4.0 になってもそのまま動作します
  • Visual Studio 2010 による WF 3 ソリューションの新規作成 / 編集をフルサポートされます
  • Interop Activity (WF 4.0 上で WF 3 のアクティビティをラッピングして使えるアクティビティ) を提供します

という点と、あともう 1 つの新しいポイントとして、WF 3 から WF 4 へのコンバージョンツールのサポートが “予定” されているという点です。(これについては、まだ「予定」なので注意してください。アクティビティ定義のツリー、フィールド / プロパティの値などのマイグレーションが予定されていると書かれています。)

WF 3 がそのまま動くということで、WF 4 へのプロジェクト / モジュールの移行がつぎの関心時になってくると思いますが、上記で提供されているドキュメントは、主に、この観点でのドキュメント (つまり、WF 3 からの Redesign のための「クックブック」と、WF 3 から WF 4 に直接マップできないケースなど、状況に応じた「ガイダンス」) を提供しています。

このガイダンスの読み方ですが、まず、WF 4 を少なくともある程度は理解してから読んでください。WF 4 については、日本では TechDays 2009 でご紹介していますが、以降もいくつかアップデートが入っていますので、今後の日本でのイベントや、速めにキャッチしたい方は米国の情報など (例えば、US での Tech Ed の内容など) をご参照ください。WF 4 のベースが理解できたところで、皆さんが構築されている具体的なプロジェクトの気になるポイント (例:「・・・って、WF 4 になったらどうすれば良いんだろう ?」) を上記の Cookbook / Guidance で学んでいくと効果的に理解できます。

ざっくりですが、「CodeActivity の乱用は避けてください」とお願いしていた通り (書籍「.NET 開発テクノロジ入門」でも同様の注意を Note として記載しておきました)、WF 4 は XAML ベースで組んでいきますので、コードビサイドのロジックは、カスタムアクティビティとしてリパッケージなどをする必要があるので注意してください。特に、CodeActivity、アクティビティのイベントハンドラを使っている場合には、コードの内容などに応じて独自に移行が必要となります。

  • あるアクティビティ内のプロパティから別のアクティビティのプロパティへの直接的なバインドはおこなわないこと。
    (かならず、ワークフロー変数を作成するなどして、アクティビティ間でバインドする。)
  • WF 4 のカスタムアクティビティでは、コンセプトそのものは WF 3 のカスタムアクティビティと類似。ただし、既存の手法に変わるいくつかの新しい API を提供しているので、アクティビティが提供する API やメソッドを使っている場合には注意。

などなど、の抑えておくべきポイントが Cookbook / Guidance で紹介されています。(コンバージョンツールが出てきたら、また多少アップデートされるとは思います。)

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s