IBM did the AS/400 world a tremendous favor when it released the graphically oriented AS/400 Operations Navigator (OpsNav) program with its Client Access for Windows family of products. Before OpsNav, it was hard to visualize what the AS/400 Integrated File System (AS/400 IFS) was and what it could do for you. With OpsNav, IBM has given us an interactive tree diagram for understanding the AS/400 IFS as well as some additional tools for working with AS/400 IFS files and folders.
In this article, I explain what the AS/400 IFS is and how you can use it to further integrate your AS/400 into your network. I look at the different file systems that are set up in the AS/400 IFS tree structure and explain some simple applications for leveraging the AS/400 IFS in your client/server environment.
See for Yourself
IBM designed the AS/400 IFS to be a universal file access system for AS/400 users and their clients, but it was hard to visualize that support without a picture, which is now available with OpsNav. To view the AS/400 IFS for your system, click on the File Systems-Integrated File System branch of OpsNav. Youll see a screen similar to Figure 1, which I generated by using Client Access Express for Windows (Express client). OpsNav is also available with Client Access for Windows 95/NT (the Windows 95/NT client) V3R1M3 and above, but if youre using the Windows 95/NT client, I recommend using
the V3R2M0 version because that version offers the most complete support.
If you dont see the File Systems subtree in your OpsNav setup, you may have to use the Selective Setup program in your Client Access folder to install the File Systems component of OpsNav. Because someone with the proper authorities can significantly change your AS/400 file system setup with the File Systems subtree, the Client Access products do not automatically install this component, requiring you to perform an explicit install of the OpsNav File Systems function.
On the Operations Navigator screen (Figure 1), you see a number of predefined branches under the File Systems-Integrated File System subtree. These branches are the core of your AS/400 IFS system, and each particular branch (root, QOpenSys, QDLS, etc.) represents a different file system that can be accessed from AS/400 user sessions and certain network clients. The basic function of the AS/400 IFS is to provide a consistent
means of access for different types of data stored inside your AS/400 (on your OS/400 DASD, your AS/400 CD-ROM drive, or your directly attached optical library) or on another system, such as another AS/400, Windows NT, Novell NetWare, OS/2 Warp Server, or a server running the Network File System (NFS). The file types that you can access through the AS/400 IFS include the following:
Stream file data in a variety of formats, including data, images, audio, video, HTML, and other stream file data
Directories and files for UNIX-based open system standards, such as POSIX and
DB2/400 relational database files (OS/400 libraries and data) All data is stored in folders and subfolders (sometimes called directories, represented by the Integrated File System tree branches shown in OpsNav). Most of the information in these folders can be reached by AS/400 terminal sessions and batch jobs as well as by external network users who are mapping network drives or using NFS exports to these folders.
A Series of File Systems Under One Roof
At this point, you can see that the AS/400 IFS is a series of file systems that are repositories for different types of data that OS/400 users or network clients attached to the AS/400 can access. As such, you can use it to consolidate different types of storage on your AS/400, provide access to different file systems under a single AS/400 login, and maintain compatibility with different types of file systems. There are a ton of benefits once you realize that you can store and access different file systems on your AS/400. Later, I discuss some simple beneficial applications for using the AS/400 IFS, but first, I take a closer look at the type of file systems contained in the AS/400 IFS.
As shown in Figure 2, IBM includes AS/400 IFS support for both standard and nonstandard file systems. OS/400 includes standard AS/400 IFS file systems, and you dont have to purchase any additional software to use them. The most familiar standard file system is QSYS.LIB, in which all of your DB2/400 libraries, program, files, and objects are stored. When you run an RPG, CLP, or ILE C/400 program, you are working with the QSYS.LIB file system. Other standard AS/400 IFS file systems include the following:
Root (/) contains stream files and directories that have the characteristics of the DOS and OS/2 operating systems. These files also support threadsafe APIs. Web server, Java objects and applications, HTML files, and personal data are commonly stored in a root subdirectory.
QOpenSys contains a hierarchical directory structure similar to a UNIX system. QOpenSys is compatible with UNIX-based operating system standards, such as POSIX and XPG, and has many of the same characteristics of the root file system with one significant difference. The QOpenSys file system is case-sensitive, meaning it can distinguish between upper- and lowercase names when performing file searches. This means QOpenSys can use duplicate names as long as there is some difference in each names upper- and lowercase spelling. You could have two objects in this file system, one named Midrange and the other named midrange, and QOpenSys would be able to tell the difference. This capability helps maintain compatibility with ported applications, but it can sometimes cause confusion when users are required to key in a file name with the correct case, such as when QOpenSys is used for Web serving.
QDLS supports AS/400 folders and contains folders and document library objects. QDLS is the file system in which IBM stores all the old Client Access Shared Folders directories and files. In OfficeVision/400 documents or calendaring, this is the area where those objects are stored.
QNTC doesnt store any data directly on the AS/400 but provides access to files and folders stored on Windows NT 4.0 servers running on standalone PC servers or on an Integrated Netfinity Server for AS/400 card (formerly known as the Integrated PC Server,
XPG
or IPCS). Data is stored in stream files, and you need the TCP/IP Connectivity Utilities for AS/400 product (part number 5769-TC1) installed to use QNTC support. See the OS/400- AS/400 Integration with Windows NT Server V4R4 manual for more details on using QNTC.
QOPT has a structure similar to the root file system but is used to provide access to stream data stored on optical media, including direct-attached optical libraries or the CDROM drive on your AS/400.
QFileSvr.400 provides transparent access to other file systems that reside on remote AS/400s. Unlike the other standard file systems, the characteristics of the QFileSvr.400 file system are determined by the characteristics of the file system being targeted on the remote AS/400.
There are also two other standard file systems that do not appear directly beneath the root of the OpsNav Integrated File System tree:
User-defined File System (UDFS) resides directly in an AS/400 Auxiliary Storage Pool (ASP), whereas files and folders in other file systems reside in the system ASP. For more information about creating and manipulating a UDFS, see IBMs OS/400 Network File System Support V4R4 manual.
Network File System (NFS) is a file system that allows you to share files with other servers running the NFS protocol.
In contrast, two nonstandard file systems are also listed in your OpsNav Integrated File System subtreeQLANSrv and QNetWarebut you need to purchase special OS/400-based software products to use them. The QLANSrv file system provides access to the files and directories that are available to OS/400 through the OS/2 Warp Server for OS/400 licensed program. The QNetWare file system provides access to files and directories that are accessible from OS/400 when you are running Novell NetWare servers on the Integrated Netfinity Server for AS/400 or on a standalone PC server. You can use QNetWare file system access only when you are running the Novell NetWare Enhanced Integration for AS/400 product and have your Novell NetWare servers configured correctly.
Shifting into Gear
After you understand how the different AS/400 IFS file systems function, the next logical step is to learn how to manipulate these file systems so that you can work with AS/400 IFS directories, links, and security settings from your user sessions. You can work with the AS/400 IFS from either an AS/400 green-screen or the OpsNav File System-Integrated File System branch. One important point to remember, however, is that the AS/400 IFS is part of the base OS/400 operating system. The AS/400 IFS comes ready to wear with all the standard file systems listed above, and you do not have to configure it before you start using it. Simply start using the commands I list here to begin creating files, folders, links, and security settings for your users to access the AS/400 IFS.
From the AS/400 green-screen, you can use two menus to manipulate the AS/400 IFS. To work with AS/400 IFS directories, objects (including links that tell OS/400 where to find an object by creating a named link to that object), and AS/400 IFS security configuration, go to the Integrated File System menu by typing in GO FILESYS. This displays a menu from which you can work with your AS/400 IFS file systems manually (see Figure 3). To create a UDFS, go to the UDFS Commands menu by typing in GO CMDUDFS.
To perform these same functions in OpsNav, use the context menus for each file system to perform the same function. For example, to add a new directory to the root file system, bring up the context menu by right-clicking on Root under the File Systems- Integrated File System branch of OpsNav; then, select New Folder (see Figure 1). To work with the security on an existing directory, right-click on that directory and select Permissions to bring up the OpsNav Permissions screen in which you can set the security
values for that particular folder. However, every green-screen Integrated File System menu option may not be available in OpsNav and vice versa. You may find there are some functions you can perform with the OpsNav GUI that you cannot find on the green-screen. Conversely, IBM is still enhancing OpsNav to allow it to perform 100 percent of the functions available on the green-screen, and more functionality will be available with each release. There may be some features, such as creating AS/400 IFS links, that are not available in OpsNav. Because of this limitation, you may find yourself working with the green-screen for certain AS/400 IFS functions and OpsNav for different functions. Over the long run, however, OpsNav will become the tool of choice for working with the AS/400 IFS, and it will contain all the features currently found in the green-screen.
The AS/400 IFS in the Client/Server Environment
Now that you understand the AS/400 IFS and how to manipulate it, the next question is how to use it in AS/400 client/server programming. Here are four common AS/400 IFS solutions that you can use today for AS/400 clients. (Many of these ideas have been published as full-length articles in the AS/400 Network Expert technical journal, which you can view on the Web at www.midrangecomputing.com/ane. For more details on using these methods, please consult back issues of AS/400 Network Expert or the manuals listed in the References and Related Materials section of this article.)
1. Transfer data between the QSYS.LIB file system (your DB2/400 files) and a stream file system, such as the root, QOpenSys, or QNTC system. IBM offers several functions to perform this type of data transfer:
Two sets of CL commands perform DB2/400-to-stream file transfers. The Copy Stream File commandsCopy to Stream File (CPYTOSTMF) and Copy From Stream File (CPYFRMSTMF)copy AS/400 source physical file members and program-described files to and from stream files. If you want to copy OS/400 externally described files to and from a stream file format, use the Copy to Import File (CPYTOIMPF) and Copy From Import File (CPYFRMIMPF) commands.
The Integrated File System APIs (C functions) can be used to write a C program that opens files in one file system, reads all the records, and writes them to a new file in another file system
Client Access can be used to map a network drive to a stream file directory and run a Client Access data transfer to move information between a DB2/400 database file and the stream file. If youre using the new Express client, however, you must use AS/400 NetServer on an OS/400 V4R4 system to map a network drive for the Client Access Data Transfer function. (Automatic EBCDIC-to-ASCII conversion is not supported for AS/400 NetServer on OS/400 V4R3 and V4R2.)
2. Bring AS/400 IFS data into OS/400 programs. You may accomplish this by writing an AS/400 program that uses the Integrated File System C functions (APIs) that come standard with OS/400 or by using the ILE C/400 C functions that come with the ILE C/400 product.
3. Bring OS/400 data into non-AS/400-based client/server applications. There are two common ways to do this. First, you can map a network drive to an AS/400 library using the Windows 95/NT client or AS/400 NetServer running on an OS/400 V4R4 system. The other way is to export an AS/400 directory as an NFS share and mount that share on an NFS system. You can accomplish NFS exporting through OS/400 commands or by selecting NFS Export off the OpsNav context menu for the directory you want to export (Figure 1).
4. Allow PC clients to use a CD in the AS/400 CD-ROM drive. You can accomplish this by placing the CD-ROM in the AS/400 CD-ROM drive and using the Windows 95/NT client or AS/400 NetServer to map a network drive to the /QOPT/cd_volume_name directory. The cd_volume_name directory should appear in QOPT whenever you insert a new CD into the AS/400 CD-ROM drive.
But Theres Even More
After you understand the AS/400 IFS and the tools to manipulate it, new and interesting possibilities start to develop. In this article, Ive provided only an overview of what you can do with the AS/400 IFS. However, I encourage you to start working with the AS/400 IFS to take full advantage of your AS/400s system storage capabilities.
References
OS/400-AS/400 Integration with Windows NT Server V4R4 (SC41-5439-02)
OS/400 Network File System Support V4R4 (SC41-5714-01)
Related Materials
AS/400 International Application Development V4R2 (SC41-5603-01)
AS/400 Online Library: publib.boulder.ibm.com/pubs/html/as400/ onlinelib.htm (This site contains most of the manuals listed under References and Related Materials.)
AS/400 System API Reference V4R4 (SC41-5801-03)
ILE C Programmers Guide (SC09-2712-01)
Integrated File System Introduction (SC41-5711-03) (Note that this book is available for pre-V4R4 release at the AS/400 Online Library. For OS/400 V4R4, this information has been moved to the Database and File Systems turndown option of the AS/400 Information Center at publib.boulder.ibm. com/pubs/html/as400/infocenter.htm.)
OS/2 Warp Server for AS/400 Administration V4R1 (SC41-5423-00)
OS/400 Integrating AS/400 with Novell NetWare V4R3 (SC41-5124-01)
OS/400 Optical Support V4R1 (SC41-5310-00)
Standard File Systems
QSYS.LIB OS/400 DB2 files
Root (/) Stream files and directories with characteristics of a DOS or OS/2 system
QOpenSys Compatible with UNIX standards such as POSIX or XPG
QDLS Contains AS/400 folders and documents; basis of old
Client Access Shared Folders function
QNTC Provides access to files and folders stored on
Windows NT 4.0 servers (standalone and Integrated NetFinity Server installs)
QOPT Access to stream data stored on optical media
(including AS/400 CD-ROM drive)
QFileSvr.400 Transparent access to file systems that reside on remote AS/400s
Nonstandard File Systems
QLANSrv Provides access to files and directories available to
OS/400 through OS/2 Warp Server for AS/400
QNetWare Provides access to files and directories available to
OS/400 through OS/400 Enhanced Integration for Novell NetWare
Figure 2: IBM includes support for standard and nonstandard file systems.
LATEST COMMENTS
MC Press Online