Advantages of EGL For I4GL Development - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Advantages of EGL For I4GL Development

Description:

I/O errors handled in a common fashion - across disparate data types ... Declare data structures that are available to 'Page Designer' ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 37
Provided by: Chan205
Category:

less

Transcript and Presenter's Notes

Title: Advantages of EGL For I4GL Development


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

Atlanta, Georgia
December 8-9,
2005
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

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

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

5
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

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

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

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

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

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

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

12
EGL UI Development
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

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

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

16
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
17
Data Source in EGL for Jasper
18
EGL Report artifacts
Optional
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
19
EGL Language Example
Procedural Linear Traditional
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

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
Call GoogleSearch Service
SearchGoogle.jsp
GoogleSearch.egl

22
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

23
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
WAS
CICS
COBOL Generation option
Batch
Native (Java)
IMS
Native (COBOL)
24
EGL AND SOA
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

26
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

27
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

28
Moving To The Web
29
Rapid Development with JSF and EGL
Control Logic
User Interface
Business Logic
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

30
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

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
Web Site Structure
Detail Page Information
DD to apply page template. List of available
page templates with navigation controls
32
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)

33
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.
34
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!
  • Rapid UI Creation
  • Integrated with EGL Records
  • Instant binding of UI to Data
  • Quick Server/Client side event scripting (with
    Java Server Faces)

35
(No Transcript)
36
Advantages of EGL For I4GL Development
Informix User Forum 2005 Moving Forward
With Informix
  • Jin Zhang
  • jinz_at_us.ibm.com

Atlanta, Georgia
December 8-9,
2005
Write a Comment
User Comments (0)
About PowerShow.com