ここでは次のトピックについて説明します。
従来のエンタープライズ・アプリケーションの大半は、相互のプロシージャやデータへ制限付きのアクセスを行う自己完結型のモノリシックなプログラムでした。それらは、多くの場合、単純な変更でもプログラム全体の再コンパイルと再テストが必要なため、構築が困難で保守に高額の費用がかかりました。
一方、CORBAのような分散オブジェクトを使って構築したアプリケーションは、多層アーキテクチャに順応しているため、複数の重要事項をきちんと分割することを可能にします。3層のアプリケーションには、ユーザー・インタフェース・コード層、計算コード(ビジネス・ロジック)層、データベース・アクセス層が含まれます。各階層間のやり取りは、すべて、各CORBAオブジェクトの発行するインタフェースを通じて行われます。下の図は、モノリシックなアプリケーションから多層かつモジュール化したアプリケーションへの推移を示します。
ユーザー・インタフェース層は、ユーザーとインタラクティブなやり取りを行う階層です。この階層は、組織全体を通じた効率的なユーザー・インタフェースの設計と使いやすさに焦点を当てています。ユーザー・インタフェース層は、ユーザーのデスクトップ、組織のイントラネット、World Wide Web (インターネット)上に存在します。同一のサーバーにアクセスするのに、異なるいくつかのユーザー・インタフェースの実装が使用されることもあります。ユーザー・インタフェース層は、通常ビジネス・ロジック層のメソッドを呼び出すことにより、ビジネス・ロジック・サーバーのクライアントとして機能します。
サービス層またはビジネス・ロジック層は、クライアント・コードとやり取りをするサーバー・ベースのコードです。ビジネス・ロジック層は、ビジネス・オブジェクトで構成されています。ビジネス・オブジェクトとは、在庫管理、予算、販売注文、請求書作成などの論理ビジネス機能を担うCORBAオブジェクトを指します。これらのオブジェクトは、データ格納層のオブジェクトのメソッドを呼び出します。
データ格納層は、データベース・ルーチンをカプセル化したオブジェクトで構成され、DBMS製品と直接対話を行います。たとえば、get_Sales_Sum
というメソッドを作成し、適切なSQLのSELECT
文を使ってリレーショナル・データベースからデータを取得するようにこのメソッドを実装することができます。