Title of Course

Download Report

Transcript Title of Course

IBM Software Group

Rational Business Developer – Version 7.1

Featuring, Enterprise Generation Language This is the first module in the learning Tutorials. It covers EGL/RBD overview examples. – product and course setup and introduces you to “how to learn” from these slides and

® © 2006 IBM Corporation

Course Contributing Authors

Thanks to the following individuals, for assisting with this course:

Jeri Petersen, Scott Pecnik, Mark Evans, Jim Buck, Sanjay Chandru , Timothy McMackin, Narinder Makin, Jing Qian, Claus Weiss, Paul Hoffman, Matthew Heitz, Yukihiro Minote, Jorge Serrano, Glenn Gundermann, Reginaldo Barosa, Jake Berberich, Brice Small, Chandra Krothapalli, Jon Shavor, Brian Svihovec, Thom Haynes, Joe Pluta, Peter Young, Jeff Cook, Jing Qian, Joe Vincens, Justin Spadea, John Riendeau, Kendall Coolidge, Amit Joglekar, Damian Madden, Mike Kohlndorfer, Alan Naylor, Mitch Davidson,

2

IBM Trademarks and Copyrights

© Copyright IBM Corporation 2007,2008. All rights reserved.

 The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.  This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.

 IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

3

Course Details

Audience

 This course is designed for application developers who have programmed in a 3 rd or 4 th generation language – and who need to build leading-edge applications using Rational Business Developer.

Prerequisites

 This course assumes that the student has the basic knowledge of IS technologies, data processing, software and havs programmed for at least two or more years in a language such as: COBOL, RPG, PL/1, Pascal, or some 4 th Generation Language or tool.  Knowledge of SQL (Structured Query Language) for database access is assumed as well.

 Basic PC and mouse-driven development skills is also assumed.

 Finally, it is assumed that you know a little bit about IBM’s Rational Business Developer and EGL (Enterprise Generation Language) – at least from a high level “what is” perspective. 4

Course Objectives

 At the end of this course, you will be able to:  Create EGL Programs, Libraries, Services and JSFHandlers that operate in a leading-edge application like a web app to deliver business functionality.

 Code statements to define and declare EGL primitive data, DataItems, Records and EGL properties  Code structured looping, conditional and assignment statements.

 Code EGL SQL and data access statements to read and write from programs to external databases and files  Analyze whether an SQL statement is efficient and code it differently if it is not.

 Create EGL business logic at or near the production requirements specification level in terms of:  Complexity  Breadth and Scope 5

Course Introduction – Unit Descriptions

 The first unit,

RBD Workbench

high-level perspective.

, introduces the Eclipse IDE (Integrated Development Environment) and discusses EGL terms and concepts from a  The

EGL QuickStart

unit takes you through the process of building a small web application using EGL and JSF from scratch throughout the entire development lifecycle.  In the third unit,

Programming In EGL

, you learn how to translate what you know in System z and System i programming language parlance to EGL, and to write production-quality business applications using EGL statements.

 In the fifth unit,

Database and File Access Using EGL

, you learn how to leverage the EGL language abstractions to simplify and expedite developing complex and efficient database access. You will also learn how to access external files from EGL programs.

 In the sixth unit,

EGL and Services

you learn how to create, consume, deploy, test and use externally created Web Services, and you also learn about how EGL can be used in a Service Oriented Architecture.

 The final unit,

Calling External Programs in Other Languages

, discusses how to call Java, COBOL, RPG and C++ programs from EGL.

6

Course

RBD/EGL Development

Units:

What is EGL (and what is RBD)?

7

 

What is Enterprise Generation Language (EGL)?

High-level programming language for developing leading-edge business applications Independent of implementation   Hides technology complexities Presentation and persistence layer API fully generated    Enables Rapid Application Development Simplifies development of Services Run-time code generated for appropriate platform   Java for Windows, Linux, and so forth COBOL for System z and System i   Development and Generating Tools included with RBD Migration path for CSP, Visual Age Generator, and Informix 4GL customers  Integrates with leading-edge software technologies  Eclipse, JSF, Application Servers, etc.

 See the Help topic: Introduction to EGL 8

What is Rational Business Developer (RBD)?

Commercial product, from IBM for the EGL language, targeted to business developers

Member of the Rational Software offerings suite

Support for wide range of platform, middleware, and technologies

Rich Eclipse-based tooling for productive development of leading edge and legacy application functionality

9

EGL Principles

    Decouples application specification from runtimes. Useable by developers of any technical software background.

   Hides technical complexity.

Supports emerging standards and technologies.

Allows optimal (native) deployment to any runtime (new and traditional) Ensures easy inter-operability with legacy.

Delivers productivity without compromising flexibility:  Language simplicity.  Language robustness.

10

