|
|
背景
今日のソフトウエア開発においては、「迅速なサービス提供」と「連続的に変化する要求への対応」が至上命題となっています。モデル駆動型開発やアジャイル開発などの方法論により提唱されるDSL(ドメイン特定言語)による俊敏な開発が主流の意見となりつつあり、また一方で、CORBAなどに準拠する重量級のフレームワークは、俊敏性を阻害するものとして嫌悪されるばかりとなっているようです しかしopentxp.orgでは、強固なトランザクション基盤の上で動作することを前提としなければ、実用に耐えるアジャイル開発の実現は不可能であると考えています。 実際、現場のエンジニアとしては最低限必要となる工期よりも開発期間を短縮させることはできませんし、また、短期間での開発を行う場合にはソフトウエア欠陥・障害のリスクを負うことになります。 なぜなら、業務要件(および、その要件の変化)だけがアプリケーション開発の負荷を押し上げている要因ではないからです。 例えば、エラー検知と障害回復処理は、開発工数を削減できない最大の理由のひとつです。モデルやルール、軽量なスクリプト言語を用いても、エラー処理のプログラミング負荷はなんら変わりません。またエラー処理はプログラミング負荷が大きいのみではなく、(とくにエラー処理に関しては)常に上流の要求仕様において漏れが発生ものであるため、プロジェクトの重大なリスクでもあります。したがって、エラー処理にかかる工数を軽く見積もった場合には必ず痛い思いをすることになります。 けれども、アプリケーションが(一定のサービス品質を保証可能とする)トランザクションサービスの上で動作することを前提とすれば、アプリケーションロジックのエラー処理では、適切に例外をスローするのみで済ませることが可能となります。それによって設計・実装・テストのすべての工程において、エラー処理に関連する作業負荷を低減することができます。つまりトランザクションに対応することは、決して特別な要件に基づくものではなく、むしろ、開発のスピードアップを図るための手段であるわけです。 またopentxp.orgでは、基盤ソフトウエアは「資産」、サービスソフトウエアは「消費財」であると考えています。 もしトランザクション基盤により高い信頼性と標準化された回復方法が確保できていれば、アプリケーションロジックについては要件の変化に応じて俊敏に開発して、必要なくなれば「使い捨て」にすればよいという考えも可能になります。 したがって、今日のソフトウエア開発プロセスの改善要求にこたえるためには、以下の両面で環境を整える必要があります。 ● 可変部分(サービスソフトウエア)開発の簡便性、俊敏性の向上 ● 固定部分(基盤ソフトウエア)の信頼性、再利用性の向上 このように考えると、基盤ソフトウエアをすべて独自に開発あるいは調達することは、単にコストが高いというだけにとどまらず、経営資産の流動性を阻害する重大な問題要因となってしまいます。 ですから、ビジネストランザクションメッセージング基盤となるソフトウエアは、(幹線道路のような)社会資本であることがより望ましいのではないでしょうか。 以上のことからopentxp.orgでは、サービス構築の俊敏性を支えるトランザクションメッセージング基盤となる信頼性の高いソフトウエアをオープンソースとして提供する必要があると考えています。 背景の詳しい内容につきましては、「これからのソフトウエアビジネス像について」をご参照ください。 |
|
|