- EGL
-
EGL (англ. Enterprise Generation Language) — современный высокоуровневый язык программирования для создания бизнес-приложений. Разработан IBM. EGL схож по синтаксису с другими языками программирования для упрощения обучения. Программы на EGL обычно создаются и отлаживаются в виде EGL-программы, а затем могут быть скомпилированы в COBOL, Java или JavaScript.
Примеры программ
Каждая программа EGL имеет единственную точку входа: функцию main(). Функции EGL состоят из операторов EGL, переменных и констант. Программа, выводящая строку на экран:
Program HelloWorld const GREETING string = "Hello, "; function main() myName string = "John"; sayHello(myName); end function sayHello(name String in) SysLib.writeStdOut(GREETING + name + "!"); end end
Наборы различных данных могут быть объединены в Запись (Record). Пример записи CustomerRecord с шестью полями:
Record CustomerRecord type BasicRecord customerNumber INT; customerName STRING; customerAddr1 STRING; customerAddr2 STRING; customerAddr3 STRING; customerBalance MONEY; end
Для обмена данными с СУБД, EGL имеет специальный тип записей, называемые SQLRecord. В следующем примере запись Employee связывается с SQL-таблицей Employee:
record Employee type sqlRecord { tableNames =[["Employee"] ], keyItems =[EMPNO]} EMPNUMBER string{ column = "EMPNO", maxLen = 6}; FIRSTNME string{ sqlVariableLen = yes, maxLen = 12}; MIDINIT string{ isSqlNullable = yes, maxLen = 1}; LASTNAME string{ sqlVariableLen = yes, maxLen = 15}; DEPT string{ column = "WORKDEPT", isSqlNullable = yes, maxLen = 3}; PHONENO string{ isSqlNullable = yes, maxLen = 4}; HIREDATE date{ isSqlNullable = yes}; end
Сервисами (Service) в EGL называют наборы функций, которыми могут пользоваться другие приложения. В примере определен сервис с двумя функциями:
package com.mycompany.services; service EmployeeService function getEmployees() returns(Employee[]) records Employee[0]; // определяет пустой массив записей get records; // запрашивает записи из СУБД return (records); // возвращает записи end function addEmployee(emp Employee in) returns (boolean) try add remp; return (true); onException (ex AnyException) return (false); end end end
Код в EGL организуется в пакеты (package).
Литература
- Enterprise Web 2.0 with EGL, ISBN 978-1-58347-091-6.
- Developing Web 2.0 Applications with EGL for IBM i, ISBN 978-1-58347-089-3.
Категории:- Программное обеспечение IBM
- Скриптовые языки
Wikimedia Foundation. 2010.