24-26 May 2000
Pheonix, Arizona, U.S.A.
Sponsored by the Rexx Language Association

The Symposium program provides a focal point for information about Rexx and a venue for technical interchange among members of the Rexx community.

Title: Introduction to VMSERVE
Speaker: Les Koehler

VMSERVE, the Disconnected Service Machine driver widely popular within IBM since about 1981, is now available in the VM Download Library.

This presentation introduces the audience to VMSERVE at a high-level, including:

1-Block diagram overview
2-Security methods and definitions
3-User exits
4-Audit trails
5-System-wide control files
6-Monitoring multiple VMSERVE machines

Title: Interpreted Rexx on the Java platform -- a demo
Speaker: Mike Cowlishaw

The NetRexx interpreter uses a combination of techniques to achieve full-function interpretation of NetRexx programs on the Java platform, allowing NetRexx to be used as a true scripting language as well as for writing applications.

This session will introduce the NetRexx interpreter in an informal "how to" demonstration of how it can be used. The internals of the interpreter will be described in more detail in Friday's presentation.

Also included in this session will be a brief review of recent enhancements to the NetRexx language, some of which could easily be added to other Rexx implementations.

Title: Fault Tolerant Application Initiation through Rexx
Speaker: James G. Hasslacher, Jr.

Until PC desktops are locked down and controlled in the same manner as Mainframe environments, successful launching of an application will be a probability, rather than a certainty. With no controls in place to prevent users from deleting or reinstalling software, there is no guarantee that applications will find the resources needed, or in the expected location.

Invoking a Rexx program to create the environment needed by the application prior to launch eliminates many of the unknowns and fixed dependencies. This creates a more favorable set of odds that the application will successfully start, despite what the user has done to the desktop.

The real life examples used to demonstrate this concept are ORACLE applications. The most involved is a PeopleSoft invocation. Special attention in designing this technique has been directed towards ease of maintenance, and a reduction in the amount of visits to the desktop when updates are applied.
Papers: PDF of Slides

Title: Adding copyright statements to compiled Rexx code on VM without manually modifying the source.
Speaker: Les Koehler

Ever been faced with the Legal Department suddenly informing you that all your code must contain a copyright statement or have you ever faced the problem of "What source was this compiled from, and when?"

This presentation will show you how to modify the IBM-supplied compiler execs, which are *samples*, to provide a User Exit facility.

The User Exit facility can then be utilized to solve both problems.

Title: More Results from Compact Rexx
Speaker: Brian Marks

This is the third in a series of presentations made at the Symposia about Compact Rexx (CRX). Compact Rexx is an implementation of ANSI Standard Rexx coded for fun in a nostalgic way - assembler language on DOS. Although this environment is elderly, the results have relevance to current questions about Rexx such as "How does Rexx perform when used for big programs with many routines?" and "Would a compiler to native Intel machine code produce much faster Rexx execution than any interpreter of Rexx could?".

The presentation has three topics. The first is execution speed, this year concerned with getting the best from Pentium architecture rather than from the design of the implementation (which was covered in previous years). The second is about retaining in various ways the pseudo-code that Rexx products produce from a source program, so that the pseudo-code does not have to be remade each time an external routine is invoked. The third is about the challenges of combining support for the TRACE facilities with performance enhancements that work by changing what the Rexx coder actually wrote to some more efficient equivalent.

Papers: PDF of Slides

Title: Rexx ANSI Standard Update
Speaker: Brian Marks

This will be an opportunity to report on the status of the Rexx ANSI Standard. The status and availability of errata to the standard will be discussed in addition to a quick summary of the Rexx ANSI Committee meeting that was held earlier in the week.

Title: Reversible Change Management on VM
Speaker: Les Koehler

This presentation shows how the author solved several problems inherent in Change Management:

1-Ensuring that what gets installed is what was handed over.
2-Ensuring that only authorized users can instigate a change.
3-Automatic notification of success or failure of a change.
4-Automatic back-off in case of a failure
5-'Atomic' change installation
6-Uninstalling a change (back to the drawing board!)

Title: VMSERVE, Part One
Speaker: Les Koehler

This presentation explores some of the basic details of defining tasks to VMSERVE and the privilege levels of users.

Title: SAA Interface Windows Toolkit
Speaker: James G. Hasslacher, Jr.

A freeware utility for manipulating the Windows Registry and Windows file system is discussed. These routines go beyond transcribing the Windows architecture into Rexx syntax. Following the humanistic approach of Rexx, they are simple to use, and the results are easy to understand.

A brief tutorial on the Windows Registry will be followed by an explanation of the RegGet(), RegSet(), RegDel(), and RegFind() functions. Outside of renaming Key’s, and operation on remote machines, these are all of the tools needed to successfully manipulate the Windows Registry.

