This is a reprint of an article that first appeared in Enterprise Open Source Journal Mar/Apl 2006, pg.42, © 2006 by Howard Fosdick—
Previously I’ve discussed how IT organizations are capitalizing on open source scripting languages. These languages offer the flexibility and productivity associated with interpreters while fitting the new open-source, web-based paradigm for software support and community. Having looked at the KornShell and Perl previously, we’ll wrap up our tour with Open Object Rexx.
Open Object Rexx, or ooRexx as it’s called, is an interesting creature that’s received a lot of attention. Shortly after its introduction in April 2005, it garnered 24,000 downloads on the SourceForge web site… enough to place it in the top 3% of all downloads last spring. What’s up with that?
ooRexx was developed at IBM ten years ago as a superset of their Rexx scripting language. Procedural Rexx – now called “classic Rexx” – runs on any imaginable platform, and predominates on several. The language gained an ANSI standard in 1996. If one were to summarize Rexx in a phrase, “easy to code yet powerful” would be it. Rexx bases its power in clean, simple syntax. This contrasts to languages that evolved out of the Unix tradition, like the KornShell or Perl.
ooRexx adds object-oriented features to classic Rexx for object-oriented scripting. These include classes, messaging, single and multiple inheritance, encapsulation and data hiding, operator overloading and polymorphism and a large class library.
IBM open-sourced ooRexx in December 2004. The Rexx Language Association took over development and support. The “RexxLA” has since repackaged the product for Linux, Windows, and Unix. You can find the language and its documentation at the new ooRexx web site at www.oorexx.org.
The key to ooRexx’s success is that it extends classic Rexx into object-oriented programming while maintaining 100% compatibility with standard Rexx. Any classic Rexx script runs, without change, under ooRexx. This yields portable scripts and transferable staff skills.
Most mainframe and former OS/2 and Amiga developers know classic Rexx. With ooRexx they can transition to object-oriented scripting at their own pace. Write traditional procedural scripts, then add a few object-oriented features as desired. Switch completely to the object-oriented paradigm over time. Any programming problem that is best addressed procedurally can still be coded procedurally.
Open Object Rexx applies Rexx's ease of use to object-oriented scripting. This offers all the benefits claimed for object-oriented programming:
ooRexx leverages the many free Rexx tools available on the web. The language is extensible in that you code and use classes and functions in external packages just like those included in the core language. ooRexx comes complete with several tools including:
On the Windows platform, ooRexx integrates with key operating system features. These include ActiveX and Object Linking and Embedding (OLE), Windows Script Host (WSH), Active Directory Services Interfaces (ADSI), and Windows Management Instrumentation (WMI). WSH support allows you to write Windows system administration scripts with ooRexx. Microsoft posts over 120 example ooRexx sysadm scripts for free download.
ooRexx combines easy object-oriented scripting with real power. Find further information at the Rexx Info web site at www.RexxInfo.org and at the ooRexx web site at www.oorexx.org.
- - - - - - - - - - - - - - - -
Howard Fosdick is the author of the Rexx Programmer’s Reference, a new book that covers scripting for Windows, Linux, mainframes, and handhelds; Open Object Rexx, and the major Rexx tools and interfaces.