The 2005 International Rexx Symposium
18 - 21 April 2005
Redondo Beach, California, USA

Sponsored by the Rexx Language Association

A B S T R A C T S

"Welcome Open Object Rexx!"


Title Open Object Rexx Documentation
Speaker David Ashley
Abstract

This presentation will introduce the new Open Object Rexx Documentation.   It will give a little history on the old IBM documentation and introduce the new DocBook source files.   The DocBook markup tag language will be discussed as well as the build mechanism for all the documentation.

Papers HTML slides

Title Open Object Rexx RxFtp Class
Speaker David Ashley
Abstract

This presentation will introduce the replacement for the IBM RxFtp External Function Library - the RxFtp Class.   It will introduce the class and all of the available methods.

Papers HTML slides

Title Visual SlickEdit with Rexx
Speaker Gil Barmwater
Abstract

Visual SlickEdit, an advanced code editor and/or a stand-alone development environment, has long included support for Rexx but work by several RexxLA members has enhanced that support and extended it for ObjectREXX/oorexx.   This talk will introduce the basic Rexx support that comes with the product and demonstrate the enhancements and extensions that have been developed.

Papers PDF of slides

Title What's Right with Rexx: Can Rexx Be Used for General Application Development?
Speaker Gil Barmwater
Abstract

We've all heard the comments about programming in Rexx like "It's just a scripting language", "Isn't that a Mainframe language?", or "But Rexx is different".   During this discussion, we will attempt to provide good rebuttals to those comments and see if we can determine the suitability of Rexx for general application program development in today's IT environment.

Papers PDF of slides

Title ADL3 - a REXX-based application server
Speaker Don Bourdage
Abstract

ADL3 is written completely in REXX, using REGINA as the implementation language.   The system is a complete application server, integrating an http server, a mail list manager and several tools, including a tool to create PDF/HTML data.   The system is designed in a platform independent way, with an initial implementation under windows.

Papers PDF of slides

Title Weekend Wiki (or how to get organized)
Speaker Mike Cowlishaw
Abstract

Wikis are not only easy to use but they are also easy to write -- if you write them in Rexx.

This winter, I decided to organize my projects under a Wiki, but the ones available somehow didn't quite fit the bill (they didn't handle references and papers, and most hold their data in proprietary database formats; I wanted to use plain-text files).   So, I invested a weekend into writing my own, and it has been in constant use since then.

In this talk I'll cover the key ingredients of a Wiki, illustrated by demonstrations of my new one, examples of the code, and some Rexx coding hints and tips that helped make it easy.   With this information and a knowledge of basic HTML, you might want to write your own, too.

Papers PDF of slides

Title May the Parse Be With You
Speaker Chip Davis
Abstract

The perennial Parse tutorial.

Papers PDF of slides

Title Automating OpenOffice with ooRexx: ooRexx Nutshell Examples for Write and Calc
Speaker Rony Flatscher
Abstract

The opensource Microsoft Office clone "OpenOffice" is available on multiple platforms, from Windows, over Linux to OS/2.   It can read/write Microsoft office file-formats, such as Word, Excel or PowerPoint.   Its scripting architecture is radically different from what Microsoft has come up with and appears to be more systematic, although there is a rather steep learning curve to it.

This talk will give numerous little "nutshell" examples of driving OpenOffice via ooRexx.   All the examples will run unaltered under Linux and Windows.

Papers PDF of slides
Sample Programs

Title Automating OpenOffice with ooRexx: Architecture, Gluing to Rexx Using BSF4Rexx
Speaker Rony Flatscher
Abstract

The opensource Microsoft Office clone "OpenOffice" is available on multiple platforms, from Windows, over Linux to OS/2.   It can read/write Microsoft office file-formats, such as Word, Excel or PowerPoint.   Its scripting architecture is radically different from what Microsoft has come up with and appears to be more systematic, although there is a rather steep learning curve to it.

The architecture of OpenOffice is exposed via the UNO (Uniform Network Objects) interface, which allows C, C++ and Python programs to exploit OpenOffice.   On the Windows platform there is an ActiveX/OLE-interface supplied, such that ActiveX-script languages like VBS, JS, as well as ooRexx can be used for scripting purposes, but such programs will lock-in the company into the Windows operating system.

For the programming language Java, OpenOffice supplies a Java interface to UNO, which can also be exploited in rather innovative ways, e.g. using BSF4Rexx (Bean Scripting Framework for Rexx) to bridge between OpenOffice and ooRexx.   Such a solution would allow for the driving/scripting of OpenOffice in a platform independent way, allowing customers to eventually break out of possibly undesired lock-ins (e.g. Windows operating system and/or ActiveX/OLE-technology).

