EGL (programovací jazyk) - EGL (programming language)
![]() | tento článek potřebuje další citace pro ověření.Ledna 2017) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojář | IBM |
---|---|
Licence | Veřejná licence Eclipse |
webová stránka | www |
EGL (Enterprise Generation Language), původně vyvinutý IBM a nyní k dispozici jako EDT (vývojové nástroje EGL)[1] otevřený zdroj projekt v rámci Veřejná licence Eclipse (EPL), je programovací technologie navržená tak, aby vyhovovala výzvám moderního vývoje více platforem aplikací poskytováním společného jazyka a programovacího modelu napříč jazyky, rámci a runtime platformami.
Přehled
Jazyk si vypůjčuje koncepty známé každému, kdo používá staticky napsané jazyky, jako je Jáva, COBOL, C atd. Vypůjčuje si však koncept stereotyp z Unifikovaný Modelovací Jazyk (UML), který se obvykle nenachází ve staticky napsaných programovacích jazycích. Stručně řečeno, EGL je univerzální jazyk pro vývoj aplikací na vyšší úrovni.
EGL je syntaxí podobný jiným běžným jazykům, takže se jej mohou naučit vývojáři aplikací s podobným předchozím programovacím pozadím. Abstrakce vývoje aplikací EGL chrání programátory před technickými rozhraními systémů a middlewaru, což jim umožňuje soustředit se na budování podnikových funkcí. Aplikace a služby EGL jsou psány, testovány a laděny na úrovni zdroje EGL a jakmile jsou uspokojivě funkčně otestovány, mohou být kompilovány do COBOL, Java nebo JavaScript kód pro podporu nasazení obchodních aplikací, které lze spustit v kterémkoli z následujících prostředí:
- Platformy s a Virtuální stroj Java, jako Microsoft Windows, Linux, a UNIX, například v kontextu kontejneru servletu Java EE (IBM WebSphere Application Server, Apache Tomcat, GlassFish )
- IBM System z: Transakční server CICS, IMS, z / OS Šarže, Systémové služby UNIX, WebSphere Application Server, z / VSE, Linux
- IBM System i: IBM i5 / OS, IBM WebSphere Application Server, Apache Tomcat, Integrovaný webový aplikační server pro i
- internetové prohlížeče podporující JavaScript, jako např internet Explorer, Firefox, a Safari, pro Ajax bohaté webové aplikace
Příklady kódu
Program
Část programu EGL je generovatelná logická část s jedním vstupním bodem. Každá část programu obsahuje funkci main (), která představuje logiku, která běží při spuštění programu. Program může zahrnovat další funkce a má přístup k funkcím, které jsou mimo program. Funkce main () může vyvolat tyto další funkce. Funkce programu se skládají ze sady příkazů EGL, proměnných a konstant.
1 Program Ahoj světe 2 3 konst POZDRAV tětiva = "Ahoj, "; 4 5 funkce hlavní() 6 moje jméno tětiva = "John"; 7 Řekni Ahoj(moje jméno); 8 konec 9 10 funkce Řekni Ahoj(název Tětiva v)11 SysLib.writeStdOut(POZDRAV + název + "!");12 konec13 14 konec
Záznam
Část záznamu EGL definuje sadu datových prvků. V tomto příkladu záznam s názvem Zákaznický záznam je definováno 6 poli.
Záznam Zákaznický záznam typ Základní záznam zákaznické číslo INT; Jméno zákazníka TĚTIVA; customerAddr1 TĚTIVA; customerAddr2 TĚTIVA; customerAddr3 TĚTIVA; zůstatek zákazníka PENÍZE;konec
EGL má specializovaný typ záznamu s názvem SQLRecord který se používá k výměně dat s relační databází.
zaznamenat typ zaměstnance sqlRecord {tableNames = [["zaměstnanec"]], keyItems = [EMPNO]} řetězec EMPNUMBER {sloupec = "EMPNO", maxLen = 6}; Řetězec FIRSTNME {sqlVariableLen = ano, maxLen = 12}; Řetězec MIDINIT {isSqlNullable = ano, maxLen = 1}; Řetězec LASTNAME {sqlVariableLen = ano, maxLen = 15}; Řetězec DEPT {column = "WORKDEPT", isSqlNullable = yes, maxLen = 3}; Řetězec PHONENO {isSqlNullable = ano, maxLen = 4}; HIREDATE datum {isSqlNullable = yes}; konec
- V tomto příkladu záznam Zaměstnanec je vázán na tabulku (nebo pohled) s názvem Zaměstnanec.
Servis
Část služby EGL obsahuje veřejné funkce určené pro přístup z jiných aplikací nebo systémů. V tomto příkladu je definována služba se dvěma funkcemi.
1 balík com.moje společnost.služby; 2 3 servis EmployeeService 4 5 funkce získejte zaměstnance() se vrací(Zaměstnanec[]) 6 evidence Zaměstnanec[0]; // definuje prázdné pole záznamů 7 dostat evidence; // načítání záznamů z databáze 8 vrátit se (evidence); // vrátit záznamy 9 konec10 11 funkce addEmployee(emp Zaměstnanec v) se vrací (booleovský)12 Snaž se13 přidat remp;14 vrátit se (skutečný);15 onException (např AnyException)16 vrátit se (Nepravdivé);17 konec18 konec19 20 konec
- V EGL je kód organizován v balíčcích (jako Java (programovací jazyk) )
- První funkce, získejte zaměstnance, vrací pole záznamů vyplněných ze záznamů v databázi.
- Druhá funkce, addEmployee přidá nový záznam do databáze a vrátí true nebo false v závislosti na tom, zda byl záznam úspěšně přidán.
RUIHandler
Hlavní součástí aplikace Rich UI je část obslužné rutiny Rich UI. Tyto části jsou generovány do JavaScriptu.
1 balík com.moje společnost.ui; 2 3 import com.moje společnost.služby.Zaměstnanec; 4 import com.moje společnost.služby.EmployeeService; 5 import dojo.widgety.DojoGrid; 6 import dojo.widgety.DojoGridColumn; 7 8 psovod EmployeeView typ RUIhandler { initialUI = [ mřížka ], 9 onConstructionFunction = Start, 10 cssFile = "main.css" }11 12 mřížka DojoGrid { chování = [ ], headerBehaviors = [ ], sloupce = [13 Nový DojoGridColumn { displayName = "Jméno", název = "JMÉNO" },14 Nový DojoGridColumn { displayName = "Příjmení", název = "PŘÍJMENÍ" },15 Nový DojoGridColumn { displayName = "Plat", název = „PLATBA“ }16 ] };17 18 funkce Start()19 svc EmployeeService { };20 volání svc.získejte zaměstnance () vracející se na displayEmployees;21 konec22 23 funkce displayEmployees(retResult Zaměstnanec [ ] v)24 mřížka.data = retResult tak jako žádný [ ];25 konec26 27 konec
Web 2.0 s EGL
V prosinci 2008 společnost IBM představila novou technologii EGL Rich UI, která má zjednodušit vytváření Web 2.0 -styl Bohaté internetové aplikace. Tato technologie zjednodušuje vývoj skrýváním složitosti Ajax, JavaScript, ZBYTEK, a MÝDLO od vývojáře, který jim umožňuje soustředit se na obchodní požadavky, a ne na základní technologie.
Komerční produkty
Programovací nástroje EGL jsou k dispozici na bázi Eclipse[2] komerční produkt, Rational Business Developer a také v EGL vydání Rational Developer for System z.
EGL je cílovým jazykem pro modernizaci starších aplikací kvůli jazykové sémantické afinitě k procedurálním jazykům a starším Jazyky 4. generace:
- soubor nástrojů pro převod dostupných v rámci Rational Business Developer produkt poskytuje automatickou konverzi ze starších a stabilizovaných IBM a Informix Jazyky 4. generace
- sada nabídek služeb IBM a doplňkových produktů (Rational Migration Extension pro Natural, Rational Migration Extension pro System i, Rational Migration Extension pro produkty CA) poskytuje možnost převodu z Software AG Natural, IBM RPG, CA Cool: Gen and CA Ideal / Datacom to EGL
Nástroje pro vyhledávání velkých databází EGL kódů, porovnání jednotlivých souborů EGL s ohledem na změny a detekci duplikovaného kódu jsou k dispozici v Semantic Designs[3]
Reference
Další čtení
- Enterprise Web 2.0 s EGL, ISBN 978-1-58347-091-6.
- Vývoj aplikací Web 2.0 s EGL pro IBM i, ISBN 978-1-58347-089-3.