ビジョン
1. ビジョン
信頼性が高く、誰でもが利用できる、社会資本たる「ビジネストランザクションメッセージング基盤」を提供することにより、ソフトウエアサービス構築のスピードアップの実現、ひいては、サービスソフトウエアビジネスの活性化を目指す、「取引ベースのプログラミングモデル(TranXactional Programing model)」を開拓・実践していくことをopentxp.orgプロジェクトのビジョンとします。
2. ビジネストランザクションメッセージング基盤とは ではビジネストランザクションメッセージング基盤とは、具体的にはどのようなソフトウエアでしょうか?
システムの構築、連携、および、統合の基盤となりえるソフトウエアには、様々なミドルウエアが存在しています。( システム構築と基盤ミドルウエア参照。) このような中で、システム間連携のコーディネータとして最適なミドルウエアはなんでしょうか?
勿論一概には決められません。しかし、疎結合なシステム連携、連携するタイミングの柔軟性、トランザクションによる信頼性、障害回復性などを考えると、トランザクショナルなメッセージングシステム(つまりはメッセージキューイング)が最もビジネストランザクション基盤とするにふさわしいのではないでしょうか( 非同期トランザクションとメッセージキューイング 参照 )。
3. トランザクションとメッセージキューイングの普及
メッセージキューイングがシステム統合の基盤となることは、サービス指向アーキテクチャ(SOA)を例としてあげるまでもなく、以前から度々提唱されていることではあります。しかし、メッセージキューイングはそれほど普及しているとはいえません。また、トランザクションの必要性は、さらに以前から誰もが理解しているにもかかわらず、未だに(トランザクションに対応できない)ファイル転送によってデータ連携を行っているシステムが如何に多いことでしょう。
このような状況の原因として考えられるのは、トランザクション処理と常駐並行処理の設計・実装が(とくにアプリケーションプログラマにとって不慣れな領域であるため)困難であることです。
トランザクション処理やメッセージキューイングが普及するためには、業務システム開発を行うプログラマにとって利用しやすいものでなければなりません。 4. IoC(DI)コンテナとメッセージングシステム
従来のアプリケーション開発において、ミドルウエアの利用方法はAPIコールによって行われてきました。ここではアプリケーションプログラマは、ミドルウエア毎のAPIやその使用方法を学ぶ必要がありました。また、処理を実行させるスレッドやプロセスの制御やエラー処理、必要な場合にはトランザクションの実行制御についてもアプリケーション側が責任を持っていました。
これに対してIoC(DI)コンテナとは、アプリケーションが実行制御を持つのではなくコンテナ側で実行制御に責任を持つこと(制御の反転)により、アプリケーションプログラマが業務ロジック開発のみに集中できるようにすることで(関心事の分離)、開発の生産性を向上させようとするものです。