+ All Categories
Home > Documents > Jean Georges Perrin IIUG Monday, October 2 nd 2006 13:30 – 14:30. Platform: IDS, EGL 4GL to EGL...

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

Date post: 26-Dec-2015
Category:
Upload: dennis-merritt
View: 222 times
Download: 0 times
Share this document with a friend
Popular Tags:
43
Jean Georges Perrin IIUG Monday, October 2 nd 2006 • 13:30 – 14:30. Platform: IDS, EGL 4GL to EGL – Hype or Reality Session: I02
Transcript
Page 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.

Jean Georges PerrinIIUG

Monday, October 2nd 2006 • 13:30 – 14:30.

Platform: IDS, EGL

4GL to EGL – Hype or Reality

Session: I02

Page 2: 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

Agenda

• Who Am I

• EGL Overview

• 4GL to EGL Conversion

• Partner Technology

• Summary

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

3

Agenda

• Who Am I

• EGL Overview

• 4GL to EGL Conversion

• Partner Technology

• Summary

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

4

Who am I?

• My Unix box usually answers…

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

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

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

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 EGLEGL

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

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?

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

8

Agenda

• Who Am I

• EGL Overview

• 4GL to EGL Conversion

• Partner Technology

• Summary

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

9

What is EGL?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

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

10

EGL Enables

Higher Productivity

Higher Productivity

4GL4GL

EGLEGL

VAGenVAGen

Oracle FormsOracle Forms

Power BuilderPower Builder

Visual BasicVisual Basic

RPGCOBOL

RPGCOBOL

EGLEGL

Deploy to diverse

platforms

Deploy to diverse

platforms

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

11

Software DeliverablesWhat 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

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

12

Rational Software Development Platform Configurations

Workbench: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 DeveloperRational Application Developer

Rational Web DeveloperRational 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 ArchitectRational 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

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

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

* - futureSQL MQ DL/I XML Serial Indexed Relative

EGL RecordEGL Record

Add

Get

Replace

Delete

Commit

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

14

EGL Batch applicationsEasy 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()

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

15

EGL CUI applicationsEGL 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 behaviourEGL CUI forms support Query by Example (QBE)

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

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

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

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

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

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()

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

19

EGL in a Service Oriented Architecture

Customer

Informix,DB2,

Cloudscape

CustomerServiceService Customer

Function allCustomers() get customers;End

Function updateCustomer() update customerEnd

Function sendRequest()…

InterfaceService

Implementation

customer Customer;

Function onPageLoad() customerLib.getcust(id); customerLib.getdisc(id);EndFunction updateCustomer() updateCustomer(); calcDiscount(cust);End

custSearch

DiscountService

Service Discount

Function CalcDiscount(cust)…End

Service Implementation

JSF Page & Handler

custSearch.jsp custSearch.jsp

EGL

EGL

EGL

JSFJavascript

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

20

Agenda

• Who Am I

• EGL Overview

• 4GL to EGL Conversion

• Partner Technology

• Summary

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

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

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

22

I4GL Program becomes EGL Program

IDS Database

SchemaLib.egl

main.egl

inventory.egl

Text

ReportsformForm.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.cform.per

catalog.4gl

main.4gl

Text

Reports

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

23

Conversion StrategyGoal 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

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

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”

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

25

Conversion ArtifactsConfiguration 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 libraryLog 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

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

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

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

27

Conversion OrderDatabase 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

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

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

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

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

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

30

Conversion Limitations• Database connections cannot be shared between EGL and C

code

• C code cannot call EGL functions

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

31

Now What Can You Do With It …

inventory.egl

BL

form.egl

SchemaLib.egl

main.egl

BL

IDS

catalog.egl

BL

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

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

32

From 4GL to EGL and beyond...

Informix4GL App

Informix4GL App

Batch-/Character

basedEGL App

Batch-/Character

basedEGL App

EGLGUI App

(RSDP 7.0)

EGLGUI App

(RSDP 7.0)

EGL basedPortlet

(EGL.Next)

EGL basedPortlet

(EGL.Next)

e.g. WebSphere Portal Server

Web (JSF)EGL App

Web (JSF)EGL App

WebSphere Application Server

EclipseRCP Plugin(RSDP 7.0)

EclipseRCP Plugin(RSDP 7.0)

e.g. LotusWorkplace

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

33

Agenda

• Who Am I

• EGL Overview

• 4GL to EGL Conversion

• Partner Technology

• Summary

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

34

Technology Developed by Partners

Migrate Informix 4GL to EGL web using eSmartSoft EGL TUI to EGL web conversion Parser

4GL Text UI

Application

4GL Text UI

Application

EGL Text UI

Application

EGL Text UI

Application

EGL Web ApplicationEGL Web

Application

I4GL to EGL

Conversion tool

I4GL to EGL

Conversion tool

eSmart

Soft EGL

TUI to EGL

Web

Conversion

Parser

eSmart

Soft EGL

TUI to EGL

Web

Conversion

Parser

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

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

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

36

eSmartSoft conversion process

Movie TimeMovie Time

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

37

Agenda

• Who Am I

• EGL Overview

• 4GL to EGL Conversion

• Partner Technology

• Summary

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

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!

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

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).

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

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

• Join the development-tools forum on IIUG web site

• Get started with a few examples

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

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...

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

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

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

43

Jean Georges PerrinIIUG

[email protected]

[email protected]

I024GL to EGL – Hype or Reality


Recommended