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