アプリケーション・プログラムは、次の 3 つの階層に分けることができます。
表示処理
- ユーザー・インターフェースを管理する階層で、ユーザーからの情報入力を受け付け、プログラム側からのメッセージを提示する、という役割があります。
業務処理
- 入力されたデータをもとに、業務に沿った処理をする階層です。
データベース/妥当性検証処理
- データが業務の立場から見た妥当性規則に適っていることを確かめ、必要な変換を施す階層です。データベースから情報を取得する、あるいはデータベースの情報を更新する前に実行します。
従来型のプログラミング・アーキテクチャやアプリケーション・プログラミング・モデルは、単一のハードウェア・プラットフォーム上でプログラムを実行することを前提としていました。この場合、業務処理と表示処理、あるいは業務処理とデータベース処理がきちんと分離されず、ひとつの巨大なプログラムになってしまいがちです。こういった、異なる階層の処理がごた混ぜになったプログラムが何百も集まって、業務処理アプリケーションを形作っていたのです。
例えば,従来の IBM i 用のアプリケーションは、画面処理、業務処理、IBM i データベースへのアクセス処理が一体となった、RPGベースの巨大なプログラムとして実装されていました。開発に相当の時間を要することはもちろん、保守も困難です。さらに、他のプラットフォーム上で動かすことも、ほとんど不可能です。コードの再利用も難しいので、実質的に同じ内容の処理があちこちに現れていました。
このように、異なる階層に属する処理をひとつのプログラムに記述してしまう、という従来型のアーキテクチャでは、ネットワークを介した分散コンピューティング環境での運用を求められるようになると破綻しかねません。ですが、1.2.5 階層型アプリケーション・アーキテクチャ を使用することで、かなり柔軟に対応することができます。
次のトピックも参照してください。