This talk will give a conceptual overview of OpenOffice UNO and explain in detail how UNO can get instantiated.

Papers PDF of slides

Title Tutorial: Leaping From Classic to Object
Speaker Rony Flatscher
Abstract
  • Part I: "From Classic Rexx to Open Object Rexx (ooRexx)"

    ooRexx is backwardly compatible with "classic" Rexx. Therefore it is possible to develop and run Rexx programs which do not take advantage of ooRexx new features. But having ooRexx on one's computer makes one curious whether there are features made available which are worthwhile to be explored by "classic Rexx" aficionados.

    This tutorial will introduce the extensions of ooRexx which are of immediate use for "classic Rexx" coders. In addition it gives a brief introduction into the ability to define your own datatypes with the means made available by "OO". After having attended this tutorial as a "classic Rexx" programmer you will have a *much* better handle on what "OO" is really about and what it can do for you, even if you consider yourself to be an eternal "classic Rexx" type only. Come and see for yourself...


  • Part II: "Beyond Rexx: Exploring with ooRexx New Frontiers, where no Rexx Coder Has Gone Before..."

    The audience has a choice of:

    1. Choice: "Remote-Controlling (OLE, ActiveX) of Windows (Applications) with ooRexx"
      or: "Object Rexx and Windows Automation Interfaces"

      In the Windows world "scripting", that is, remote controlling Windows and Windows applications, is usually done via the COM-based OLE/ActiveX Automation Interfaces. Unfortunately, many times the documentation of the available interfaces is either not available or in a form which does not serve very well as a reference for Object Rexx programmers.

      Usually, the available OLE/ActiveX-interfaces can be interrogated at runtime and therefore it becomes possible to detect the interfaces (functions/methods with their signatures and return values as well as interceptable events). This talk describes the architecture of a set of Object Rexx programs for interrogating and rendering the documented interfaces into HTML employing CSS and embedding Object Rexx code. For non-Object Rexx programmers, a Windows Script Component (WSC) is created, which allows e.g. C++, Visual Basic (Script) programmers to employ this particular functionality, carried out in Object Rexx.

      Among other things, it will demonstrate how the Internet Explorer is used as a GUI for choosing OLE/ActiveX-automation classes derived from the Windows registry, as well as JScript and VBScript programs which invoke the Object Rexx routines via WSC supplying OLE/ActiveX objects to be analyzed.


    2. Choice: "Automation of Java with ooRexx (BSF4Rexx)"
      or: "Camouflaging Java as Object Rexx"

      The Java runtime environment (JRE) is available for practical every operating system in the world and installed on most computers. The functionality of the Java classes that build the JRE has been constantly updated to reflect the advances in the software technology thereby making bleeding edge software concepts available to Java programmers. For that reason the JRE has been an attractive target for making its functionality available to Rexx programs in the form of external Rexx functions, notably with the BSF4Rexx (Bean Scripting Framework for Rexx) technology introduced at past International Rexx Symposiae. BSF4Rexx supplies a procedural interface to Java, such that Rexx programs need to simply use CALL-statements or function-calls to bridge into Java.

      As Object Rexx is object-oriented, an object-oriented interface to Java may be desirable as this may reduce the complexity to refer to Java . This talk introduces and discusses the architecture and the implementation of Object Rexx wrapper classes that hide the procedural interfaces from Object Rexx programmers by embedding the procedural interfaces of BSF4Rexx in Object Rexx methods, allowing e.g. the invocation of Java methods transparently via Object Rexx messages.

      Among other things demonstrated will be how Java objects are created and sent messages to interactively via a keyboard using the Rexx "rexxtry.rex" program in a command line interface.


    3. Choice: "Creating Client Side Programs with ooRexx on Windows (DHTML)"
      or: "Overview of the Document Object Model (DOM) a.k.a. DHTML Under Windows"

      With the ubiquitousness of the World Wide Web (WWW) its document format "Hypertext Markup Language" (HTML) and the one of its planned successor "Extensible Markup Language" (XML) have become so important that interacting with applications processing such text became a necessity. In the past years the World Wide Web consortium has created a set of application programming interfaces which allow programmers to manipulate the structure and content of HTML and/or XML files.

      In the case of WWW browsers this allows for creating programmatically dynamic interfaces which can get changed on the fly while the user sits in front of the browser displaying those files and or interfacing with the browser with the keyboard and/or mouse: the "Document Object Model" (DOM), dubbed "dynamic HTML" (DHTML) by Microsoft. This talks gives a conceptual overview about the architectural principles of HTML/XML and the role of "Cascading Style Sheets" (CSS) in this context. Building on these grounds the DOM is introduced and Object Rexx examples under Microsoft's Internet Explorer (a Windows Scripting Host application) are created to stress some of the most important features of DOM.


  • Part III: "Whatever you wanted to know about ooRexx, but have never dared to ask..."

    Query and Answer (Q&A) part of the tutorial. Please ask any - even the dumbest! - question that you have! Ask me what you have been wondering about all along.

