Advantages of egl for i4gl development
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

Advantages of EGL For I4GL Development PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Advantages of EGL For I4GL Development

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Advantages of egl for i4gl development

Informix User Forum 2005Moving Forward With Informix

Advantages of EGL For I4GL Development

Jin Zhang

Software Development Manager, IBM

Atlanta, Georgia December 8-9, 2005


Agenda

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


The informix customer dilemma

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


The rational solution

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


What is enterprise generation language egl

What is Enterprise Generation Language (EGL)?

  • 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


Why should one move to egl

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


Why should one move to egl1

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


Application development with egl

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


Application development with egl1

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


Console user interface

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


Console user interface cont

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


Egl ui development

EGL UI Development

EGL

Java Swing

Console UI Library

Unix Curses


Egl ui development1

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


I4gl to egl syntax mapping

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


Egl report handling

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


Users view of egl report runtime

Users view of EGL report runtime

Calls

Jasper Report Or Jasper Design template

EGL Report Library

Calls

Starts

Data passing

EGL Application

EGL Report Handler

Report handler can call methods and use resource of EGL application


Data source in egl for jasper

Database

EGL Dynamic Array of Records

Jasper Report

SQL statement

EGL Report Library

Connection

Data Source in EGL for Jasper


Egl report artifacts

Optional

EGL Report artifacts

EGL report driving program, a.egl file

Jasper Report XML template, b.jrxml file

EGL report handler, c.egl file

Compilation

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


Egl language example

EGL – Language Example

Procedural

Linear

Traditional


Egl data access verbs

Add

Get

Replace

Delete

Commit

EGL Record

Relative

MQ

DL/I

XML

Serial

SQL

Indexed

* - future

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


Egl business logic development create page handler and service

EGL Business Logic Development : Create Page Handler and Service

SearchGoogle.egl

Call “GoogleSearch”

Service

SearchGoogle.jsp

  • 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

GoogleSearch.egl


What applications can be developed in egl

What Applications can be developed in EGL?

  • Internet (Web) applications – standalone, remote calls to legacy business logic …

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

    • Create and Consume Web Services with Wizards

  • Database applications (CRUDs)

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

  • Callable programs from traditional Java clients

  • Standalone batch and reporting applications

  • Standalone green-screen (TUI) applications

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


Where can egl applications be deployed

Windows/Linux

AIX, HP, Solaris

zSeries

iSeries

IMS/DLI

VSAM

DB2

IDS

Oracle

MQ

Where can EGL Applications be Deployed?

EGL

program/library/service

Code Repository

WAS

Used In:

Native (Java)

RWD/RAD

Other App Servers

WAS

  • Language

  • Editors

  • Wizards

  • Tools

  • Debugger

  • Java Generation/RT

USS

Linux/z

CICS

WAS

COBOL Generation option

Batch

Native (Java)

IMS

Native (COBOL)


Egl and soa

EGL AND SOA


Soa support in egl

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


Soa support in egl consuming external web services

SOA Support In EGLConsuming External Web Services

  • 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 egl creating services with egl

SOA Support In EGLCreating Services With EGL

  • 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


Moving to the web

Moving To The Web


Rapid development with jsf and egl

Rapid Development with JSF and EGL

Control Logic

Business Logic

User Interface

Enterprise Information Connection

Web Services

Business Process Integration

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


Rapid development with jsf and egl1

Rapid Development with JSF and EGL

User Interface

Control Logic

Business Logic

Enterprise Information Connection

Web Services

Business Process Integration

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


Web site structure and navigation

Web Site Structure and Navigation

Generated Navigation Bar

  • 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

Web Site Structure

Detail Page Information

D&D to apply page template. List of available page templates with navigation controls


Styles and themes

Styles and Themes

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

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

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.

  • Design and Apply Style Sheet for Consistent Look and Feel

  • Automatic design time update to pages in page designer

  • Visual and Source view synchronization

  • Import existing style sheets.

  • Visual Design and Preview Capabilities

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


Page templates and fragments

Page Templates and Fragments

Page Template Designer. Design, Preview, Synchronize changes.

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

Ready to use sample page templates (50) for rapid prototyping.


Dynamic page design and preview

Dynamic Page Design and Preview

Simplified Navigator hides the complexity of J2EE

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 Data View lets you configure and drag and drop data to automatically create a data bound UI

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

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

Code assist writes the code for you!

Property views allow easy customization of the selected component

  • Web Application Development is Drag and Drop Simple!

  • Instant binding of UI to Data

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

  • Rapid UI Creation

  • Integrated with EGL Records


Advantages of egl for i4gl development1

Informix User Forum 2005Moving Forward With Informix

Advantages of EGL For I4GL Development

Jin Zhang

[email protected]

Atlanta, Georgia December 8-9, 2005


  • Login