Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jean Georges Perrin IIUG Monday, October 2 nd 2006 13:30 – 14:30. Platform: IDS, EGL 4GL to EGL – Hype or Reality Session: I02.

Similar presentations


Presentation on theme: "Jean Georges Perrin IIUG Monday, October 2 nd 2006 13:30 – 14:30. Platform: IDS, EGL 4GL to EGL – Hype or Reality Session: I02."— Presentation transcript:

1 Jean Georges Perrin IIUG Monday, October 2 nd 2006 13:30 – 14:30. Platform: IDS, EGL 4GL to EGL – Hype or Reality Session: I02

2 2 Agenda Who Am I EGL Overview 4GL to EGL Conversion Partner Technology Summary

3 3 Agenda Who Am I EGL Overview 4GL to EGL Conversion Partner Technology Summary

4 4 Who am I? My Unix box usually answers…

5 5 Who am I (outside of a Unix box)? Jean Georges Perrin Development tools (xGL, Java EE, PHP) Works with Informix products since ’97 IIUG board member since ’02 Lives in Strasbourg, France

6 6 A little more… Application developer, started with Visual Basic, in the early 90s In the web since 1994 Move to 4GL in 1997 Goals: Webizing all things I touched (business apps, catalogs and i-4GL…) Find the ease of use of Visual Basic EGL

7 7 And you… Who knows 4GL? Who knows Java? Who thinks Java is difficult? Who knows EGL? Who knows.net? Who is going my Java & PHP lectures later this week?

8 8 Agenda Who Am I EGL Overview 4GL to EGL Conversion Partner Technology Summary

9 9 What is EGL? Business Programming Language + Development Environment Business Programming Language Robust, easy-to-learn, mature Aimed squarely at technical business developers, who need to solve business problems as quickly and efficiently as possible Based on combination of Informix 4GL + IBM’s VAGen Over 25 years of R&D + production use + Development Environment Integrated into Rational Software Development Platform Based on industry-standard artifacts and development patterns

10 10 EGL Enables Higher Productivity 4GL EGL VAGen Oracle Forms Power Builder Visual Basic RP G C O B O L RP G C O B O L EGL Deploy to diverse platforms

11 11 Software Deliverables What can you build using EGL? Database oriented applications Standalone Batch / Reporting applications Standalone CUI (Character User Interface) applications Linux, Unix, Windows, iSeries, CICS (zOS) Web applications Provide Web Services / Consume Web services Message-oriented applications (WebSphere MQ Support builtin) Rich GUI clients (planned for Rational SDP 7.0) Callable programs from traditional Java rich GUI clients EGL generates both Java (standard) and COBOL (optional) WSED required for COBOL generation

12 12 Rational Software Development Platform Configurations Workbench: A comprehensive Java IDE with unprecedented flexibility & extensibility  Configurations & “perspectives"  Plug-in Architecture  Local & Team resource management  Common IDE across Windows & Linux  Superior Java programming facilities  http://www.eclipse.org Rational Application Developer Rational Web Developer  Page & site visual composition  JSP, Servlet, XML, & Web services tools  Rich Java Client tools  Rapid, simplified Development -JSF/WDO, Wizards, Struts Visual Builder -Enterprise Generation Language (EGL)  Integrated Test Environment Web Applications Robust J2EE transactional Applications  EJB development  Portal/Portlets design and construction tools  Code analysis assistance and automation  UML visual editors  Team Support Clearcase LT Rational Software Architect For architects and lead developers building J2EE or C++ based solutions  United Java and C/C++ development platform  Application analysis assistance and automation  UML language transforms  Full RSM capabilites  Full RAD capabilites

13 13 EGL Data Access: Simplified programming model for data access “Record” abstracts access to: Relational data MQ messages Indexed, Relative, Serial data DL/I (v7.0) Common verbs for data access/unit of work management Add, Get, Replace, Delete, Commit I/O errors handled in a common fashion across disparate data types Data format conversions handled automatically * - future SQL MQDL/IXMLSerial Indexed Relative EGL Record Add Get Replace Delete Commit

14 14 EGL Batch applications Easy access to data sources EGL record concept Inline coding of SQL statements execute #sql{... } Command line arguments are supported SysLib.getCmdLineArg() SysLib.getCmdLineArgCount( ) Character based output and displayLineMode() result = promptLineMode()