EGL Language “Abstractions”

Declarations RBD Tools

Data access:

“Records” provide access to:

SQL, Indexed, Relative, Serial, DL/I, Service data, Message Queues

Common Verbs for data access (Get, Add, Replace, Delete).

Allows complete access to SQL statement if needed.

Common Error Handling.

Remote Invocation

Call COBOL, RPG, C, Java.

Linkage information separated from code.

Data mapping, protocol invocation all resolved at runtime, NO code necessary!

User Interface:

   

EGL “handlers” hide complexities of

Web (JSF) UI Reports (BIRT) Portlets Rich Web (Ajax)

11

EGL and U.I. “Declarative” Development

 Server-Side Validation/Editing Rules:  Via properties in “Data Items.   Define formatting & validation rules in a common place.

Reuse data items for Records, screens, web pages, reports.

Declarations RBD Tools

 U.I. Validation/Editing Rules:    Via Properties tab Define many common data-entry requirements No need to learn U.I. API set:    JavaScript Java/JSF Green-screen 12

Enterprise Generation

Language

    Procedural, operationally and computationally complete, provides Server-side logic for:  Internet/Web – JSF  Internet/Web 2.0 - Rich U.I.

 COBOL Generation - Legacy Rich data types  Simple, traditional, new, complex Keywords  Case, if-then-else, while, for loop, for loop cycling through a database result set, etc.

High power language capabilities    Automated Casting (e.g. using AS operator) Mixing data types in assignments and expressions Exception handling   Rich libraries of built-in functions  Math, string, date/time, system, i5/OS resources (Data Areas, Data Queues) access Robust integration with existing investment or access to low level APIs   Call RPG, COBOL, C, etc.

 Full Java interoperability Invoke Java from EGL (map Java classes with EGL External Types)  Invoke EGL from Java 13

Declarations RBD Tools

Eclipse Tooling

 Integration with Page Designer and JSF tools  Drop EGL data structures on JSP:   

Validation, editing, formatting rules from EGL Data Items applied.

Appropriate UI controls rendered pre-bound to data declared in EGL Page.

Tooling “inherits” EGL development and server-side declaratives

 Server-side and browser event handlers in EGL within context of page designer.

  Seamless integration No Java coding required to wire EGL data to JSF  EGL logic can be used to handle user interaction with the JSP.

 AJAX capability built in…partial refresh, etc…  Portal Server/Portlet support

Declarations RBD Tools

14

EGL Source-Level Debugger

 Debug entire application regardless of ultimate deployment targets:  Transition from debugging JSP’s to EGL code to Java to … and back .

 EGL source debugger:  Breakpoints  View & modify variables  Jump to line  Hot-swapping  Add notes/tasks  Remote data access  Relational DB,  VSAM files,  DL/I data,  I5 DQ/DA

Declarations RBD Tools

15

EGL and Services

Service part:

A built-in language part containing code that will be accessed:

 

From EGL code by way of a local or TCP/IP connection (EGL Service).

From any code by way of an HTTP connection (EGL Web service).

Declarations RBD Tools

16

Enterprise Generation

Language

ClearCase, CVS, Aldon, others… zSeries

      

System z WebSphere USS Linux Batch CICS IMS Declarations RBD Tools Java COBOL EGL Program/Library/Service Java

   

Windows, Linux, Unix WebSphere Tomcat Native JavaScript

   

Browser/Web 2.0

IE* Firefox* Safari* Java COBOL

     

System i iSeries WebSphere Tomcat I5/OS Integrates App Server Native i5/OS Native i5/OS

17

Portability – RBD/EGL Technology Support

Reports Batch Processes Text UI Web & Web 2.0

GUI Web/Native Services System i Handler Program Service/Interface Library External Type

Business Logic

Access to Legacy System Resources

Resources

• • • • •

External Interfaces COBOL RPG PL/1 C, C++ Java Data Sources

• • • • • • •

DB2 UDB SQL Server Oracle Informix DL/1 VSAM others… System z System p

18

EGL Use Cases: Developing new Systems

EGL end-to-end (web-to-backend logic and services) RBD

Enterprise Data 

EGL as a SOA lingua franca for enterprise business services RBD

Enterprise Data

Java, MS, Rich UI Custom frameworls, etc

EGL front-end to COBOL or PL/I backend Rdi, RDz, other RBD

Enterprise Data 19

EGL Use Cases: Modernizing existing Systems

Web UI Rich UI Portals Refactored Application Refactor UI Face lift RPG/COBOL 3270/5250 Business Logic Database Access UI Services UI Service rendering EGL Conversions Convert Services Extract Design Re-Build Re-Build HATS/EGL bridge EGL New Application EGL Interfaces

20

Summary – Benefits of the EGL Language

PORTABLE

  

