コンポジット・アプリケーション・フレームワークとはなにか?

ブロガー: マリオ ヘルガー (Mario Herger)
2004/1/5 pm5:24
翻訳: 古澤 昌宏
2004/10/22

ようこそ

私の初めてのブログへようこそ。コンポジット・アプリケーション・フレームワーク (以下CAF: Composite Application Framework)について書くことにします。私たちのビジョン、CAFとは何なのか、今どこまでできているのか、あなたはどのようにこれを使うことができるのか。ここではそのようなことを書いていこうと思います。今日は短めに、CAFを夢想家の目で説明してみましょう。

一言でビジョンを説明すると

「ビジネスアプリケーションを他のアプリケーションの上に構築(ビルド)すること。一行もコードを書くこと無しに。」

もうちょっと長めのビジョン説明

こんなツールを想像して欲しい。ビジネスアプリケーションを作るためのツールだ。テーブルやそれらの関係性をを作るのにSQL文を扱う必要はない。適切なプログラム言語の選択も、適切なAPI群をどこかから探し出しそれらを一まとめにして扱う必要もない。その代りに、あなたが主にビジネスロジックユーザインタフェース(UI)に注力し、そして同僚がビルドしたモノを再使用できるように支援する。SQLデバッグや、あるソリューションを他のプラットフォームに移植するために時間を無駄にしてはいけない。CAFを使おう!これはちょうどSAP ビジネス・インフォメーション・ウェアハウス(SAP BW)が分析という作業に対して革命を起こしたように、将来のSAPのビジネスアプリケーションのビルド作業に革命をもたらすのだ。


ビジネスオブジェクトを登録する。サービスもだ。それらを属性付の複合オブジェクトのフォームにドラッグ&ドロップする。いくつかのプロパティをセットする。言語と時間依存のセッティングを行う。アトリビュートとメソッドを既存のアプリケーションに必要に応じてマップする。するとコードが自動生成される。テーブルと関係性も同時に登録され、デフォルトのUIがあなたのオブジェクト定義の結果として得られるのだ。


もっと言うと:あなたは特定のプログラミング言語に依存することがなくなる。SAP製品が異なるOSやDBMSで同じように動くのを御存知のはずだ。ここで、ほぼ自動生成されるコードから、Javaコードを生成したり、他のプログラミング言語のコードをはいたりすることは何の問題もない。あなたは適切なプラットフォームの上でそのコードを走らせることができるのだ。


夢だろうか。高すぎる理想だろうか?
そうだな、それはyesでもありnoでもある。でもそれがCAFの進むべき方向なのだ。いくつかは開発途中で、まもなく最初のバージョンがリリースできると思う。

正式な定義 (SAPのドキュメントに掲載されているはず)*1

統合とアプリケーションのプラットフォームであるSAP NetWeaverの上で、SAPコンポジット・アプリケーション・フレームワーク (CAF)は複合アプリケーション(SAP xAppsも含む)のデザイン環境と実行環境を提供する。CAFはエンタープライズ・サービス・アーキテクチャ (ESA) に基づいており、デザインツールと同じく、オブジェクト、サービスそしてプロセスの抽象化レイヤから構成される。


抽象化レイヤは、複合アプリケーションのビジネスオブジェクトとサービスの世界から、実システムを分離する。これは裏のアプリケーションの交換性を確保することにつながる。加えて、既存アプリケーションのオブジェクトとサービスの再利用性により、新しいモノを定義することが容易になる。また、抽象化レイヤは複合アプリケーションのどのサービスやオブジェクトも、相互にコミュニケートできるようにするのだ。例えば、ナレッジ・マネジメント・システムのタスクやドキュメントやアポイントメントは、CRMシステムで定義されるカスタマのような、どんなビジネスオブジェクトにも関係を持たせることができる。


複合アプリケーションを開発する時に、再利用性と、自動コンフィグレーションと、簡単に使える変更管理機能はとても重要な役割を果たす。従って、CAFは次の各機能を含むのである。すなわち、WebDynproによるユーザ・インタフェース・パターンはもちろん、各種デザインツールと、プロセス・パターン・ライブラリ(ガイデッド・プロシージャ)も、である。


オブジェクトとサービスの抽象化は、巨大なパターン・ライブラリとともに、プログラミングをほとんどしないでビジネスプロセスのビルドを可能にする。要するに、CAFはアプリケーション開発とクロス・ファンクショナルな(=いろいろな機能の入り混じった)ビジネスプロセスの管理をすばやく行えるようにするのである。それはSAP NetWeaverのオープンなサービスの強みと、SAPのビジネスアプリケーション領域の能力を結びつけることにより、初めて可能になるといえる。

                                                                                  • -

マリオ・ヘルガーはコンポジット・アプリケーション・フレームワークの製品マネージャです。

*1:ここでは古澤が日本語に翻訳した。SAP/SAPジャパンがリリースした(はずの)日本語ドキュメントとは無関係