15 15 EGL CUI applications EGL supports character oriented (CUI) and text oriented (TUI) applications CUI: Windows, Linux, Unix TUI: zOS, iSeries EGL CUI applications can be deployed either ascurses-based (Linux, Unix) or Java windows based (Windows, Linux, Unix) The EGL CUI look and feel is based on the Informix 4GL menus and forms behaviour EGL CUI forms support Query by Example (QBE)

16 16 EGL Web applications Seamles integration with JSP (Java Server pages) and JSF (Java Server Faces) Pagehandler code: 100% EGL Contains functions and data related to a.jsp page “onPageLoad()” function Declare local data structures Functions bound to command buttons Deployment support for WebSphere application server and Apache‘s Tomcat

17 17 EGL Reporting (JasperReports) EGL has a builtin reporting API, based on JasperReports JasperReports: powerful OpenSource, Java based reporting engine Multiple Output formats: Text, PDF, HTML, XML, CSV Callback function support Complex sub-report and grouping functionality http://jasperreports.sourceforge.net The JasperReports libraries are bundled with Rational SDP Jasper report design editors available iReport – Standalone, OpenSource JasperAssistant – Eclipse plugin, Commercial

18 18 EGL Messaging / File Access EGL supports easy access to message queues and external files Based on the EGL record concept EGL Messaging support based on WebSphere MQ Allows easy integration with heterogeneous applications EGL file access serialRecord (all operating systems) indexedRecord, relativeRecord (VSAM access only – AIX and zOS) EGL relational database table export / import functions sysLib.unloadTable() sysLib.loadTable()

19 19 EGL in a Service Oriented Architecture Customer Informix, DB2, Cloudscape CustomerService Service Customer Function allCustomers() get customers; End Function updateCustomer() update customer End Function sendRequest() … Interface Service Implementation customer Customer; Function onPageLoad() customerLib.getcust(id); customerLib.getdisc(id); End Function updateCustomer() updateCustomer(); calcDiscount(cust); End custSearch DiscountService Service Discount Function CalcDiscount(cust) … End Service Implementation JSF Page & Handler custSearch.jsp EGL JSFJavascript

20 20 Agenda Who Am I EGL Overview 4GL to EGL Conversion Partner Technology Summary

21 21 Why move to EGL? Support for Informix IDS and DB2 Support for Windows platforms A single development environment: supporting EGL, Java, COBOL and Web application development to maintain and enhance existing TUI applications Mature, field-tested I4GL business logic can be used within new web applications Standard “curses” library will allow much better color support in character applications Many legacy I4GL constructs can also be deployed as host (z and i-series) applications Enhanced reporting capabilities

22 22 I4GL Program becomes EGL Program IDS Database SchemaLib.egl main.egl inventory.egl Text Reports formForm.egl main_program.egl catalog. egl C functions c_code.so or c_code.dll I4GL to EGL Conversion inventory.4gl C functions c_code.c form.per catalog. 4gl main.4gl Text Reports

23 23 Conversion Strategy Goal is to convert an I4GL application to the equivalent EGL application that uses: the same display device the same database server I4GL TUI applications will be converted to EGL TUI applications Convert, on a program-by-program basis, using the conversion utilities: provided as part of the IDE also available from the command line Separate conversion passes required for: database metadata extraction 4GL shared libraries I4GL source code Automated conversion should convert most I4GL source code some I4GL programs may require manual intervention

24 24 Converting 4GL code? Rational SDP conversion plug-in runs within the EGL development GUI wizard collects information generates configuration XML files invokes the conversion utility Command line conversion utility Java program can be run in current I4GL build environments requires configuration file describing current I4GL environment generates EGL conversion “projects”

25 25 Conversion Artifacts Configuration file XML file generated from interaction with conversion wizard contains required conversion project information Manifest file XML file generated during conversion of shared libraries contains declaration and usage information about the functions used in the shared library Log file contains warnings and errors status of each source file summary of conversion Makefile single makefile for all I4GL platforms used to re-link the project shared library with EGL JNI stack library

26 26 Conversion Assumptions I4GL code is “legal” it will compile with I4GL 7.32 compiler conversion will not “fix” invalid I4GL code Multiple passes are required Functions that can not be resolved during conversion are assumed to be C code functions if function is later found to be an I4GL function, re-conversion would be required C code functions do not use undocumented I4GL internal functions

27 27 Conversion Order Database metadata conversion creates EGL packages for each database used in the project schema metadata will become a separate EGL project which can be referenced by other EGL projects I4GL Shared libraries conversion generates Manifest file and makefile I4GL Source files.4gl files.per (form) files message files

