トップスポーツチームの監督に教わる秘訣
この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。
作者 Charles Humble, 翻訳者 編集部 投稿日 2008年6月16日 午前12時16分
開発と配布にApache LicenceのVersion 2を利用したImpalaは(サイト・英語)、Java 1.5ランタイムを用いて、Spring MVCベースのWebアプリケーションを階層化したモジュール一式に分割する手段を開発者に提供する。Impalaフレームワークを使用するすべてのアプリケーションにはルートモジュールがあり、場合によってはサブモジュールも1つ以上存在する。ルートモジュールの主な目的は、インターフェースbeanのセットを定義すること、アプリケーションで使われているJavaインターフェースや共有/ドメインクラスにホームを提供することであり、他方、サブモジュールは一般にドメインに重点を置いている。Impalaフレームワークにより、動作中のアプリケーション内でモジュールの動的な追加や、更新、削除が可能になり、Java Management Extensions(JMX)を使ってのモジュール閲覧や再ロードがサポートされている。Impalaでは開発方法論としてテスト駆動開発を強く奨励しており、JUnit 3に基づいた「インタラクティブ・テストランナー」が提供されているが、テストランナーの意図するところは、特にインテグレーション検査において、開発/デプロイ/検査サイクルを短縮することである。Impalaプロジェクトチームは初のマイルストーンリリースを出したばかりで、そのリリースはここでダウンロードできる(source)。今回のリリースはEclipseとAntに緊密結合しており、また、サーブレット・コンテナのオプションとしてTomcatとJettyをサポートしている。最終的な1.0版のリリースでは、NetbeansとIntelliJ向けのIDEサポートも追加される予定で、JDeveloperについても検討中だ。Spring MVCのサポートに加え、包括的なWebインテグレーションのメカニズムも計画されている。現在のImpalaはOSGiに準拠していないが、最初のフルリリースでは準拠を予定している。
ロードマップによると、初のマイルストーンリリースには以下の機能が実装されている。
- インタラクティブ・テストランナー:テストの実行に加え、モジュールのロードや更新、リロードも可能なJavaのメイン・アプリケーション
- スィート・テストランナー:インテグレーション検査一式の効率的かつ高速な実行をサポート
- 単純なスカッフォールディング(scaffolding)により、新規プロジェクトの構築が可能に
- Eclipse Webアプリケーションランナー(Jettyを利用)により、ビルド無しでマルチモジュールのWebアプリケーションの開発が可能に
- warデプロイメントビルド - warファイルの作成をサポート。warファイルは標準JEEアプリケーションサーバーもしくはサーブレット・コンテナにデプロイ可能
- Jetty向けの非warデプロイメントビルド - Jettyサーバーを組み込んだ専用デプロイメント機構
- アーキテクチャ内の欠点を削除する内部リファクタリング
- Spring MVCを用いて、マルチモジュールで動的にリロード可能なWebアプリケーションの構築をサポートする、Spring MVCインテグレーション
- JUnit 3.8のサポート。特にインタラクティブ・テストランナーにおけるサポート
- ファイルシステム変更ディテクターを使った自動のモジュール更新
- JMXのadministration consoleを使った手動のモジュール更新
- リリースバージョンの自動タグ付け機能がついたデプロイメントビルド
- Impalaベースのアプリケーションで使用可能なAntベースのビルドシステム
ImpalaはSpring OSGiと明らかに重複しており、Impalaのブログには(source)両者を比較したエントリーがある(source)。ImpalaプロジェクトではOSGiとひとまとめにし、最終的にはImpalaアプリケーションの代替ランタイムとしてOSGiを使用可能にしようと検討中である。
Impalaのプロジェクトリーダーは、同プロジェクトへのコミュニティの参加を切望している。興味のある方はこちらをご覧いただきたい(source)。
原文はこちらです:
InfoQ Japanはコンポーネントスクエアが運営しています
ITマネージャ必聴!IT活用セミナー 勝ち残りの法則~管理・統合化スペシャル~
【無償】「Google Apps 企業向けソリューションセミナー」のご案内
この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。
マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。
Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。
筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。
エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。
この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。
No comments
返信