Search code examples
securityfilesystemsmainframenfs

How does IBM's RDZ running on a PC access the mainframe's file system?


I hear repeatedly that while NFS-style files systems are available on IBM mainframes, they are often not enabled, presumably to minimize the security risks of the mainframe vis-a-vis the rest of the world.

Given that I'd like to produce PC-based tools that reach out and process files on the mainframe, this makes a simple problem ("open NFS file '\mainframe\foo'") much harder; what can I count on to provide file system access in a networked enviroment? (Linux systems offer NFS via Samba pretty much as standard, so this is easy).

IBM offers Rational Developer for Z, an Eclipse variant used by IBM COBOL programmers. RDZ seems to have direct access to the IBM mainframe file system. What are they using to do that? Why isn't that available to me, and if it is, what is it?


Solution

  • RDz has a started task (a daemon in UNIX-speak) which runs on the z/OS host and accepts connections from the Eclipse plug-in. The protocol is proprietary so you're unlikely to be able to find out any information about it.

    And RDz isn't just for COBOL programmers. It's used in many shops where people want to store all their source code on the mainframe - why maintain two separate repositories? That's why it has those longname/shortname and ASCII/EBCDIC translations to turn those ungodly Java paths into our beautifully elegant 8-character member names and allow us to read it under z/OS, although the ISPF editor's "source ascii" command has alleviated that last concern somewhat.

    If you want to do a similar thing, you'll need to code up your own started task to accept incoming connections from your clients. This isn't as hard as it sounds. You'll actually be doing it in a UNIX environment since USS (UNIX System Services, the renamed OpenMVS) comes with z/OS as part of the Base Operating System software. And it allows you to access both USS files and z/OS datasets/members transparently.

    Then, you'll need to convince the mainframe shops that your started task is not a security risk. Let me know how that works out for you :-)

    You may find it easier to just make NFS a pre-requisite of your software. Then, at least, it's IBM's security problem, not yours.