Advantages of EGL For I4GL Development

Slides:



Advertisements
Similar presentations
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Advertisements

RDz and Process Integration Using Menu Manager and HATS to customize your RDz installation David Myers.
Natural Business Services for Construct Users Mark Barnard R&D Manager – Natural Business Services.
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
1 Chapter 12 Working With Access 2000 on the Internet.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Copyright 2008, Synchrony Systems, Inc. Legacy TUI to EGL/Web Application Modernization Enterprise Modernizations.
SHARE POINT 2010 TRINAY TECHNOLOGY SOLUTIONS © Copyright Trinay Technology Solutions, 39 Buckland St, #5321 Manchester, CT
Copyright , Synchrony Systems, Inc. EGL Rich UI / Web 2.0 GUI to RUI Transformation with Enterprise Application Modernizations Slavik Zorin Founder.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Copyright , Synchrony Systems, Inc. Enterprise Application Modernizations Slavik Zorin Phone: (415)
Jean Georges Perrin IIUG Monday, October 2 nd :30 – 14:30. Platform: IDS, EGL 4GL to EGL – Hype or Reality Session: I02.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Classroom User Training June 29, 2005 Presented by:
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
What’s new with EntireX Communicator 7.3 Rolf Bahlke crossvision Chief Architect October 2006.
Converting Your Informix 4GL Application to EGL Jin Zhang Software Development Manager IBM Informix User Forum 2005 Moving Forward With Informix Atlanta,
Using Visual Basic 6.0 to Create Web-Based Database Applications
DataFlex Web Framework Symposium – Part 2 Web Framework Overview John Tuohy Development Team
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Oracle Application Express. Program Agenda Oracle Application Express Overview Use Cases Key Features Packaged Applications Packaging Pricing Call to.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Deployment modeling March, 2010.
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Introduction to soarchitect. agenda SOA background and overview transaction recorder summary.
® © 2009 IBM Corporation IBM Software Group Application Transformation using EGL Todd Britton IBM Rational.
® IBM Software Group © 2006 IBM Corporation HATS Case Study.
® © 2008 IBM Corporation IBM Software Group EGL Simplify Innovation EGL International Conference Zurich Oct EGL Trends and Directions Stefano.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
ThinStructure: An Overview Support for ThinStructure demonstration. Jean Georges Perrin – Annandale, 21 st April 2004.
® IBM Software Group © 2003 IBM Corporation IBM WebSphere Studio V5.1.2: Making Java Development Easier May 2004.
Intoduction to Andriod studio Environment With a hello world program.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
IBM Software Group Name Title Company Rational Application Developer (RAD) V6 Enabling Portlets with Service Data Objects (SDO) Web Services and JavaServer.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
 INDEX  Overview.  Introduction.  System Requirement.  Features Of SQL.  Development Process.  System Design (SDLC).  Implementation.  Future.
TRINAY TECHNOLOGY SOLUTIONS
The Holmes Platform and Applications
DHTML.
A technical look at new capabilities and features
Using JDeveloper.
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
JavaServer Faces: The Fundamentals
Presentation transcript:

Advantages of EGL For I4GL Development 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 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 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 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)? 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? 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 The WebSphere tooling family includes (or will include) full support for mainframe COBOL development, Web site creation and maintenance, Web Application Development and now, character based application development. A single development environment for a company’s development effort is a very desirable thing. Standard curses library will allow much better color support (more colors, bold, reverse video, etc). Better locale and MBCS support as provided by OS vendors.

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 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 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 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…) 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 For c/i4gl programmers, this is a different model. Note that the primary reason for ConsoleUI is to provide an I4GL to EGL migration path, hence the focus on look and feel compatibility.

EGL UI Development EGL Unix Curses Console UI Library Java Swing

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 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 In I4GL menus, prompts, input, etc.. .were *statements*. In EGL, these have become objects with the openUI statement controlling the behavior. NOTE that OPENUI has its own two special events - before openUI and after openUI.

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 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 Jasper Report EGL Dynamic Array of Records SQL statement Connection Database EGL Report Library

