EGL (язык программирования) - EGL (programming language)
Эта статья нужны дополнительные цитаты для проверка.Январь 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.