Enterprise Generation Language

Enterprise Generation Language (EGL) は、IBMによって開発された第四世代言語 (4GL) の一つ。シンプルで習得が容易で生産性が高いビジネス言語、とされている。

 概要 
EGLは、高水準のモダンなビジネス指向のプログラミング言語であり、IBMによってプラットフォーム非依存となるよう設計された。EGLの構文は他の一般的な言語と似ているため、似たようなプログラミングの知識を持つアプリケーション開発者ならば容易に覚えることができる。EGLのアプリケーション開発は抽象化されており、ビジネス機能を構築する際のシステムやミドルウェアの技術的なインターフェースによってプログラマーが影響されない。EGLアプリケーションとサービスは、EGLのソースレベルで書かれ、テストされ、デバッグされ、そして一旦機能テストに満足できる品質となれば、COBOLやJavaやJavaScriptにコンパイルでき、ビジネスアプリケーションの開発に必要な以下の環境のいずれでも実行することができる。
JVMの稼働するMicrosoft Windows、Linux、UNIX（例：Jakarta EEサーブレットコンテナ。IBM WebSphere Application Server、Apache Tomcat、GlassFishなど）
IBM System z
CICS Transaction Server
IMS
z/OS （バッチ、UNIX System Services, WebSphere Application Server）
z/VSE
Linux(Linux on System z)
IBM System i
IBM i (IBM i5/OS)
WebSphere Application Server
Ajaxリッチ・ウェブ・アプリケーションをサポートするブラウザ
Internet Explorer、Firefox、Safari

EGLのプログラミングツールにはEclipseベースの商用製品であるRational Business Developerや、Rational Developer for System zのEGL版が使用できる。EGLは、手続き型言語やレガシーの4GLとは言語の意味論（動作）の親和性があるため、レガシー・アプリケーションを最新化し統合することにも向いている。4GLからの変換は以下を参照。
IBMやInformixの4GLからEGLへの変換は、Rational Business Developerの中に変換ツールのセットが含まれている。
Software AG NaturalやIBM RPGからEGLへの変換は、IBMサービス提案や補完製品(Rational Migration Extension for Natural、Rational Migration Extension for System i)の中に変換ツールのセットが含まれている。
他の多数の4GLからEGLへの変換は、サードパーティーの変換ツールやサービスが役に立つ。

 歴史 
2005年 VSE向けVisualAge GeneratorのEGLサポート VisualAge Generator EGL Plug-in for VSEの発表
2008年 IBM Rational Business DeveloperのEGLサポート IBM Rational Business Developer V7.5.1 and EGLの発表

 関連書籍 
 IBM Rational Business Developer with EGL, ISBN 978-1-58347-066-4.

 参照 

 関連項目 
第四世代言語
自動プログラミング
スクリプト言語
Cross System Product
VisualAge

 外部リンク 
日本IBM
 EGLを用いた保険アプリケーション革新の簡素化（EGLデモンストレーションの動画あり、音声付き、4分31秒）
 EGL(Enterprize Generation Languages)のチュートリアル
 EGLワークショップ資料（2008年10月14日）
IBM（英語）
 IBM EGL Cafe Community Site（日本語のEGL横丁あり）
 IBM's developerWork EGL zone
 IBM's developerWork Rational Business Developer zone
 IBM Rational Business Developer product page

Category:IBMのソフトウェア
Category:プログラミング言語
Category:スクリプト言語