The last topic will be the file system functions that are specific to Windows. These include the ability to retrieve the version of an executable, an executable’s properties (who created the file, the national language it was created for, etc.), expand short filenames (DOS style 8.3 names that contain "~") into the long filename equivalent, and to check the properties of a file (does it exist, is it write-able, etc.).
Papers: PDF of Slides

Title: What is a Line Of Code (LOC)?
Speaker: Les Koehler

Many productivity and/or quality measurements are based on LOC (often referred to as Non-Commentary Source Lines) but as languages have become more powerful the measurement has become more meaningless. In particular, the power of Rexx and the myriad of coding styles makes it almost impossible to compare the LOC of two Rexx programs in any meaningfull way.

This presentation demonstrates a tool developed for VM that provides an analysis of Rexx code that has been used by the author for 14 years in an attempt to provide measurements of the code not available by other means.

Title: VMSERVE, Part Two
Speaker: Les Koehler

This presentation explores some of the more esoteric details of implementing a VMSERVE driven application.

Title: Rexx Telephony
Speaker: Lee Peedin

With the use of third party API's full Computer-Telephone Integration (CTI) can now be accomplished with REXX on the OS/2 platform.

  • Demonstration using a standard telephone to call a demo Interactive Voice Response (IVR) application.
  • Presentation of code segments that handle such telephony functions as detecting hangups, touch-tone collections, playing of prompts, etc.
  • Presentation of code segments that handle BTrieve file access using an additional third party API.
  • Presentation of code segments that extracts collected data from BTrieve files, thens creates an FTP 'put' request.
  • Presentation of code segments that pick up the FTP 'put' request and does the FTP of the file (Win/98 System).
  • Discussion of how the internet is now being used to 'mirror' these IVR applications using a Client/Server program written in Object REXX and using REXX Sockets (Win/NT Server).
  • Demonstration using the internet to input & retrieve real time data into BTrieve files.
  • Presentation of code that retrieves data from a BTrieve file, opens an existing MSWord document, finds the end of the document, inserts the extracted data, saves the MSWord document with a different name, then creates an email request with the new document attached. Discussion of how the email request is picked up and then sent.

Title: Rexx coding style guidelines
Speaker: Les Koehler

Over the years the author has developed a coding style that leads to better readability, easier maintenance and more bullet-proof code.

Although 'style' is almost a religion amongst programmers, this presentation should at least provide some food for thought.
Papers: PDF of Slides

Title: Everything you want to know about the Rexx Parse Instruction
Speaker: Chip Davis

A brief overview of the Parse command will be provided. More advanced topics related to Parse will be discussed including advanced Parse techniques and common pitfalls when using Parse.

Title: The New NetRexx Interpreter Implementation
Speaker: Mike Cowlishaw

NetRexx, the Rexx language for the Java platform, was designed to be suitable for interpretation as well as compilation. With recent enhancements to the Java API, it has been possible to complete the implementation of the NetRexx translator-interpreter. This can now be used to create compiled class files, interpret NetRexx source programs directly, or both. This talk will briefly review the features of the NetRexx language and will then describe in detail the implementation of the interpreter, including the overall design, information on how to use it, and the difficulties that had to be overcome in order to complete the implementation.

Papers: PDF of Slides

Title: Tips and Tricks with VisPro/Rexx
Speaker: Wayne Swanson

This is a Warptech session! It will be held in Aztec C room. Rexx Symposium badge holders can attend this Warptech session.

The session will base its work in the VisPro/Rexx development environment on the OS/2 platform. In this session we will build several items. To start, we'll build a pair of toolbars. One toolbar will consist of graphic buttons where the key element of the work is sizing and positioning. The second toolbar will consist of roll-over graphics that will appear for all intents and purposes like the roll-over buttons we are all familiar with in Netscape, etc. We will then be adding a simple bubble help to one of the toolbars and following that will build a global directory container. The common thread in all of these controls is how we can harness some of the power available in the rexx stem variable. If time permits, there will be a short introduction to adding a plugin interface to a VisPro/Rexx based application (should work for other environments also) that allows user interaction with your programs via rexx based scripts.

Title: Extending the Workplace Shell with Object REXX
Speaker: Dr. Rony G. Flatscher

In this session, we will create a password protected WPS-folder using Object Rexx, while we explain the installed Object Rexx support for the WPS. We will also demonstrate how you can deduce new animals from those pre-created by C programs (specializing SOM-classes with Object Rexx).

Papers: PDF of Slides (Introduction to Object Rexx)
PDF of Slider (WPS Support)

The Rexx Symposium is sponsored by the Rexx Language Association, http://www.rexxla.org. Send questions about the Rexx Language Association to info@rexxla.org.

Symposium Committee: Chip Davis, Tom Brawn, Lee Peedin, J.D. Hill, Michael Goss, Gwen L. Veneskey.

Date: 2000-05-17