Основой платформы является язык Enterprise Generation Language (EGL), которому, собственно, и был посвящен семинар «Инновационные технологии модернизации корпоративных ИТ-систем», проведенный 13 марта Ахмедом Фарахом, экспертом из Каирского центра разработок IBM.

Первая программа на EGL — Web-сервис, выводящий традиционное hello, world

EGL - язык программирования высокого уровня, специально ориентированный на решение бизнес-задач. Он унаследовал основные черты языков четвертого поколения (4GL) в версиях IBM и Informix, к тому же он согласован с технологиями Rational Business Developer. Для работы на нем не требуется специальной квалификации, он осваивается за несколько дней, а его уровень абстракции достаточен, чтобы скрыть от разработчика все ненужные ему технические детали. Такой язык чрезвычайно полезен в случаях, когда накоплен значительный объем унаследованных приложений, от которых нельзя отказаться, а потому их следует модернизировать. EGL можно представить себе как некоторый метаязык, компилируемый в коды Кобола или Java. Поддержка Кобола особенно важна в условиях смены поколений специалистов, когда наблюдается дефицит тех, кому знаком этот древний язык.

"Модернизация средствами EGL позволяет перейти от алфавитно-цифровых зеленых экранов к интерфейсу в стиле Web", - утверждает Фарах.

Главные характеристики EGL – нейтральность по отношению к платформам, высокая продуктивность программирования, масштабируемость на разные среды - отнюдь не новы, они всегда были присущи языкам такого типа. Для того чтобы язык удовлетворял этим требованиям, необходимо обеспечить реализацию нескольких основных качеств. Необходимы абстрагирование – механизм, отделяющий разработчиков от поддерживающих технологий; языковая нейтральность – возможность перевода исходного кода в другие языки, например Кобол, C++ или Java; платформенная нейтральность – возможность исполнения на различных компьютерах, от мэйнфреймов до небольших рабочих станций; генерация кодов – мостик между абстрактным приложением и конкретной реализацией; развитая поддержка отладки – одна из гарантий продуктивности разработчиков.

Все эти качества последовательно реализовывались в инструментах для разработки, материализовались в языках 4GL и в конечном итоге эволюционировали в EGL. Началом же движения в этом направлении можно считать средство для разработки приложений Cross System Product (CSP), созданное в 1981 году, в котором использовалась усовершенствованная версия Кобола. Годом позже исследователь корпорации IBM и автор многих классических книг по компьютерной тематике Джеймс Мартин назвал этот тип языков 4GL. На протяжении последующих десяти лет система CSP успешно развивалась, но ее пользователями оставались очень крупные организации, она была внедрена более чем в 5 тыс. банков, страховых компаний, промышленных корпораций.

В начале 90-х для разработки приложений стали применять рабочие станции. Ответом на новые предпочтения стал инструментарий Visual Age Generator. Он был опирался на объектно-ориентированные технологии, поддерживал графический интерфейс, но внутри него, как и у его предшественников, был все тот же 4GL. С наступлением нового века IBM анонсировала WebSphere Studio - инструментарий, поддерживающий такие технологии, как J2EE, Web Services, XML, HTML, дизайн сайтов и прочие новинки наступившей эпохи. Это был первый инструмент, построенный на основе комплекта WebSphere Studio Workbench, в свою очередь опирающегося на технологии открытого проекта Eclipse. Тогда же язык 4GL был переименован в Enterprise Generation Language. Следующий шаг был сделан в 2004 году, после того как IBM купила компанию Rational, интегрировала ее продукты в свой пакет предложений и выпустила в свет IBM Rational Application Developer for WebSphere Software. Таков путь от первой версии 4GL до EGL.

Несмотря на то что в отечественных условиях объем унаследованных приложений относительно невелик и, соответственно, работы по модернизации не самые критичные, в целом уровень зрелости информационных систем постепенно сравнивается с передовыми странами, и это определяет востребованность технологий разработки, подобных EGL.

Поделитесь материалом с коллегами и друзьями