WCFのWeb プログラミング モデル

Steve Maine氏によって、WCFのWeb プログラミング モデルを利用してRESTfulなWebサービスを構築するために有効なMSDNのリンクがまとめられています。

.NETでのRESTfulなWebサービスのサンプルとしては、上記リンクの中にあるPicture Servicesの完成度が高いです(HTTP GETだけですが)。

また、ADO.NET Data ServicesWCFのWeb プログラミング モデル拡張ですし、.NETでのRESTfulなWebサービスを考える場合には、まずWCFのWeb プログラミング モデルを押さえておく必要があるでしょう。

PofEAA勉強会 in 関西 第3回 開催のお知らせ

PofEAA勉強会 in 関西 第3回 (勉強会サイトの登録メンバーのみ参照可)

今回の開催場所は西宮市民会館(アミティホール) 特別室1になりました。

勉強会

日時:2008年02月02日(土) 13:00〜17:00(受付開始 12:45)
場所:西宮市民会館(アミティホール) 特別室1
費用:500円
定員:18名

懇親会

日時:2008年02月02日(土) 17:30〜19:30
場所:旬鮮の房 はたごや 阪神西宮駅店
費用:3000円前後

締切

勉強会

締切日時:2008年02月01日(金) 24:00:00

懇親会

締切日時:2008年02月01日(金) 24:00:00

勉強会の内容

