I do a lot of work with Web sites and people are often talking about using a CMS to make it easier to upload and place content. For them, CMS stands for Content Management System, but I thought it would be fun to revisit Conversational Monitor System – one of the first virtual machines that people really enjoyed using because of its flexibility and functionality.
Our story starts in the mid-1960s at IBM’s Cambridge Scientific Center, where CMS – then called Cambridge Monitor System – first saw the light of day running under CP-40, a VM-like control program, which then developed into CP-67. It provided a way of giving every user the appearance of working on their own computer system. So, every user had their own terminal (the system console for their system) as if they had their own processor, unit record device (what we’d call a printer, card reader, and card punch), and DASD (disk space). The control program looked after the real resources and allocated them, as required, to the users.
In 1972, when IBM released its 370-architecture machine, a new version of VM called VM/370 became available. Unlike CP/CMS, IBM supported VM/370 and CMS retained its initials, but was now known as Conversational Monitor System – highlighting its interactive nature. This commercial product also included RSCS (Remote Spooling Communication Subsystem) and IPCS (Interactive Problem Control System), which ran under CMS.
VM itself was originally not very popular within IBM, but, through quite an interesting story, survived. VM/370 became VM/SE and then VM/SP. There was also a low-end variant called VM/IS. Then there was VM/SP HPO before we had VM/XA SF, VM/XA SP, then VM/ESA, and now z/VM.
But returning to CMS, it was popular because you could do so much with it. You could develop, debug, and run programs, manage data files, communicate with other systems or users, and much more. When you start (IPL CMS) CMS, it loads a profile exec, which sets up your virtual environment in exactly the way that you want it to be.
Two products that made CMS users very happy were PROFS and REXX. PROFS (PRofessional OFfice System) became available in 1981 and was originally developed by IBM in Dallas, in conjunction with Amoco. It provided e-mail, shared calendars, and shared document storage and management. It was so popular that it was renamed OfficeVision and ported to other platforms. OfficeVision/VM was dropped in 2003, with IBM recommending that users migrate to Lotus Notes and Domino, which it had acquired by taking over Lotus.
REXX (Restructured Extended Executor) is an interpreted programming language developed by Mike Cowlishaw and released by IBM in 1982. It is a structured, high-level programming language that's very easy to get the hang of. In fact, it was so popular, that it was ported to most other platforms. REXX programs are often called REXX EXECs because it replaced EXEC and EXEC2 as the command language of choice.
CMS users will remember XEDIT, which is an edit program written by Xavier de Lamberterie that was released in 1980. XEDIT supports automatic line numbers, and many of the commands operate on blocks of lines. The command line allows user to type editor commands. It replaced EDIT SP as the standard editor. Again, XEDIT was very popular and ported to other platforms.
CMS provided a way to maximize the number of people who could concurrently use mainframe facilities at a time when these facilities were fairly restricted. It was a hugely successful environment, spawning tools that themselves were ported to other platforms because they were so successful. I used CMS and VM a lot back in the day, and even wrote two books about VM. Like many users, I have very fond memories of using CMS and what could be achieved by using CMS.
Showing posts with label CMS. Show all posts
Showing posts with label CMS. Show all posts
Sunday, 8 June 2014
Sunday, 9 March 2014
REXX - the wonder program!
REXX (REXX or Rexx) has been around since the early 80s. I first came across it in the mid-80s, when sites were beginning to use it with VM and CMS as a powerful replacement for EXECs. I thought it would be interesting to take a look at this venerable, but still powerful tool in the system programmer’s toolkit.
Amazingly, REXX wasn’t written as an IBM project, it was written by IBMer Mike Cowlishaw in his own time in Assembler. It was designed as a macro or scripting language and was based on PL/I. It first saw the light of day at SHARE in 1981, and became a full IBM product in 1982.
IBM has implemented REXX on VM, MVS, VSE, CICS, AIX, and AS/400s, and on subsequent products. There are even versions available for Java, Windows, and Linux. A compiled version for CMS became available in 1987 and was written by Lundin and Woodruff.
REXX was so popular that versions were developed for other platforms, including Unix, Solaris, Apple Mac OS X, OpenVMS, and lots of others. There’s also NetRexx, which compiles to Java byte code, and ObjectREXX, which is an object-oriented version of REXX.
In 2005, Open Object Rexx (ooRexx) was announced. It has a Windows Script Host (WSH) scripting engine. So code can be written for Windows. It also has a command line Rexx interpreter.
Those of you who use the ZEN family of products from William Data Systems will be interested to know that ZEN Rexx, formerly available with ZEN’s AUTOMATION component, has now been made available to all WDS customers through the base ZEN component.
ZEN’s Rexx support comprises: a ZEN Rexx Interface; a ZEN Rexx Function Pack; and a command interface. The ZEN Rexx Interface provides support for running Rexx programs under ZEN in a similar way to running Rexx programs under TSO or Netview. You can also run ZEN Rexx programs using a Modify (F) command from the z/OS console. Under ZEN, Rexx programs can be run from the ZEN Profile at initialization time, from the Command Facility and System Log panels, or from a user-defined ZEN menu item.
The ZEN Rexx Function Pack provides extensions to standard REXX through which users can communicate directly with ZEN. The command interface enables users to issue commands from their ZEN Rexx programs and get any responses back. This means that commands provided by their WDS ZEN components can be issued from a ZEN Rexx program, as well as any z/OS, VTAM, or other product command.
REXX may have had humble beginnings, with Mike Cowlishaw working in his own time, but it has gone on to conquer the world (metaphorically) and is now in regular use, in different incarnations, on just about every platform imaginable, including your smartphone and tablet.
Amazingly, REXX wasn’t written as an IBM project, it was written by IBMer Mike Cowlishaw in his own time in Assembler. It was designed as a macro or scripting language and was based on PL/I. It first saw the light of day at SHARE in 1981, and became a full IBM product in 1982.
IBM has implemented REXX on VM, MVS, VSE, CICS, AIX, and AS/400s, and on subsequent products. There are even versions available for Java, Windows, and Linux. A compiled version for CMS became available in 1987 and was written by Lundin and Woodruff.
REXX was so popular that versions were developed for other platforms, including Unix, Solaris, Apple Mac OS X, OpenVMS, and lots of others. There’s also NetRexx, which compiles to Java byte code, and ObjectREXX, which is an object-oriented version of REXX.
In 2005, Open Object Rexx (ooRexx) was announced. It has a Windows Script Host (WSH) scripting engine. So code can be written for Windows. It also has a command line Rexx interpreter.
Those of you who use the ZEN family of products from William Data Systems will be interested to know that ZEN Rexx, formerly available with ZEN’s AUTOMATION component, has now been made available to all WDS customers through the base ZEN component.
ZEN’s Rexx support comprises: a ZEN Rexx Interface; a ZEN Rexx Function Pack; and a command interface. The ZEN Rexx Interface provides support for running Rexx programs under ZEN in a similar way to running Rexx programs under TSO or Netview. You can also run ZEN Rexx programs using a Modify (F) command from the z/OS console. Under ZEN, Rexx programs can be run from the ZEN Profile at initialization time, from the Command Facility and System Log panels, or from a user-defined ZEN menu item.
The ZEN Rexx Function Pack provides extensions to standard REXX through which users can communicate directly with ZEN. The command interface enables users to issue commands from their ZEN Rexx programs and get any responses back. This means that commands provided by their WDS ZEN components can be issued from a ZEN Rexx program, as well as any z/OS, VTAM, or other product command.
REXX may have had humble beginnings, with Mike Cowlishaw working in his own time, but it has gone on to conquer the world (metaphorically) and is now in regular use, in different incarnations, on just about every platform imaginable, including your smartphone and tablet.
Subscribe to:
Posts (Atom)