36
Advantages of EGL For Advantages of EGL For I4GL Development I4GL Development Jin Zhang Jin Zhang Software Development Manager, Software Development Manager, IBM IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia December 8-9, 2005

Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

Advantages of EGL For I4GL Advantages of EGL For I4GL DevelopmentDevelopment

Jin ZhangJin ZhangSoftware Development Software Development

Manager, IBMManager, IBM

Informix User Forum 2005 Moving Forward With Informix

Atlanta, Georgia December 8-9, 2005

Page 2: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

2

Agenda Business Problem, Solution

Application Development With EGL

Console User Interface

EGL UI Development

EGL Report Handling

EGL Language And Data Model

EGL and SOA

Moving To The Web

Questions

Page 3: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

3

The Informix Customer Dilemma What to do with existing applications?

Continue to maintain = skills, tools, processes proliferation Hard to reuse in new applications (Web Services)

Complexity: New application technology is inherently more complex Many disjointed moving parts, more complex design Need access to new platforms, data, connectivity A more disciplined well managed approach to development is imperative

Skills: I4GL developers do not have the right skills to jump to the new application technology Significant retraining, prohibitive costs

Page 4: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

4

The Rational Solution

What to do with existing applications? Convert into EGL and breath new life into valuable code

• Ready-made Java and J2EE, SOA integration

• Can maintain using world class IDE

• Consolidate all development activities on same single integrated workbench

Complexity: New applications are inherently more complex Rational tools simplify development of modern applications Support TUI, GUI, Web, Portals, many platforms, many databases, Messaging

and Queuing, SOA etc Rational platform optimized to design, develop, test and manage complex

systems promoting use of software development best practices

Skills: I4GL developers do not have the right skills EGL is easy to learn and can be mastered in a few weeks No development paradigm shift required Powerful , productive, and modern

Page 5: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

5

Enterprise Generation Language (EGL) Procedural Language for Business-Oriented Application Development Familiar to procedural language developers (SQL, COBOL, RPG, 4GL)

Simplified programming (high abstraction polymorphic verbs) Data access, transaction, session handling, middleware interaction

Business problem focus rather than on complex software technologies Hide the details of middleware and Java/J2EE

Easily create applications using EGL tools bypassing the Java/J2EE/OO learning curve EGL code generates to Java code or COBOL Debugger for EGL source

Integrated with Rational Software Development Platform RWD, RAD, RSA, JSF, Eclipse etc

What is Enterprise Generation Language (EGL)?

Page 6: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

6

Why should one move to EGL?

Continued support of Informix 4GL type of development

Support for Informix IDS, DB2 and other databases

Support for Windows platforms

A single development environment: supporting EGL, Java, COBOL and Web application development to maintain and enhance existing TUI applications

Page 7: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

7

Why should one move to EGL?

Many legacy I4GL constructs can also be deployed as host (z and i-series) applications

Enhanced reporting capabilities

Future enhancements (Model driven development, GUI)

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

Page 8: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

8

Application development with EGL EGL Program

Similar to an I4GL file that has the MAIN function Identifies the entry point to run the application

EGL Library/Service Similar to any other I4GL module/file that provides other functions for use The functions can be accessed by other libraries/programs The functions can be explicitly called using the library identifiers as a prefix

EGL page handler Logic that contains web page handling Can use functions in other libraries for business logic

Page 9: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

9

Application development with EGL

EGL Report Handler File that contains reporting functions to be used as callbacks

EGL build descriptor Sets up properties for generation

• Database connections

• User id/password

• Project properties Generates Java code based on the settings

EGL Resource Association Attach a name to a resource

• MQ/ File I/O etc

Page 10: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

10

Console User Interface

The Console UI is a set of EGL language elements and runtime libraries that provide a “curses”-style interface for EGL users to develop applications

The Console UI was [primarily] developed to provide a migration path from Informix I4GL to EGL

Provisions are made in the language to support Line mode (command line) interactions Display statements (in various flavors….) Windows Menus Forms

Implemented to use Java Swing and Unix curses

Page 11: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

11

Console User Interface (cont…)

The Console UI operates (for the most part) on types and structures that have been created by EGL programmers

Console UI objects generate “events” which allows EGL programmers to control the runtime behavior based on user interaction

The Console UI runtime has been designed to look the same as I4GL behave the same as I4GL

