EGL (язык программирования) - EGL (programming language)

EGL
(Язык корпоративного поколения)
РазработчикIBM
ЛицензияОбщественная лицензия Eclipse
Интернет сайтwww.затмение.org/EDT/

EGL (Enterprise Generation Language), первоначально разработанный IBM и теперь доступен как EDT (Инструменты разработки EGL)[1] Открытый исходный код проект в рамках Общественная лицензия Eclipse (EPL) - это технология программирования, предназначенная для решения задач разработки современных многоплатформенных приложений, предоставляя общий язык и модель программирования для разных языков, сред и платформ времени выполнения.

Обзор

Язык заимствует концепции, знакомые любому, кто использует статически типизированные языки, такие как Ява, КОБОЛ, C и т. д. Однако он заимствует понятие стереотип из Единый язык моделирования (UML), который обычно не встречается в языках программирования со статической типизацией. Короче говоря, EGL - это универсальный язык разработки приложений более высокого уровня.

EGL по синтаксису похож на другие распространенные языки, поэтому его могут изучать разработчики приложений с аналогичным предыдущим опытом программирования. Абстракции разработки приложений EGL защищают программистов от технических интерфейсов систем и промежуточного программного обеспечения, позволяя им сосредоточиться на построении бизнес-функциональности. Приложения и службы EGL пишутся, тестируются и отлаживаются на уровне исходного кода EGL, и после их удовлетворительного функционального тестирования их можно скомпилировать в COBOL, Java или JavaScript код для поддержки развертывания бизнес-приложений, которые могут работать в любой из следующих сред:

Примеры кода

Программа

Часть программы EGL - это генерируемая логическая часть с одной точкой входа. Каждая часть программы содержит функцию main (), которая представляет логику, выполняемую при запуске программы. Программа может включать другие функции и иметь доступ к функциям, находящимся за пределами программы. Функция main () может вызывать эти другие функции. Программные функции состоят из набора операторов EGL, переменных и констант.

 1 Программа Привет, мир 2  3 	const ПРИВЕТСТВИЕ нить = "Привет, "; 4      5 	функция главный() 6 		мое имя нить = "Джон"; 7 		скажи привет(мое имя); 8 	конец 9 10 	функция скажи привет(имя Нить в)11 		SysLib.writeStdOut(ПРИВЕТСТВИЕ + имя + "!");12 	конец13 14 конец

Записывать

Часть EGL Record определяет набор элементов данных. В этом примере запись с именем CustomerRecord определяется с 6 полями.

Записывать CustomerRecord тип BasicRecord	номер клиента INT;            	Имя Клиента НИТЬ;	customerAddr1 НИТЬ;	customerAddr2 НИТЬ;	customerAddr3 НИТЬ;	customerBalance ДЕНЬГИ;конец

EGL имеет специальный тип записи, называемый SQLRecord который используется для обмена данными с реляционной базой данных.

запись Тип сотрудника sqlRecord {tableNames = [["Employee"]], keyItems = [EMPNO]} EMPNUMBER string {column = "EMPNO", maxLen = 6}; FIRSTNME строка {sqlVariableLen = yes, maxLen = 12}; MIDINIT строка {isSqlNullable = yes, maxLen = 1}; LASTNAME строка {sqlVariableLen = yes, maxLen = 15}; Строка DEPT {столбец = "WORKDEPT", isSqlNullable = yes, maxLen = 3}; PHONENO string {isSqlNullable = yes, maxLen = 4}; HIREDATE date {isSqlNullable = yes}; конец
  • В этом примере запись Наемный рабочий привязан к таблице (или представлению) с именем Наемный рабочий.

Служба

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

 1 упаковка com.моя компания.Сервисы; 2  3 служба Сотрудник 4  5     функция getEmployees() возвращается(Наемный рабочий[]) 6         записи Наемный рабочий[0]; // определяем пустой массив записей 7         получать записи; // получаем записи из базы данных 8         возвращаться (записи); // возвращаем записи  9     конец10     11     функция addEmployee(emp Наемный рабочий в) возвращается (логический)12     	пытаться13     		Добавить Remp;14     		возвращаться (истинный);15     	onException (бывший AnyException)16     		возвращаться (ложный);17     	конец18     конец19 20 конец
  • В EGL код организован в пакеты (например, Java (язык программирования) )
  • Первая функция, getEmployees, возвращает массив записей, полученных из записей в базе данных.
  • Вторая функция, addEmployee добавляет новую запись в базу данных и возвращает истину или ложь в зависимости от того, была ли запись добавлена ​​успешно.

RUIHandler

Основным компонентом приложения Rich UI является обработчик Rich UI. Эти части генерируются в JavaScript.

 1 упаковка com.моя компания.ui; 2  3 импорт com.моя компания.Сервисы.Наемный рабочий; 4 импорт com.моя компания.Сервисы.Сотрудник; 5 импорт додзё.виджеты.DojoGrid; 6 импорт додзё.виджеты.DojoGridColumn; 7  8 обработчик EmployeeView тип RUIhandler { initialUI = [ сетка ], 9                                        onConstructionFunction = Начните, 10                                        cssFile = "main.css" }11 12     сетка DojoGrid { поведение = [ ], headerBehaviors = [ ], столбцы = [13                     новый DojoGridColumn { показать имя = "Имя", имя = "ИМЯ" },14                     новый DojoGridColumn { показать имя = "Фамилия", имя = "ФАМИЛИЯ" },15                     новый DojoGridColumn { показать имя = "Зарплата", имя = "ЗАРПЛАТА" }16             ] };17 18     функция Начните()19         svc Сотрудник { };20         вызов svc.getEmployees () возвращение к displayEmployees;21     конец22 23     функция displayEmployees(retResult Наемный рабочий [ ] в)24         сетка.данные = retResult в качестве любой [ ];25     конец26     27 конец

Web 2.0 с EGL

В декабре 2008 года IBM представила новую технологию EGL Rich UI, чтобы упростить создание Веб 2.0 -стиль Богатые Интернет-приложения. Эта технология упрощает разработку, скрывая сложности Аякс, JavaScript, ОТДЫХ, и МЫЛО от разработчика, что позволяет им сосредоточиться на бизнес-требованиях, а не на базовых технологиях.

Коммерческие продукты

Инструменты программирования EGL доступны как основанные на Eclipse[2] коммерческий продукт, Рациональный бизнес-разработчик а также в редакции EGL Rational Developer для System z.

EGL является целевым языком для модернизации устаревших приложений из-за близости языковой семантики с процедурными языками и устаревшими Языки 4-го поколения:

  • набор инструментов преобразования, доступных в Рациональный бизнес-разработчик продукт обеспечивает автоматическое преобразование старых и стабильных продуктов IBM и Informix Языки 4-го поколения
  • набор сервисных предложений и дополнительных продуктов IBM (Rational Migration Extension для Natural, Rational Migration Extension для System i, Rational Migration Extension для CA-продуктов) обеспечивает возможность преобразования из Software AG Natural, IBM RPG, CA Cool: Gen и CA Ideal / Datacom в EGL

Инструменты для поиска больших баз кода EGL, сравнения отдельных файлов EGL на предмет изменений и обнаружения дублированного кода доступны в Semantic Designs.[3]

Рекомендации

дальнейшее чтение

  • Enterprise Web 2.0 с EGL, ISBN  978-1-58347-091-6.
  • Разработка приложений Web 2.0 с EGL для IBM i, ISBN  978-1-58347-089-3.

внешняя ссылка