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