Insider's EyeMicrosoft PDC 2005で発表された次世代テクノロジと新製品デジタルアドバンテージ 一色 政彦2005/09/28 |
|
3. 次世代開発を支える新しいプログラミング・モデル、ツール、および言語拡張
■Windows Workflow Foundation(WWF)
アプリケーションの内部には、数多くの複雑なワークフロー・ロジックが存在することが一般的だ。例えば、ユーザー・インターフェイスのページ・フロー(Webページの遷移など)やSOAにおけるシステム間連携のワークフローなど、主にシステムの実行手順を示すワークフロー(以下、システム・ワークフロー)がある。
またその一方で、ドキュメントの回覧に関するワークフロー(例えばりんぎ書など)やビジネス・ルールに基づくワークフロー(商品の売買の流れなど)などといった人の作業プロセスや意志決定のステップを表すワークフロー(以下、ヒューマン・ワークフロー)もある。このように、ワークフローは至る所に存在するわけだ。
このようなワークフローの実装をサポートしてくれるのがWindows Workflow Foundation(WWF)である。WWFを使えば、これらの既存のワークフローを標準化したり、ワークフローをより明確に視覚化したりすることができる。さらにWWFは、システム・ワークフローとヒューマン・ワークフローを統合したワークフローを作成することも可能である。
WWFは今回のPDCでWinFXに新たに加えられたフレームワークで、すでに.NETを利用したことがあれば苦もなく利用できるように設計されているので、ワークフロー機能をすぐにソリューションに組み込めるはずだ。実際にマイクロソフト製品では、Office 12とBizTalk、Microsoft Dynamics(=従来は“Project Green”のコード名で呼ばれていた中小規模向けビジネス・アプリケーション群)にもこのWWFが利用される予定だ。
またWWFのためのデザイナ機能がVisual Studioに統合されているので、アプリケーションが利用するワークフローをVisual Studioでビジュアルにデザインでき、また簡単に修正することができる。もちろんC#やVB.NETで記述したアプリケーションと同じように実行してデバッグすることも可能だ。さらにWWFは、WinFXの一部なので、ほかの基本クラス・ライブラリの機能と同じように、フレームワークのプログラムをC#やVB.NETのコードで記述することも可能だ。
Windows Workflow Foundation+Visual Studio 2005によるワークフローのデザイン画面(提供:Microsoft) |
WWFはこのように容易にワークフローを実装できるので、これまでワークフロー関連のプログラミングとそのワークフローの修正作業にかかっていた手間と時間を大幅に削減できるだろう。
[参考]WWFのダウンロードおよび詳細について |
WWF Beta 1はすでにダウンロード提供されている。WWFのダウンロードおよび詳細については、次のサイトを参照されたい。 |
■The “LINQ”(Language Integrated Query) Project
例えばC#やVB.NETでデータベースへのクエリ(問い合わせ)を記述するには、本来のC#やVB.NETなどの.NET言語に加えて、SQL言語もマスターし、両言語の世界をつなぐためのAPIもマスターしなければならない。このように従来のクエリの記述は、非常にコストの高い作業の1つだった。それをシンプルに行うために登場した.NET言語の新機能が「LINQ」(リンク:Language Integrated Query)である。
具体的には、SQL文やXQueryを用いて書かなければならなかったデータソースに対するクエリが、C#やVB.NETなどのプログラミング・コードの一部として記述できるようになる(LINQ機能はC# 3.0とVB 9.0で対応予定)。
LINQの利点は、特に(クエリのコードを書くときに)インテリセンスが利くことだろう。従来はインテリセンスなしでデータベース接続文列やSQL文とそのパラメータをコード内に文字列定数として記述しなければならなかった。しかしLINQを使用すれば、クエリ表現を文字列ではなくコードとして記述できるので、そこでインテリセンスが働きコード入力は格段に楽になる。またそのほかにも、コンパイル時にシンタックス・チェックが行われるなど利点は多い。
なお、LINQが取り扱うことができるデータソースには次の3種類がある。
(1)インメモリ・データ: |
|
|
→ .NETの配列やコレクション・オブジェクトに対するSQLライクなクエリ。 |
(2)リレーショナル・データベース: |
|
|
→ ADO.NETを通じたクエリ。“DLinq”と呼ばれる。 |
(3)XMLデータ: |
|
|
→ 軽量な(=XML DOMよりも小さくて高速な)XMLプログラミングAPIを通じたクエリ。“XLinq”と呼ばれる。 |
[参考]LINQの詳細とダウンロードについて |
以下のサイトを参照されたい。 |
4. PDCで発表された開発以外の次世代テクノロジと新製品
本稿では主に開発関連のテーマを中心に紹介してきたが、PDCではこれ以外にも、例えば“Office 12”(次期Microsoft Office)に導入される結果指向ユーザー・インターフェイス(Result-Oriented User Interface)という新しい概念や、“IE 7”(次期Internet Explorer)に搭載されるタブ・ブラウジング機能やRSSサポート、Webページ全体を適切に印刷できる機能、“Windows Vista”に搭載されるPtoPのコラボレーションを実現できる「People Near Me」機能など数多くの興味深いテーマが解説された。これらの内容については、後日、Windows Server Insiderの方からレポートが提供される予定なので、それをお待ちいただきたい。
■
以上がPDCの主な内容だ。読者諸氏は本稿で紹介したマイクロソフトの最新技術についてどのような印象を持っただろうか。筆者はPDCの会場で、WPFを中心としたプレゼンテーション機能とWWFによるワークフロー機能にとても興奮した。やはり3D映像を駆使したソフトウェアは魅力的だと思ったし、ワークフローはどこにでもある要素なので便利そうに見えた。もし読者諸氏がコアなデベロッパーならば、これよりもAtlasやLINQなどの主にプログラミング関連のテーマに興味を持ったのではないだろうか。これらについては後日より詳細なレポートを提供できる予定だ。
正しく数えたわけではないが、PDCには100人以上の日本人が参加していたと思う。だがこれをPDC参加者全体(例年の数値から恐らく6千〜1万人くらい?)の中で考えると、1%くらいにしか達していないことになる。これでは少し寂しいような気がした。ぜひ日本のソフトウェア開発者、ソフトウェア産業には頑張ってもらいたいと思っている(もちろん「日本」というくくりでソフトウェア開発を考える必要はないのかもしれないが、野球選手のイチローのようなすごい人が日本のソフトウェア産業の中から出てきたら、それはそれでうれしいと思っている)。そのためにも、@IT/Insider.NETは日本の.NET開発者に役立つ情報をこれからもたくさん公開していきたい。
さっそく本稿のPDCレポートを読んだのをきっかけに、マイクロソフト主催のWindows Vistaキラー・アプリケーション開発のコンテストにチャレンジして、スーパー・プログラマを目指してみるというのはいかがだろうか?
賞金は合計額で12万5千ドル(1375万円くらい)ということだ。ぜひ日本人プログラマに優勝していただきたい。
INDEX | ||
Insider's Eye | ||
Microsoft PDC 2005で発表された次世代テクノロジと新製品 | ||
1. 豊かなユーザー・エクスペリエンスをもたらすWindows Vista時代のAPIセット「WinFX」 | ||
2. 高度なプレゼンテーション能力を発揮する次世代プラットフォーム・テクノロジ | ||
3. 次世代開発を支える新しいプログラミング・モデル、ツール、および言語拡張 | ||
Insider's Eye |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|