Look-n-feel compatibility is crucial to the success of the I4GL to EGL migration effort

Page 12: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

12

EGL UI Development

EGL

Console UI Library

Unix Curses

Java Swing

Page 13: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

13

EGL UI Development

Some details…

Form layout using predefined Record type (ConsoleForm)

Window, Form, menu and prompt are predefined types

A single statement can interact with the different components

• Statement attributes determine what action needs to be performed (input/display/construct etc)

Event handling to handle form, field and key events

Page 14: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

14

I4GL to EGL syntax mapping

Windows, Menus, Prompts, and Forms have become types in EGL

The EGL statement “openUI” controls the behavior of menus, prompts, and forms

The openUI statement can catch “events” that can be thrown by any object it can open After/before field, after/before row, on key, menu Action, etc…

I4GL prompt, construct, menu, input, and input array become various incarnations of openUI

Page 15: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

15

EGL Report Handling

Capable of generating complex reports

Uses Jasper

Works with a design document

Can be exported to different formats (PDF, HTML, XML)

EGL statements to interact with reports

Page 16: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

16

Users view of EGL report runtimeE

GL

App

lica

tion

EGL Report Library

Jasper Report Or Jasper Design

template

EG

L R

epor

t Han

dlerCalls Starts

Data passing

Calls

Report handler can call methods and use resource of EGL application

Page 17: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

17

Data Source in EGL for Jasper

Jasper Report

EGL Dynamic Array of Records

SQL statement

Connection

Database

EGL Report Library

Page 18: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

18

EGL Report artifacts

EGL report driving

program, a.egl file

Jasper Report XML

template, b.jrxml file

EGL report handler, c.egl file

EGL report driving

program, a.java file

EGL report driving

program, b.jasper file

EGL report driving

program, c.java file

EGL report driving

program, c_lib.java file

Optional

Compilation

Page 19: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

19

EGL – Language Example

ProceduralProcedural

LinearLinear

TraditionalTraditional

Page 20: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

20

EGL Data Access Verbs