EGL Report artifacts Optional Compilation 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 Procedural Linear Traditional EGL enables an extremely simplified approach to developing business logic and access to enterprise resources. Procedural familiar language constructs can be learned quickly and used for defining business rules. EGL comes with a powerful data abstraction model that allows to define universal data validation and data attributes, which are always automatically applied for each use of the data in any application. The data abstraction model is such that a single simple statement in EGL replaces the need to code complex sets of data middleware programming stetements, both for relational databases as well as file systems. Similarly, message oriented middleware such as MQ Series can be interfaced using a similar data abstraction, reducing the need to learn messaging and queueing programming. If access to existing programs, wether local or residing on remote systems, is required, a simple EGL CALL protocol shields developers from the programming complexities of the required connectivity middleware. The EGL specification is seamlessly integrated with the JSF web development RAD facilites, so that a full end-to-end web system can be fully implemented without the need to learn any Java programming. It is clear that with EGL developers can become productive very quickly.

EGL Data Access Verbs “Record” abstracts access to: Relational data SQL MQ DL/I XML Serial Indexed Relative EGL Record * - future Add Get Replace Delete Commit “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 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

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? program/library/service Code Repository zSeries Windows/Linux AIX, HP, Solaris iSeries 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 DB2 IDS Oracle IMS/DLI VSAM MQ Native (COBOL)

EGL AND SOA

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

Rapid Development with JSF and EGL User Interface Control Logic 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 Rapid development of Web applications is enabled by the fusion and synergy between a set of Java Server Faces JSF tools and EGL. Java Server Faces is an emerging J2EE standard that defines a User Interface Component Model and a web application framework. The specification comes with a set of standard components (the typical standard widgets as you would expect to be able to create typical User Interfaces.. Buttons, text, entry fields etc) but also allows creation of additional components, and Websphere Studio delivers some powerful ones, called Faces Client Components, which enrich your applications with rich GUI like functionality with zero programming. The framework manages the entire request/response cycle automatically, applying all event handling, validations, components state and navigation. The use of JSF can really simplify the job of web application developers, but as usual, if there are no tools, no matter how powerful the JSF specification and reference implementaiton are, writing JSF compliant applications can still be laborious and error prone: you would have to manually define JSP with tags referencing the JSF components that you want in each page, you would have to manually code the event definitions and associate event handlers, you would have to manually define the validation and the navigation sequence. WebSphere Studio comes with an extremely easy to use approach to doing all these thing using an intuitive integration of JSF constructs with the Java Server Pages visual builder. The JSF tools make the binding of data from JSF pages to EGL data access and logic absolutely a snap with virtually no manual coding.

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 EGL enables an extremely simplified approach to developing business logic and access to enterprise resources. Procedural familiar language constructs can be learned quickly and used for defining business rules. EGL comes with a powerful data abstraction model that allows to define universal data validation and data attributes, which are always automatically applied for each use of the data in any application. The data abstraction model is such that a single simple statement in EGL replaces the need to code complex sets of data middleware programming stetements, both for relational databases as well as file systems. Similarly, message oriented middleware such as MQ Series can be interfaced using a similar data abstraction, reducing the need to learn messaging and queueing programming. If access to existing programs, wether local or residing on remote systems, is required, a simple EGL CALL protocol shields developers from the programming complexities of the required connectivity middleware. The EGL specification is seamlessly integrated with the JSF web development RAD facilites, so that a full end-to-end web system can be fully implemented without the need to learn any Java programming. It is clear that with EGL developers can become productive very quickly.

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 D&D to apply page template. List of available page templates with navigation controls

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

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

You can use this chart to show that the formal presentation is finished and to open up a Question and Answer session.

Advantages of EGL For I4GL Development Informix User Forum 2005 Moving Forward With Informix Advantages of EGL For I4GL Development Jin Zhang jinz@us.ibm.com Atlanta, Georgia December 8-9, 2005