今回はFrontControllerパターンについて.NET Framework 2.0用に記述したコード(C#)を使用して学習します。

今回のコードではNUnit 2.4.6 を使用します。

勉強会の参加について

NAgile勉強会に参加するには、勉強会サイトへのメンバー登録が必要です。メンバー参加希望は nagiler@gmail.com まで。下記の内容に必要事項を記載してメールして下さい。

===== NAgile勉強会参加希望 ===== 
ハンドルネーム: 
氏名: 
ML参加用メールアドレス: 
================================

Team Foundation 2008の導入を検討しているすべての開発チームへ

まず、覚えておいてほしいのは、Team Foundationはソフトウェア構成管理(SCM)のための製品であるということだ。

ソフトウェア構成管理とバージョン管理は混同されることが多いが、バージョン管理は構成管理で使われるツールのひとつで、手段にほかならない。達人プログラマでは構成管理は以下のように説明されている。

構成管理はプロジェクト管理の実践的手法の集合であり、ソフトウェアを的確かつ再現性のある工程に基づいて完成させることを可能にする。

つまり、構成管理には、リポジトリにはじまり、ローカルワークスペース、メインラインとブランチ、リリース(およびリリース修正)ブランチやフィーチャブランチなどのブランチ戦略、タスクレベルのコミットなどのバージョン管理に関する内容はもちろんのこと、ユニットテストユニットテストの集合を自己テストコードとした回帰テスト、スモークテストや常時結合、ローカルビルド、自動配布などの実践的手法が含まれる。

Team FoundationはSCM製品なので、もちろんこのような実践的手法をサポートするための基本機能を備えており、製品全体がサポートする範囲は相当大きい。Team Foundationでは、ロールを定義して役割を分担することでこの問題を解決しようとしている。MSDNライブラリの内容も以下のようにロール毎に構成されている。

ロールによる役割分担に反対はしないが、それは私の仕事ではないといった思考に陥ってしまう危険性については考慮しておく必要があるだろう。

また、MSDNライブラリは、製品をどのように使用するのかに重点がおかれていて、どのような目的のためにその機能を使用する必要があるのかという点については、あまり詳しく説明されていない。

今、自分たちが行おうとしていることがソフトウェア構成管理パターンのどのパターンに当てはまり、他のパターンとどのように関連し、どのような目的を達成するためにそれを行おうとしているのかといったことを、Team Foundationを使用するチームのすべてのメンバに理解しておいてもらいたい。そして自律したチームとしてTeam Foudationを運用し、ユニットテスト、バージョン管理、自動化などのテクニカルプラクティスを当たり前のように実践できなければ、いつの間にかやるべき作業を手抜きして誰も行わず、Team Foundationが有効に活用できなくなってしまうだろう。

さらに、ワークアイテムのトラッキングや各種レポートなども管理者だけが使用するのではなく、チームのすべてのメンバが自己管理するために使用してもらいたい。

自律したチームとしてのTeam Foundationの運用は、ロールによる役割分担による運用以上に重要なのだ。

  • -

以下、宣伝です(w

アークウェイでは、Visual Studio 2008 Team SystemTeam Foundation Server 2008の導入を検討されている企業向けに、Visual Studio 2008の製品発売に先駆けて、以下の内容でのトレーニングを提供するための準備が整っています。

これらのトレーニングはそれぞれ自律したチームとしてのTeam Foundationの運用をサポートし、継続してTeam Foundaion導入の効果を得ることを目的としています。各トレーニングコンテンツはそれぞれ以下の構成となっています。

  • なぜそれらの実践的手法を行う必要があるのかを重点的に説明したガイドライン
  • ガイドラインに沿って手を動かしながら実践的手法を体得できるワークショップ(C#もしくはVB)

このトレーニングにご興味のある方は、お気軽にお問い合わせ下さい。

Visual Studio Team System 2008

Visual Studio Team System 2008 Team Foundation ServerVisual Studio Team System 2008 Team Suiteの環境を構築してみた。


インストールの注意点としては、以下をしっかり確認しておきましょう。嫌なのもいくつかあるので。

あと、最新のインストールガイドをダウンロードしておくのもお忘れなきよう。

インストールが完了したら、このあたりもチェックしておきましょう。

全体的に細部が見直された感じを受けます。まだキャッチアップの途中ですが、気付いた点をいくつか。

  • ソース管理ツールはかなりイイ。軽いし、プロジェクト名の変更およびフォルダ名の変更なども簡単にできる。このあたりは、Subversionなら苦労するところだ。履歴の確認や差分表示、保留中の変更確認なども使いやすい。
  • チームプロジェクト作成時間がかなり短縮されたように思う。
  • テスティングフレームワークの動作が速くなっている。以前のバージョンで問題だったテスト実行結果がディスクを圧迫する問題についても保存するテスト実行結果の数を調整できるようになっている。
  • データドリブン単体テストCSVXMLがサポートされているのが嬉しい。また、ウィザード形式でデータソースが設定できてデータの内容も確認できるのは楽。

ソース管理のリポジトリ設計は、patterns & practices Team Development with TFS Guideで推奨されているものに従ってみた。Subversionでの trunk が Main、branches が Development/Relesesと名前こそ違えどやり慣れたリポジトリ構成で、かつVisual Studioのソリューション構成にもしっくりくる設計になっているのでお勧め。以下からこのガイドのPDF(英語)がダウンロードできるので、ぜひチェックされたい。

で、基本的な考え方はこの本でしっかりと身につけてほしいところ。

パターンによるソフトウェア構成管理 (IT Architects’ Archive―ソフトウェア開発の課題)

パターンによるソフトウェア構成管理 (IT Architects’ Archive―ソフトウェア開発の課題)

あとは、継続的インテグレーションまわりがどれくらい良くなっているのかをこれから追いかけてみます。

#あとで書いた

TeamBuildはかなり良くなっていると思う。ビルドの定義作成時に、トリガの設定もウィザードでできて、チェックインされるたびにビルドするようにも、定期的にビルドするようにも設定できる。

ビルド検証テスト(BVT)の構成も楽だ。

ビルド定義も削除できるようになっているが、既に完了したビルド結果を先に削除しないといけない点には注意。

あとはソース管理ツールにコードがチェックインされると、キューにビルドが追加されて実行される。もちろん、ビルド結果をメールで通知することもできる。

ただし、ビルド コンピュータをビルド エージェントとして指定する前に、以下の点には注意すること!

ビルド時にテストを実行するためには、ビルド コンピュータに Test Edition がインストールされている必要があります。単体テスト、コード カバレッジ、またはコード分析を実行するためには、ビルド コンピュータに Visual Studio Team System Development Edition がインストールされている必要があります。

そして最後に、チェックインする前にはローカルビルドをお忘れなく

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

レビューワをさせて頂いた関係で、献本が届きました。ありがとうございます。内容はさることながら、表紙の挿絵もとてもいい感じです。

タイトルは「アジャイルラクティス」となっていますが、プラクティスはもちろんのこと、本書が伝えようとしているのはもっと本質的な部分、すなわちアジャイル開発者の姿勢についてだと思います。

アジャイル開発を始めるにあたって、テクニカルなプラクティス(例えば達人プログラマに書かれているバージョン管理、ユニットテスト、ビルドの自動化など)が必須となってきますが、なぜそれらが必要なのか、何のためにそして誰のためにそれらを行う必要があるのかという部分が体に染みついていないと、継続することができません。最悪の場合、気がつけばチームで誰もそれらのプラクティスを実践しなくなってしまっていたというような状況になりかねません。

本書は「悪魔の囁き」と「天使の助言」そして(個人的にはここが一番気に入っているのですが、プラクティスが引き起こす感情を示した)「こんな気分」、「バランスが肝心」というような章立てになっていて、共感を覚えながらプラクティスに対する自分自身の姿勢がどうあるべきなのかが腑に落ちるように書かれています。

本書は、これからアジャイル開発を行ってみようとしている開発者、そして現在アジャイル開発を行っているすべての開発者に是非とも読んで頂きたい一冊です。本書を読み終えたなら、あなたの本棚の今までに読んだ多くのアジャイルに関する書籍が占有するスペースの、一番手に取りやすい位置に本書が並べられることになるでしょう。