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.