28 28 Pre-Conversion Tasks Identify & locate all the components of the 4GL application to be converted (.4gl,.per, message files, shared libraries) Identify connection information for each database used Start Informix database instances Mount/copy source code to EGL development machine, if required Determine destination directory for converted EGL source code & conversion artifacts Identify “Client” locale – used to convert message files Identify font information – used to generate report designs

29 29 Post-Conversion Tasks Review log file Fix identified problems on the 4GL side and re-convert or in the new EGL file shared libraries may have to be re-converted if functions cannot be resolved Open the project in the IDE Verify EGL packages and source files View/update EGL build descriptor file “Generate” Java code for the project fix problems in the EGL code Set runtime properties from existing environment variables Launch new EGL project

30 30 Conversion Limitations Database connections cannot be shared between EGL and C code C code cannot call EGL functions

31 31 Now What Can You Do With It … inventory.egl BL form.egl SchemaLib.egl main.egl BL IDS catalog.egl BL c_code.so C functions Use your I4GL Business Logic in EGL Web Services Use your I4GL with Message Queues Use your I4GL Business Logic in whatever comes next!!! DB2 Webmain.egl Webinventory.egl Text Reports PDF Output HTML Output XML Output

32 32 From 4GL to EGL and beyond... Informix 4GL App Batch-/ Character based EGL App EGL GUI App (RSDP 7.0) EGL based Portlet (EGL.Next) e.g. WebSphere Portal Server Web (JSF) EGL App WebSphere Application Server Eclipse RCP Plugin (RSDP 7.0) e.g. Lotus Workplace

33 33 Agenda Who Am I EGL Overview 4GL to EGL Conversion Partner Technology Summary

34 34 Technology Developed by Partners Migrate Informix 4GL to EGL web using eSmartSoft EGL TUI to EGL web conversion Parser 4GL Text UI Application EGL Text UI Application EGL Web Application I4GL to EGL Conversion tool eSmartSoft EGL TUI to EGL Web Conversion Parser

35 35 eSmartSoft Technology Field tested with three 4GL to EGL web conversion already completed and in deployed in production. Capability to handle large complex projects. Already implemented conversion of 1600 module 4GL application to EGL Web. Language neutral, bi- directional including 7-bit locale conversion to Unicode

36 36 eSmartSoft conversion process Movie Time

37 37 Agenda Who Am I EGL Overview 4GL to EGL Conversion Partner Technology Summary

38 38 EGL Summary  Easy to learn, lowers skills barrier to e-business  Higher productivity to deliver systems faster  Maximum flexibility Multiple platforms and topologies Step to Java if required  Integrated with latest technology (Eclipse, JSF, Jasper, …)  Bring legacy to e-business  Easily connect to existing resources  Quickly develop new functions on traditional platforms EGL = Great language for new application development!

39 39 And now… I recommend you come ’n see: “Introduction to Java development with IDS” and “Introduction to PHP development with IDS” Come to see me in San Jose (May 2007): “Introduction to EJB3 dev. with IDS and Viper” (Give me good marks so I can be selected as best speaker of the conference and beat Darryl, Lester and Art - previous speakers).

40 40 And now (seriously)… Download EGL (I guess you all have IDS already) Download the fix packs Download Jonathan Sayles’ excellent work from http://www.jsayles.com/ibm http://www.jsayles.com/ibm Join the development-tools forum on IIUG web site Get started with a few examples

41 41 And as Winter is coming… The 4GL/EGL Redbook! EGL Language Concepts The Rational SDP environment A simple EGL web application 4GL to EGL conversion EGL and databases Advanced EGL web programming EGL and JasperReports EGL Deployment EGL CUI applications plus much more...

42 42 Additional Resources & Forum EGL on IBM DeveloperWorks EGL Tutorials EGL Documentation EGL Code Examples An active EGL Forum plus more... URLs: http://www.ibm.com/developerworks/rational/products/egl http://tinyurl.com/lz6l9 URLs: http://www.ibm.com/developerworks/rational/products/egl http://tinyurl.com/lz6l9

43 43 Jean Georges Perrin IIUG jgp@iiug.org jgp@jgp.net I02 4GL to EGL – Hype or Reality


Download ppt "Jean Georges Perrin IIUG Monday, October 2 nd 2006 13:30 – 14:30. Platform: IDS, EGL 4GL to EGL – Hype or Reality Session: I02."

Similar presentations


Ads by Google