Following are summaries of the presentations from the 8th International Rexx Symposium, which was held in Heidelberg, Germany from April 22 - 24, 1997. The summaries were written by Jenny Szawlewicz of IBM in Raleigh, NC. Dave Martin -- IBM Raleigh, NC Dave Martin of IBM Global Services spoke briefly about the the POP (Post Office Protocol) Server program that he wrote. Post Office Protocol defines a series of commands that a POP client may use to interact with a POP server. A POP server interacts with a mail client to deliver mail that has been received via TCP/IP (specifically via SMTP). There are a number of POP mail clients available for just about every operating system that is available today. If you have an account with an ISP (Internet Service Provider) chances are very good that your mail is delivered to you from a POP server. Dave's POP server program, OS2POPS V2, was written in OS/2 Rexx with VX-Rexx. Dave talked about the issues involved when writing an interrupt-driven, multithreaded application such as his server program. Dave also stated that his program running on a 60MHz Pentium machine can handle 900 clients at the rate of 2 or 3 clients a second. For information on the OS2POPS V2 program, see the OS2POPS web page. Ingo Holder -- IBM Boeblingen, Germany Ingo Holder of the IBM REXX Development group presented an Introduction to Object REXX Programming. This presentation first defined some basic Object Oriented terminology and concepts, including:
Ingo then presented several Object REXX coding examples which illustrated the above concepts:
The presentation then briefly described a few of the collection classes provided by Object REXX: the Array, Bag, and List classes. For more information on Object REXX, see the Object Rexx homepage The sample programs and a Postscript version of the presentation are available from the above homepage. Kurt Maerker -- IBM Boeblingen, Germany Kurt Maerker of the IBM REXX Development group followed the Introduction to Object REXX Programming presentation with a discussion of Advanced Object REXX programming. This tutorial covered the following topics:
Kurt then executed a few programs that demonstrated the concurrency features of Object REXX. For more information on Object REXX, see the Object Rexx homepage The sample programs and a Postscript version of the tutorial are available from the above homepage. Mike Cowlishaw -- IBM Hursley, England Mike Cowlishaw, IBM Fellow and author of Rexx, presented a NetRexx Update. This presentation was a follow-on to Mike's presentations on NetRexx at last year's Symposium. NetRexx is a new version of Rexx that Mike has written for the Internet. It allows programmers to create applications and applets for the Java environment faster and more easily than by coding in Java. At this time, more than 15,000 people have downloaded the reference implementation of NetRexx. At a glance, NetRexx is a blend of Rexx and Java for the Java Virtual Machine. NetRexx:
The current implementation of NetRexx translates NetRexx to Java source code, which is then run through a Java compiler. NetRexx, like Java, produces a .class file which can then be run on a Java Virtual Machine. Any class written in Java can be used from NetRexx. Any class written in NetRexx can be used from Java. Mike discussed some of the activities that are occurring with NetRexx:
Finally, Mike mentioned that it took 12 years to get (classic) Rexx on 8 platforms. It took 3 weeks to get NetRexx on 8 platforms! For more information on NetRexx, see Mike's NetRexx homepage Chip Davis -- Aresti Systems Raleigh, NC Chip Davis gave a talk entitled NetRexx for Dinosaurs (Rexx to NetRexx). His message was that NetRexx provides an easy entry to the hot new world of Java, especially for those who have yet to make the transition to object-oriented programming. NetRexx leverages your Rexx experience to the extent that the thrust of Chip's talk was "What's the least I have to know to use it?" After establishing his credentials as a mainframe dinosaur himself, Chip showed an example of a Java program and its NetRexx equivalent; the NetRexx code was smaller and clearer. This example was then used to indicate those areas where NetRexx differed from Classic Rexx. In many cases, the differences were improvements to the language that had been requested by Rexx programmers for years. Where a change was required by Java or the O-O paradigm, it was implemented in a Rexx-like manner, that is, programmer-friendly and Rexx-consistent. Chip concluded by encouraging Classic Rexx programmers to try NetRexx and explore the exciting new world of Java. Simon Nash -- IBM Hursley, England Simon Nash, of the IBM Centre for Java Technology Development and the author of Object REXX, spoke about CORBA, SOM, and where Java and NetRexx fit in a discussion of these standards. SOM, IBM's System Object Model, is a language-neutral object model which complies with CORBA. CORBA (Common Object Request Broker Architecture) is a language-neutral standard which allows different vendors to develop objects to one standard. The go CORBA is to distribute objects on different platforms. The current list of supported languages for SOM follows:
Simon talked about directions for SOM, such as the move towards complying with the CORBA 2.0 standard and cross-language object interoperability. The next version of SOM, which will run in parallel with the current version, will support the following:
Since NetRexx creates Java classes, NetRexx will also be supported by the next release of SOM. After he spoke, Simon gave a "world premiere" demo of the new version of SOM. Ingo Holder -- IBM Boeblingen, Germany Ingo Holder of the IBM REXX Development group presented Software Development with Object REXX on Windows Platforms. Ingo introduced a new product, the Object REXX Development Edition, which will be available in late May. This product will allow developers to create Windows dialogs with Object REXX. The Object REXX Development Edition will run on Windows 95 and Windows NT. It will include:
Some detail on a few of the above items:
Ingo demonstrated the creation and execution of an OODialog application. The Object REXX Dialog Class Library is used in the creation of an OODialog application. For more information, see the Object Rexx homepage Mark Hessling -- QCOM Pty Ltd. Brisbane, Australia Mark Hessling, author of THE, PDCurses, and Rexx/SQL, discussed and demonstrated a freeware package that he wrote, Rexx/SQL. This is a package of external functions for most Rexx implementations on Unix, OS/2 and Windows 95/NT. Rexx/SQL permits access to SQL databases. It permits multiple connections to multiple databases from multiple vendors in one program. Rexx/SQL provides:
Supported databases include:
For more information on Rexx/SQL, see Mark's homepage Kurt Maerker -- IBM Boeblingen, Germany Kurt Maerker of the IBM REXX Development group presented Netcentric Programming with Object REXX Using TCP/IP Sockets for Heterogeneous Systems Platforms. This presentation discussed various capabilities of REXX to create TCP/IP client/server connections (through the use of stream sockets).
TCP/IP socket capabilities are provided in "procedural" REXX through the RxSocket interface, an external function package available as a dynamically loadable library RXSOCK which can be activated with:
These TCP/IP socket capabilities are provided in Object REXX through an Object Oriented Sockets Framework which defines the tcpSocket Class for stream sockets being based on the RxSocket function API above. Based on the tcpSocket class of the Sockets framework two frameworks are built, a Servers and a Clients framework, providing the base for the tcpServer and the tcpClient class. These were used to build sample client/server applications with increasing complexity. Different types of client-to-server connections were discussed and demonstrated:
For more information on TCP/IP socket programming with REXX, see theObject Rexx homepage The frameworks, the sample programs, and a brief description are available from the above homepage. Anders Christensen -- Norwegian University of Science and Technology Trondheim, Norway Anders Christensen, the author of Regina (a Unix version of Rexx), spoke about The Problems of Automatic Translation between Rexx and Perl. This talk was based on Anders' experiences with a prototype for translation from Rexx to Perl. Perl is more complex than Rexx, which means that translating from Perl to Rexx is far more difficult than vice versa. In fact, Anders contended that a true Perl-to-Rexx translation that handles all cases and programs is virtually impossible. A few features found in Perl that are difficult to translate to Rexx:
Since Perl is more complex than Rexx, it might be easier to automatically translate from Rexx to Perl. However, Anders spoke about several features of Rexx which are difficult to automatically translate to Perl:
Anders spoke about several approaches that might be used to accomplish a translation from Rexx to Perl, but concluded that because of some of the above obstacles, none of the approaches would produce a realistic solution. Anders concluded that if you want to translate between Rexx and Perl, you should dig into the logic and semantics of the given program and rewrite it in the other language. Peter Kunkel -- IBM Boeblingen, Germany Peter Kunkel of the IBM REXX Development group presented News From the REXX Compiler and Run Time Library. The REXX Compiler (which is available on MVS and VM) produces executable compiler output consisting of REXX Run Time Library calls. The REXX Run Time Library is the processor of the compiled REXX program, and the REXX Alternate Run Time Library is the interface to the REXX System Interpreter. The REXX Compiler and Run Time Library provide:
Enhancements and fixes available for the REXX Compiler and Run Time Library:
The APARS which describe these enhancements are:
There will also be a new format of the date built-in function to handle Y2000. It will soon be available and is addressed by the following APARs:
Enhancements planned in 1997:
To contact the REXX Compiler and Run Time Library Change Team:
Rony Flatscher -- Vienna University of Business Administration and Economics Vienna, Austria Rony Flatscher of the MIS Department, Vienna University of Business Administration and Economics, spoke about Utility Routines and Utility Classes for Object Rexx. Rony spoke about several routines, classes, and methods that he has written for Object Rexx. A listing of some of Rony's examples follows:
Rony provided more detail on these routines and classes and spoke about some of the implementation issues. Rony's code should be available on hobbes (OS/2 section), ftp.cdrom.com, and leo in Germany. Jocelyn Paine -- Oxford University, Institute for Fiscal Studies, and KB7 London, England Jocelyn Paine of Oxford University, Institute for Fiscal Studies, London, and KB7, spoke about Web-O-Matic/Rexx. Web-O-Matic/Rexx (WOM), a tool that Jocelyn wrote, is a language, compiler, and run-time system which builds interactive Web applications without CGI programming. An author using WOM writes interactive pages in HTML extended with special tags. The WOM compiler translates the pages into Object Rexx class definitions, and the tags into references to other classes and their attributes. Each class knows how to display itself as HTML, and the class definitions can be instantiated and run by a server which will send the HTML back to a client. The WOM-created pages can interact with each other and update themselves -- these functions are controlled by Object Rexx code inserts. At the Institute for Fiscal Studies, Web-O-Matic/Rexx is being used to create a Web application for teaching economics, called "Taxes and Benefits on the Web". Jocelyn demonstrated this during his talk, showing how the pages could perform functions such as dynamically updating frames and menus, connecting to DB2, and error-checking the user's input. The motivation for Web-O-Matic/Rexx arose from two earlier interactive Web applications called "Be Your Own Chancellor" and "Budget 96". These were built using conventional CGI programming, and though very successful, showed how difficult it can become to use CGI in large applications. Web-O-Matic/Rexx is based on System Limit Programming, a new programming formalism for building systems of interacting objects -- here, these are Web pages and their components. For information on Web-O-Matic/Rexx, see Jocelyn's Web homepage Brian Marks -- Chair Rexx ANSI Working Group Hursley, England Brian Marks spoke about the status of the ANSI standard for Rexx. The process that leads to ANSI standards is effectively funded by the institutions, and sometimes individuals, that send people to meetings. The committee for Rexx standardization met several times a year from 1991 to 1994 to produce a draft. The period of public review and the period taken by the ANSI publications department has meant that the standard for Rexx formally appeared in 1996. No implementations of the standard have been announced. However, innovative parts of the standard such as error messages with subcodes and date conversions have been implemented in products. The committee continues to work, with a view to a second standard that would be object oriented. Currently, this entails examination of the components of Object REXX and NetRexx to classify parts which have no overlap, parts which can complement one another, and parts which can only be alternatives. For more information on the ANSI standard for Rexx, see the Rexx ANSI homepage Chip Davis -- Aresti Systems Raleigh, NC Chip Davis spoke about new developments in the Rexx Language Association (RexxLA). He made several announcements and turned the floor over to a discussion of what members wanted from such an organization. The following announcements were made:
An informal discussion ensued, ranging over the following major topics:
Chip closed with a request that everyone check out the webpage and contact him if interested in helping out. Dave Renshaw -- IBM Hursley, England Dave Renshaw of the IBM Centre for Java Technology Development gave an Overview of Java and JavaBeans. Java, developed at Sun Microsystems, is:
Java was designed to be small, portable, fast, and safe:
With a Java-enabled Web browser, you can run Java applets in Web pages:
A JavaBean is a reusable software component that can be manipulated visually in a builder tool. For more information, see the following Web homepages:
Dave Renshaw -- IBM Hursley, England Dave Renshaw of the IBM Centre for Java Technology Development followed the Overview of Java and JavaBeans with Creating JavaBeans in Java and NetRexx. A JavaBean is simply a Java class which conforms to particular design patterns. Dave presented code snippets in both Java and NetRexx to illustrate:
The "BeanInfo" class is an optional addition to any bean which:
For more information, see the following Web homepages: Max Marsiglietti -- PC Magazine Modena, Italy Max Marsiglietti, who is a contributing writer for PC Magazine in Italy, talked about two extensions that he has written for NetRexx: RXFile and RXDbase. RXFile is a bridge between classic Rexx/Object Rexx and NetRexx. It is file I/O freeware that can be used to do TCP/IP networking and IPC (Inter Process Communication). A few examples of things that can be done with RXFile:
RXDbase is a simple database class that allows you to work with ASCII-based, ISAM-indexed databases. It also comes with MaxBase, a graphical (AWT-based) application that manages databases and database contents. It is coded in NetRexx, so it doesn't have machine-specific code, and should run on every Java enabled platform (but tests have been done only on OS/2 and Win32). RXDbase is available from Max's homepage (listed below). MaxBase comes with applications which allow people to
MaxBase/RXDbase is a product which is currently shipping and supported for two platforms; due to the productivity provided by NetRexx, Max was able to create these packages in a short period of time. Max also briefly demo'd another tool that he is working on: Visual NetRexx for Java, which will be an IDE with a debugger and a class browser for the NetRexx language. Since Max is working with others on this tool, he didn't comment on the visual browser portion or on the projected availability. For more information on RXFile, see the following Web homepage:
|