Платформа IBM Software Delivery Platform — Rational Business Developer Extension призвана упростить проблемы, связанные с увеличением количества программных средств промежуточного слоя и возрастающей сложностью интерфейсов. Наличие этих проблем замедляет процесс адаптации программ на разных платформах и, как следствие, увеличивает сроки реализации бизнес-решений. Основой платформы является язык Enterprise Generation Language (EGL), которому, собственно, и был посвящен семинар «Инновационные технологии модернизации корпоративных ИТ-систем», проведенный 13 марта Ахмедом Фарахом, экспертом из Каирского центра разработок IBM.

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

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

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

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

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