“Record” abstracts access to: Relational data MQ messages Indexed, Relative, Serial data DL/I (v6.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

SQL MQ DL/I XML Serial Indexed Relative

EGL RecordEGL Record

* - future

Add

Get

Replace

Delete

Commit

Page 21: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

21

EGL Business Logic Development : Create Page Handler and Service

Page Handler Contain functions and data related to a .jsp “On Page Load” function Declare data structures that are available to “Page Designer” Functions bound to command buttons Should be mostly “Controller Logic”

Service Multiple entry points Put “Business Logic” in here for EGL Apps Local or Remote Service Including Web Service Creation Interfaces to Represent External Web Service Methods Invoke server programs through a simple CALL statement From a Service Contain “Black-Box” EGL functions

• generally related in some way

• Example: “Data Access Service”− SQL Record definition− All basic CRUD functions

SearchGoogle.egl

SearchGoogle.jsp

GoogleSearch.egl

Call “GoogleSearch”Service

Page 22: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

22

What Applications can be developed in EGL? Internet (Web) applicationsInternet (Web) applications – standalone, remote calls to legacy business logic …

Web ServicesWeb Services – EGL Service, full Web Service, SOA

Create and Consume Web Services with Wizards

Database applications (CRUDs)Database applications (CRUDs)

DB2, Oracle, VSAM, IMS, Informix, Cloudscape, sequential files…

Callable programs from traditional Java clientsCallable programs from traditional Java clients

Standalone batch and reporting applicationsStandalone batch and reporting applications

Standalone green-screen (TUI) applications

For i5oS, OS390, VSE, z/OS, Linux, AIX, Windows, Unix

Page 23: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

23

Where can EGL Applications be Deployed?

RWD/RAD

•Language•Editors•Wizards•Tools•Debugger•Java Generation/RT

COBOL Generation option

zSeries

Windows/LinuxAIX, HP, Solaris

iSeries

EGLprogram/library/service

Used In:

Code Repository

WAS

WAS

Native (Java)

Native (Java)

WAS

USS

Linux/z

Native (COBOL)

CICS

Batch

IMS

Other App Servers

DB2 IDS Oracle IMS/DLI

VSAM MQ

Page 24: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group

®

EGL AND SOAEGL AND SOA

Page 25: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

25

SOA Support In EGL

Ability to create and consume web service artifacts Simple and Intuitive Programming

Model Wizard Driven Development Easy Testing of Generated WSDL

Through Web Service Explorer

Page 26: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

26

Ability to Consume External WSDL Files to Create EGL Artifacts

All Necessary Interfaces Generated From the WSDL File

Communication Protocols Automatically Created In Service Binding Library (From WSDL)

Complex Types Automatically Created From WSDL File Content

Both EGL and External Web Service Creation Possible

SOA Support In EGLConsuming External Web Services

Page 27: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

27

EGL web service has Access to All EGL Capabilities

WSDL file, and Necessary Classes Automatically Generated From Service

Menu Option on Right Click of Service Artifact Allows Creation of Service Binding Library (The Client)

EGL Generated Code Leverages Built In Web Service Support In Websphere Application Server

SOA Support In EGLCreating Services With EGL

Page 28: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group

®

Moving To The WebMoving To The Web

Page 29: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

29

Rapid Development with JSF and EGL

User Interface

Web Services

Business Logic

Enterprise Information Connection

Business Process Integration

Control Logic

JSF RAD tools virtually eliminates

complex error prone manual coding Point and click Web presentations

Control Logic and Navigation

automation

Rich UI components

No-code input validation

Page 30: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

30

Rapid Development with JSF and EGL

EGL simplifies business logic and shields from

complexities of data access (Databases, Files,

Message Queues) and legacy integration High level simple I/O verbs insulate from coding data

access APIs

Procedural easy to learn language

Simple CALL interface to existing programs insulates

from connectivity APIs

User Interface

Control Logic

Business Logic

Enterprise Information Connection

Web Services

Business Process Integration

Page 31: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

31

Web Site Structure and Navigation Web Site Development Tool for creating, managing, and

building entire web sites Useful for working with a collection of web pages which make

up a website

Key Benefits: Easily visualize (and manipulate) the structure of a web site Maintain a consistent look and feel of a website

Generated Navigation Bar

Detail Page Information

Web Site Structure

D&D to apply page template. List of

available page templates with navigation controls

Page 32: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

32

Styles and ThemesCSS Source view editing features, including syntax highlighting, unlimited undo and redo, content assist, element selection, and pop-up menu options.

Style sheet gallery allows to select, preview and apply one of many pre-built CSS.

Ability to view, edit and add new styles to the style sheet.

The Preview pane shows you how the currently defined styles are likely to look when viewed in a Web browser.

Visual Design and Preview Capabilities

Support for W3C CSS Standards (CSS1, CSS2 and CSS Mobile Profile, WAP CSS 1.0)

Automatic design time update to pages in page designer

Visual and Source view synchronization

Import existing style sheets.

Design and Apply Style Sheet for Consistent Look and Feel

Page 33: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

33

Page Templates and Fragments

Used to easily define a consistent layout/design for a set of pages Changing a template will automatically

update all pages using the template

Two types of content: Content Area: Only area which can be

modified by pages based off the template Page Fragments: Includes part of a page

from another page (not modifiable)

Page Designer is used to create page templates (*.jptl)

Page Template Designer. Design, Preview, Synchronize

changes.

Ready to use sample page

templates (50) for rapid prototyping.

Page 34: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

34

Dynamic Page Design and Preview

Construct pages by dragging and dropping rich web components from a customizable Palette

Construct pages by dragging and dropping rich web components from a customizable Palette

The Quick Edit View allows scripting of client or server side events in Java or Java Script.

Code assist writes the code for you!

Page templates separate out common page elements in a single template file

Simplified Navigator hides the complexity of J2EE

The Data View lets you configure and drag and drop data to automatically create a data bound UI

Property views allow easy customization of the selected component

Rapid UI Creation

Integrated with EGL Records

Instant binding of UI to Data

Quick Server/Client side event scripting (with Java Server Faces)

Web Application Development is Drag and Drop Simple!

Page 35: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

IBM Software Group | Rational software

35

Page 36: Advantages of EGL For I4GL Development Jin Zhang Software Development Manager, IBM Informix User Forum 2005 Moving Forward With Informix Atlanta, Georgia

Advantages of EGL For I4GL Advantages of EGL For I4GL DevelopmentDevelopment

Jin ZhangJin [email protected]@us.ibm.com

Informix User Forum 2005 Moving Forward With Informix

Atlanta, Georgia December 8-9, 2005