CorVisionは、現在Attunity, Inc.が所有する第4世代プログラミングツール(4GL )です。CorVisionは、Cortex CorporationによってVAX/VMS ISAM環境向けに開発されました。CortexはPC向けに開発されたCorVision-10のベータテストを実施しましたが、CorVision自体はVMSに留まりました。CorVision-10は予想以上に開発が困難であることが判明し、結局リリースされることはありませんでした。
CorVisionの起源は1972年に遡り、当時ルー・サントロとマイク・ロウリーが、新しく設立されたタイムシェアリング会社Standard Information Systems(SIS)のためにINFORMを作成したことに始まります。INFORMには、SORT、REPORT、LIST、CONSOLIDATEなど、CorVisionの基本的なユーティリティコマンドがいくつか含まれていました。INFORMの初期ユーザーには、New England Telephone、Polaroid、Temple Barker & Sloanなどがありました。1972年までに、SISはロサンゼルス、ガーデングローブ、ミネアポリス、シカゴ、ボストン、ニューヨーク市、コロンビア特別区、シャーロット、ローリー、アトランタ、フェニックスにオフィスを構えていました。
1976年から1977年にかけて、SISのケン・レヴィットとディック・バートホールドは、INFORMをCDC-3600からIAS上で動作するPDP-11 /70に移植しました。彼らはこの新しいツールをINFORM-11と名付けました。1978年、シャーム・ウチル、クレイグ・ヒル、マイク・ロウリー、ディック・バートホールドによって、INFORM-11の販売を目的としたCortexが設立されました。INFORM-11は、最初にエディー・バウアーの20ユーザー向け注文入力システムと、コンソリデーテッド・グループ・トラストの保険処理システムに採用されました。
1981年から1982年にかけて、CortexはAB Dickから多額の投資を受けました。この新たな投資を活用し、CortexはINFORMをDigital Equipment Corporationの新しいVAX/VMSに移植し、コンパイル済みの実行ファイルを追加しました。INFORM-11は、CortexとDigitalの両社によって、先駆的な高速アプリケーション開発システムとして宣伝されました。
1984年、ジム・ワーナーはINFORMをリポジトリベースの開発ツールに組み込み、それをApplication Factoryと名付けました。INFORMの手続き型言語であるPROCESSは、Application Factory内でBUILDERとして知られるようになりました。1986年、Application Factoryという名称は廃止され、CorVisionという名称に変更されました。
1986年から1989年にかけて、CorVisionは全盛期を迎えた。大規模マルチユーザーアプリケーションを迅速に構築できる、堅牢で高性能なツールとして瞬く間に知られるようになった。リレーショナルデータベースのサポートが追加されたことで、大手顧客も獲得した。Cortexは急速に国際的な企業へと成長した。
1992年、CorVisionバージョン5がQuery機能とUnixのサポートを搭載してリリースされました。Query機能により、ユーザーと開発者はシステムデータベースのバックエンドに読み取り専用でアクセスできるようになりました。これは、開発者に依頼することなく「一度使ったら捨てる」レポートを作成できるという、一見便利な機能に思えましたが、パフォーマンスの問題を引き起こすという厄介な欠点がありました。ユーザーはデータベースの構造を理解していないことが多く、処理キューに大きなクエリを送信してシステム全体に問題を引き起こすことがありました。
1993年、CortexはDigital社の新しい64ビットAlphaシリーズへの対応を開始した。1994年、International Software Group Co. Ltd.(ISG)がCortexを買収した。
Cortexは1987年には既にIBM PCの人気上昇を認識し、 CorVisionのメニューやデータ関係の図式編集をwiktでサポートしていました。1993年にはクライアント/サーバー版がリリースされましたが、広く普及しませんでした。1997年、IBM PCプラットフォーム上でCorVisionの復活を告げるはずだったCorVision-10の開発はISGによって中止されました。CorVision-10は移植が非常に困難であることが判明し、ISGは最終的に、時代遅れとなったこのシステムにこれ以上資金を投入することを拒否しました。1994年には、CorVisionの最後の革新的なリリースであるV5.11がリリースされました。追加料金のY2K対応版であるV5.12.2で開発は終了しました。
CorVisionは、既存のメインフレームシステムをアップグレードする時間や資金がまだない少数の企業で今も使われています。CorVisionはVMS環境で動作するため非常に安定していますが、これらの老朽化したシステムをサポートするCorVision開発者や契約社員を探すのが問題となっています。1999年頃から、BUILDERコードをコンパイル済みのVisual BasicやJavaに変換する変換ツールを提供する企業が現れ始めました。
2005年、CorVisionの第一人者であり、現在はOrder Processing Technologiesの社長を務めるマイケル・ロウリーは、SQLサーバーを使用してCorVisionアプリケーションを.NETアプリケーションに変換するプロセスであるCV2VBを用いて、CorVision事業の復活を試みました。CV2VBは、OPTの第3世代CorVision変換・置換モデラー/コードジェネレーターです。かつてCorVisionを使用していた顧客企業で商用サービスとして利用されています。詳細はCV2VBのウェブサイトをご覧ください。
CorVisionを用いたアプリケーション開発に関する簡単な説明。
CorVisionでアプリケーションを開発する際の最初のステップは、アプリケーション全体の機能に関する様々な側面を制御するパラメータを入力することです。
パラメータは以下の5つのグループに分類されます。
通常、これらのパラメータのデフォルト値で十分です。ただし、CorVisionでは開発中にいつでもこれらの設定を変更できます。パラメータファイル(WP)は実行時にアクセスされるため、常に最新の設定が使用されます。
CorVisionはステータス画面の情報を常に最新の状態に保ち、開発プロセスの現在の状況を表示します。左側には実行が必要な仕様策定タスクが、右側には実行が必要な生成タスクが表示されます。
仕様の変更または追加、およびそれらが引き起こす変更点。
辞書、データセット、キー
辞書、データセット、キー
画面、レポート
メニュー
CorVisionには、フィールド検索という便利な機能があります。フィールド検索を使用すると、アプリケーションのさまざまな側面におけるフィールドの使用状況を調査・分析できます。これにより、開発者は変更を加える前にその影響を評価することができます。
CorVisionには、仕様の詳細を印刷物として提供するための「レポート実行」オプションがあります。80種類以上のレポートを作成できます。また、暫定的な項目、参照されていない項目、未解決の項目についても、コンポーネント仕様レポート(CSR)を作成できます。
CorVisionの鍵はプロシージャです。CorVisionのプロシージャは最終的に実行可能イメージ(.EDO)になります。
手順には以下の3種類があります。
プロシージャをプログラムと考えるのは、必ずしも正しくありません。実際には、プロシージャとはプログラムを構築するための命令(BUILDERコマンド)の集合です。BUILDERでは、プログラムは実際には「プロセス」と呼ばれ、プログラムとは呼ばれません。したがって、プロシージャとは、BUILDERにプロセスを構築し、コンパイル済みのファイル(拡張子.SAV)としてプログラムライブラリに保存するように指示するBUILDERコマンドの集合です。
CorVisionは、BUILDERによって操作されるデータ構造ファイルを個別に管理します。BUILDERは、アプリケーションで使用される各データセットごとに、構造ファイルとキー構造ファイルを保持します。
プロセスがコンパイルされると、データ構造はその時点でプロセスに「バインド」されるため、データ構造の「バインド」はプロセスがコンパイルされるまさにその瞬間に行われます。
構造ファイルとキー構造ファイルが別々に管理されているため、開発中にデータセットの定義を変更できます。これはCorVisionの大きな強みであり、コードとデータ構造の両方を開発中に変更し、コンパイル時に統合できるプロトタイピング環境を実現します。
構造ファイルとキー構造ファイルは、プロセスのコンパイル前にロードされます。これはロードファイルによって行われます。BUILDERは、プロセスをコンパイルする際にデータ構造が既にロードされていることを前提としています。この時点で、コンパイルによってデータ構造がコードに「バインド」されます。
以下のファイルが作成されます。
以下のファイルも追加できます。
コンパイル後、以下のファイルが作成されます。