Papers PDF of slides
Sample Programs

Title Marketing Rexx
Speaker Howard Fosdick
Abstract

Rexx is one of the world's great programming languages.   There are many excellent free and open source interpreters and tools available.   Yet Rexx enjoys much less visibility than competing scripting languages and has zero mindshare in the Linux-centered open source community.

I believe we can change this.   This session presents ideas for marketing Rexx and increasing its visibility.   It also solicits ideas and feedback from the audience.   The goal is to kindle enthusiasm for increasing Rexx's visibility that ultimately leads to an action-oriented "Marketing Plan".

Papers PDF of slides

Title Business Update on IBM REXX Products
Speaker Virgil Hein
Abstract

The IBM business manager responsible for REXX will present a general business update on the product line, highlighting the current business posture as well as communicating plans for continued support and licensing agreements.

Papers PDF of slides

Title How to "Open Source" a Commercial Product
or: The View From the Other Side of the Fence
Speaker Mark Hessling
Abstract

This talk will complement the talk "From Object REXX to ooRexx" presented by Manfred Schweizer and Uwe Berger.   It is intended to provide an insight into the work that has gone into the ooRexx project from the RexxLA's perspective.   It will cover the timeframe from the 2004 Rexx Symposium where IBM announced their intention to "Open Source" Object REXX to the first public release of ooRexx.

Papers PDF of slides

Title A NetRexx Application Using Hibernate and JSF
Speaker René Jansen
Abstract

This presentation demonstrates a NetRexx application using Hibernate as persistence layer and JSF as a Web GUI.   It discusses a web portal application we are building at ABN AMRO using J2EE technology, in NetRexx, in a project called Common Reference Data.

The presentation stresses how NetRexx can be used in a quick and straightforward way to implement an enterprise-class application on the J2EE platform.

Papers PDF of slides (5mb)

Title Using ooRexx ActiveX/OLE and the RxVB.PrinterObject To Create Professional Documents
Speaker Lee Peedin
Abstract

Since ooRexx does not provide direct access to system level drivers such as those required by printers, the ability to create documents and reports is either limited to pure text files or the use of an ActiveX "aware" word processing package.   In 2002 the presenter created an ActiveX DLL that provides full access to the very powerful Visual Basic printer object.   The RxVB.PrinterObject allows the programmer to create professional documents by simply passing methods and attributes to the object.   In addition to text, the RxVB.PrinterObject provides line drawing and image addition to the finished document.

With the use of a freeware, shareware, or commercial PDF driver, the Rexx programmer can now create PDF files in a single operation.

Papers PDF of slides
Sample Programs

Title Automating Microsoft Excel Via ooRexx ActiveX/OLE
Speaker Lee Peedin
Abstract

Through the use of ooRexx ActiveX/OLE, Microsoft Excel can be automated.   This presentation demonstrates various methods such as creating a new workbook, opening an existing workbook, adding data to cells, reading data in cells, determining if a cell contains a formula or a value, changing fonts and backgrounds, creating charts, plus many more.

Several practical uses of this interface to Excel will be demonstrated.

Papers PDF of slides
Sample Programs

Title From Object REXX to ooRexx
Speaker Manfred Schweizer and Uwe Berger
Abstract

We will show the way from the very first idea about "going open source" to the final realization, and try to give answers to the following questions:

  • How did the Object REXX development team convince IBM (IBM management) to release this product to open source?
  • What was the role of the Rexx Language Association in the approval process?
  • What technical problems occurred?
  • What are the first customer reactions?
  • What does IBM expect from RexxLA with respect to ooRexx?

Any other questions are welcome... including Object REXX for OS/2.

Papers PDF of slides

Title Cross-platform TCP/IP Socket programming in REXX
Speaker Bob Stark
Abstract

TCP/IP is the key modern network technology, and the various REXX implementations have useful, if incompatible interfaces to it.   In this session, we cover writing TCP/IP clients and servers in REXX, on MVS, Win32, and UNIX platforms, and propose a workable solution to the incompatibility issues.

Papers PDF of slides
Sample programs

Title Intro to DB2 UDB Programming using REXX
Speaker Bob Stark
Abstract

In this session, we overview the various DB2 REXX interfaces available to Win32 and UNIX/Linux platforms with Regina and Object REXX, including the DB2 UDB dynamic SQL interface and the REXX/SQL interface.

Papers PDF of slides
Sample programs

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.

Updated: 20 Apr 2006 by president@rexxla.org