Jump to content

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

ЭГЛ
(Язык корпоративного поколения)
Разработчик ИБМ
Лицензия Публичная лицензия Eclipse
Веб-сайт www .затмение .org /EDT /

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

Язык заимствует концепции, знакомые всем, кто использует статически типизированные языки, такие как Java , COBOL , C и т. д. Однако он заимствует концепцию стереотипа из Unified Modeling Language (UML), которая обычно не встречается в статически типизированных языках программирования. Короче говоря, EGL — это универсальный язык разработки приложений более высокого уровня.

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

Примеры кода

[ редактировать ]

Программа

[ редактировать ]

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

Записывать

[ редактировать ]

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

Record CustomerRecord type BasicRecord
	customerNumber INT;            
	customerName STRING;
	customerAddr1 STRING;
	customerAddr2 STRING;
	customerAddr3 STRING;
	customerBalance MONEY;
end

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

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
  • В этом примере запись «Сотрудник» привязана к таблице (или представлению) с именем «Сотрудник» .

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

package com.mycompany.services;

service EmployeeService

    function getEmployees() returns(Employee[])
        records Employee[0]; // define an empty array of records
        get records; // retrieve records from the database
        return (records); // return the records       
    end
    
    function addEmployee(emp Employee in) returns (boolean)
    	try
    		add remp;
    		return (true);
    	onException (ex AnyException)
    		return (false);
    	end
    end

end
  • В EGL код организован в пакеты (например, Java (язык программирования) )
  • Первая функция, getEmployees , возвращает массив записей, заполненный из записей в базе данных.
  • Вторая функция, addEmployee, добавляет новую запись в базу данных и возвращает значение true или false в зависимости от того, была ли запись успешно добавлена.

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

package com.mycompany.ui;

import com.mycompany.services.Employee;
import com.mycompany.services.EmployeeService;
import dojo.widgets.DojoGrid;
import dojo.widgets.DojoGridColumn;

handler EmployeeView type RUIhandler { initialUI = [ grid ], 
                                       onConstructionFunction = start, 
                                       cssFile = "main.css" }

    grid DojoGrid { behaviors = [ ], headerBehaviors = [ ], columns = [
                    new DojoGridColumn { displayName = "First Name", name = "FIRSTNAME" },
                    new DojoGridColumn { displayName = "Last Name", name = "LASTNAME" },
                    new DojoGridColumn { displayName = "Salary", name = "SALARY" }
            ] };

    function start()
        svc EmployeeService { };
        call svc.getEmployees () returning to displayEmployees;
    end

    function displayEmployees(retResult Employee [ ] in)
        grid.data = retResult as any [ ];
    end
    
end

Веб 2.0 с EGL

[ редактировать ]

В декабре 2008 года IBM представила новую технологию EGL Rich UI, упрощающую создание Web 2.0 в стиле многофункциональных веб-приложений . Эта технология упрощает разработку, скрывая от разработчика сложности Ajax , JavaScript , REST и SOAP , что позволяет ему сосредоточиться на бизнес-требованиях, а не на базовых технологиях.

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

[ редактировать ]

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

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

  • набор инструментов преобразования, доступных в продукте Rational Business Developer, обеспечивает автоматическое преобразование из старых и стабилизированных IBM и Informix 4-го поколения. языков
  • набор сервисных предложений IBM и дополнительных продуктов (Rational Migration Extension for Natural, Rational Migration Extension for System i, Rational Migration Extension for 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 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8e7974930ae685e60ef100b99d85209f__1700479980
URL1:https://arc.ask3.ru/arc/aa/8e/9f/8e7974930ae685e60ef100b99d85209f.html
Заголовок, (Title) документа по адресу, URL1:
EGL (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)