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