WikiDer > EGL (язык программирования)
Эта статья нужны дополнительные цитаты для проверка. (Январь 2017 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
Разработчик | IBM |
---|---|
Лицензия | Общественная лицензия Eclipse |
Интернет сайт | www |
EGL (Enterprise Generation Language), первоначально разработанный IBM и теперь доступен как EDT (Инструменты разработки EGL)[1] Открытый исходный код проект в рамках Общественная лицензия Eclipse (EPL) - это технология программирования, предназначенная для решения задач разработки современных многоплатформенных приложений, предоставляя общий язык и модель программирования для разных языков, сред и платформ времени выполнения.
Обзор
Язык заимствует концепции, знакомые любому, кто использует статически типизированные языки, такие как Ява, КОБОЛ, Cи т. д. Однако он заимствует понятие стереотип из Единый язык моделирования (UML), который обычно не встречается в языках программирования со статической типизацией. Короче говоря, EGL - это универсальный язык разработки приложений более высокого уровня.
EGL по синтаксису похож на другие распространенные языки, поэтому его могут изучать разработчики приложений с аналогичным предыдущим опытом программирования. Абстракции разработки приложений EGL защищают программистов от технических интерфейсов систем и промежуточного программного обеспечения, позволяя им сосредоточиться на построении бизнес-функциональности. Приложения и службы EGL пишутся, тестируются и отлаживаются на уровне исходного кода EGL, и после их удовлетворительного функционального тестирования их можно скомпилировать в COBOL, Java или JavaScript код для поддержки развертывания бизнес-приложений, которые могут работать в любой из следующих сред:
- Платформы с Виртуальная машина Java, Такие как Майкрософт Виндоус, Linux, и UNIX, например, в контексте контейнера сервлетов Java EE (Сервер приложений IBM WebSphere, Apache Tomcat, Стеклянная рыба)
- IBM System z: Сервер транзакций CICS, IMS, z / OS Партия, Системные службы UNIX, Сервер приложений WebSphere, z / VSE, Linux
- IBM System i: IBM i5 / OS, IBM WebSphere Application Server, Apache Tomcat, Интегрированный сервер веб-приложений для i
- Веб-браузеры поддержка JavaScript, например Internet Explorer, Fire Fox, и Сафари, за Аякс богатые веб-приложения
Примеры кода
Программа
Часть программы 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.