Java, SOA, COBOL, System Z/I/P, Browser , ...

Optimal native generation to any platform Easy inter-operability with legacy

   

High productivity Language with equal simplicity flexibility and robustness Immediately useable by business developers Scalable software architectures

SIMPLE ABSTRACT

  

Effectively Use hide declarative technical complexity approach to everything Support emerging standards

21

UNIT

RBD Product and Course Setup

Topics:

How to take this course

 Downloading RBD software (trial edition)  Installing and configuring Tomcat (application server)  Installing and configuring the course project and database 22

How to use this book

 This course has two different modes of educational delivery – each based on both content matter, and on effective knowledge transfer: 

Read and Learn:

 

Do and Acquire:

 23

Read and Learn

Read and learn

is the most prevalent form of education presented in this course.

 From the slides you are viewing, you can read and understand concepts about RBD and EGL. This is static information presented as traditional text and graphics.  The Notes (at the bottom of most slides) present additional information on each concept. The Notes also present (wherever relevant) System z and System i programmer analogies  There are numerous slides that allow you to test your knowledge and learning. These slides contain paper/pencil questions. The answers to most of these questions are at the end of the PowerPoint slides.

24

How to use this book

Do and Acquire

 To make all of the pieces of information covered in this course yours you will need to use RBD and EGL to create software functionality.

– and to convince you that you’ve got the skills to match the knowledge you accumulate,  There are lots of workshops and labs throughout this course, that will allow you to discover, practice and master the RBD functionality and development techniques used to create no-compromise, production-worthy applications.

 All of the “do this” steps have a consistent icon to the left of them, the:   When you see this  symbol either at the top of a page, or at the beginning of a step, it signifies that you are to “do” something with the product or language.

25

View the Slide Notes

 Using your mouse expand the Notes at the bottom of this slide and read them.

Adjust the size of the slides or notes to suit your viewing

Figure 1 – PowerPoint Notes View

26

Learn More!

Product Help There are a large number of excellent sources for background information freely available online. Here are a few we use a lot:    Help Contents   Search Tutorials and examples – from the Sample Gallery Programmer’s Guide EGL Language Reference  Cheat Sheets IBM Systems Information Center http://publib.boulder.ibm.com/infocenter/systems/index.jsp

From the home page, click: GOOGLE Search Wikipedia Search www.google.com

http://wikipedia.org/ 27 Search on any topic Answers, for virtually any topic

Product Help – Help Contents and EGL

28

UNIT

RBD Product and Course Setup

Topics:

 How to take this course.

Downloading RBD software (trial edition) and installing and configuring your app-server, the sample project and your database - overview

29

RBD v7.1 Installation Process

 RBD v7.1 can be installed standalone, or can be installed into (on top of):    RDz RDi SOA RAD  The RBD v7.1 installation process covered in the

EGL-RBD-v71.ppt

In addition to the RBD v7.1 software, you will also need to download to your workstation: 

EGLDerbyR7.zip

– the course database  And either 

v71Project_Tomcat.zip

– for doing this course using Tomcat …or… 

v71Project_WAS.zip

– for doing this course using WAS  Your course setup e-Mail will direct you as to where to get these resources 30

Course Application Server Considerations

IMPORTANT NOTES

 With RBD and EGL you have a choice of a number of application servers to run web applications with, including:

WebSphere Application Server

and

Tomcat

In order to accommodate customers with limited access to application servers, we will use Tomcat in our examples.

 Someone may have already installed and configured the Tomcat application server for you.  If you wish to use Tomcat, you might first read about the software from this link:  http://en.wikipedia.org/wiki/Apache_Tomcat  The RBD-EGL-v71.ppt has detailed instructions on Tomcat installation.

31

Installing and configuring the course database

 This course uses a pre-configured Project and an open-source (Derby) database, which you will need to install and configure.  You will unzip

EGLDerbyR7.zip

To:

C:\databases\

 Your files should look like this after you have unzipped them   Again the RBD-EGL-v71.ppt

will cover this step in detail 32

Installing and configuring the course project

This course uses a pre-configured Project, which you will need to install and configure. Someone may already have installed and configured the project for you. If so, you may skip ahead to the next section. If not, please follow the steps below to install and configure the course project: From the Windows start menu, you will launch RBD …or…RAD with RBD (depending on what product you have installed on your PC) Again: 1. This step is covered in-depth, in the RBD-EGL-v71.ppt

2.

You will choose either a Tomcat or WebSphere project – depending on which application server you installed.

33

Unit Summary

 Now that you have completed this topic, you should be able to:  Launch RBD – and select a workspace  View the Education Project in eclipse  Connect to the Derby database and view data rendered in a simple EGL/JSF web page  Note this verifies that all of the software components necessary for this course are: – Installed – Configured – Operational 34