AS/400 Concepts and Terminology
The
purpose of this paper is to give a high level overview of the AS/400 and some
of the components, features, terminology, and definitions.
AS/400 Architecture
The AS/400 is a very complex integrated system that
includes hardware, software, security, a database and other components. The
AS/400 Advanced Architecture is unique in that it is extremely adaptable and
can easily incorporate new technologies. This is important in today’s fast
changing computer marketplace. The AS/400 is designed to separate the software
and hardware so changes in one have little effect in the other. This is
accomplished through the Machine Interface (MI) which is a software programming
interface between the application, the operating system and hardware. The MI is
a complete Application Programming Interface (API) set that all applications
must use in order to get to the to the hardware. This
is how the AS400 achieves the software independence.
OS/400 Operating System
The Operating System for the AS/400 is called OS/400.
The OS/400 resides above the MI. This allows the operating system to be
independent from the hardware. Most operating system components handle
functions such as memory, process, program, and I/O management. On the AS/400
these lower level functions are handled by the Licensed Internal Code (LIC)
which is the operating system software below the MI. The LIC protects
application programs and OS/400 from hardware changes. Thus again, keeping the
software separate from the hardware.
Integrated File System
The AS/400 contains an integrated file system (IFS).
This means applications written on other file systems, PC, Unix,
etc., can access data stored on the AS/400. The IFS integrates all file systems
on the AS/400 with one interface and one set of rules. How the AS/400
developers accomplished this was to use a single root, like a PC file system,
and put all other file systems under it. From a Windows client the AS/400 would
appear as a network drive. Under that drive you would have PC-like
subdirectories for all the file systems the AS/400 supports. Currently there is
support for PC file systems, Unix file systems, OS/400
libraries, and others. The IFS provides access to the data. The data must be in
compatible format for the requesting application.
DB2/400 Database – The Integrated Database
The AS400 contains a relational database called
DB2/400. DB2/400 is integrated into the AS/400 partly above the MI and partly
in the LIC. Conventional databases are separate software components that reside
on top of the operating system. Since DB2/400 is integrated throughout the
entire system it can achieve a higher level of efficiency because it is tightly
integrated with the components with which it communicates. The database
management system (DBMS) is a framework for storing and retrieving data. A DBMS
must have an interface so users can access and manipulate the data. There are
two interfaces to the AS/400: The Data Description Specifications (DDS) and
Structured Query Language (SQL). The DDS, or the native interface, was carried
over from the IBM System/38. It has a look and feel similar to IBM’s
Information Management System (IMS). The second interface for the AS/400 is
SQL. This is the industry standard for relational databases and is an optional
product that you must purchase separately.
Data Warehousing
DB2/400 supports data warehousing. The four main
components that DB2/400 utilizes for data warehousing are: transformation and
propagation tools to load the data warehouse, the data warehouse database
server, analysis and end-user tools, and tools to manage the information about
the data warehouse. Transformation and propagation tools are used to move and
manipulate data into a form more appropriate for the warehouse. It transforms
operational data into informational data.
IBM introduced special models of the AS/400 that are
able to handle the types of workloads use in data warehousing applications.
These database servers utilize parallel processing and multidimensional
databases. The AS/400 uses parallel I/O processing (IOP). This allows parallel
processing at the I/O level for a single job. By doing this it helps increase
I/O processing time. The AS/400 also can take a single query and break it down
to independent queries and these are run in parallel across the multiple
processors in the system. This can increase performance for the original query.
Most relational databases are organized as
two-dimensional tables. A multidimensional databases
has one or more additional dimensions. DB2/400 can create a three-dimensional
data structure. These structures have three axis’s and look like a three
dimensional spreadsheet.
The DB2/400 uses business intelligence tools to
analyze the data in the data warehouse. These include: Decision support (DSS)
tools, executive information systems (EIS), and data mining tools. DSS tools
allow the user to create questions, in the form of queries, to get answers to
the questions. They enable the user to create ad hoc queries and build reports.
EIS’s combine DSS tools with some extended analysis
capabilities. Data mining tools allow for the discovery of information with
little or no direction from the user. The system searches through the data to
determine patterns or associations.
Objects
The AS/400 is sometimes described as an object based
system because objects are a fundamental part of the design of the system.
Almost everything in the AS/400 is an object. These include data files, user
profiles, job queues, message queues, print queues, compiled programs, word
processing documents, menus, etc. On the AS/400 objects are categorized by
type, which allow the user to specify what type of objects
are required for a given task. There are OS/400 objects and MI system
objects. Some OS/400 objects map one to one with MI system objects, but other
have a one to many mapping. This is because some OS/400 objects need to map to
multiple MI system objects. All OS/400 objects map to at least one MI system
object. The object is assigned an owner when it is created. The owner is either
the user or the group profile that created the object. When the object is
created, the owner is given all the object and data authorities to that object.
Libraries
A library is an OS/400 object that is used to find
other OS/400 objects in the database. The library is organized as a
single-level hierarchy, unlike the directory structure found on PCs which have
a multilevel hierarchy. To find an OS/400 system object you need the name of
the library and the name of the object. The AS/400 identifies objects by their
qualified name, which takes the form of LIBRARY/OBJECT. For example, to find
the object MONEY in the library PAYROLL you would reference this as
PAYROLL/MONEY. Two or more objects can have the same name but they must be
different types of objects. For example you could have a program named TEST and
a data space named TEST, but not two programs named TEST. An object can exist
in only one library. A library cannot reference other libraries except for the
library called QSYS. This is the only library that can access other libraries.
Physical Files
A physical file holds the actual data. The physical
file record has a fixed set of fields. Each field can have variable lengths. A
physical file has two parts. The first part contains the file attributes and
field descriptions. The file attributes include the file’s name, owner, size, number of records in the file, key fields, and other
attributes. The field descriptions hold the attributes for each field in the
record. The second part of a physical file contains the data.
Logical files
Logical files allow a user to access data in a format
that is different from the way it is stored in one or more physical files. The
logical file contains no data records. It contains the corresponding record
number of the data record in the physical file. The logical file will contain
the index to the physical file. Logical files provide the path to the physical
file. There are four types of logical files. The first is the simple logical
file. This maps data from a single physical file to another logical record
definition. The second is the multipleformat logical
file. This logical file allows access to several physical files. The third type
of logical file is the join logical file. The join logical file defines a single
record definition that is built from two or more physical files, tables,
logical files, or views. The total number of physical files and tables cannot
exceed 32. The forth type of logical file is the SQL view. These are similar to
join logical files but SQL view logical files locate the access path at run
time by use of the Query Definition Template and are not maintained by each
join.
Collections
A collection is a grouping of related SQL objects.
This is the SQL name for a library in the native interface.
DirectConnect Related Issues
NULLID Collection – The AS400 Access Service (ACS)
requires certain files on the AS/400. It looks for these files in a collection
called NULLID. The collection must be created before installing the service.
The NULLID collection contains the service package which the system creates
when the ACS submits the first request to the AS/400. It also contains a
package for each AS/400 stored procedure the user creates. Finally, the NULLID
collection contains the SYSPROCS and SYSPROCCOL catalog stored procedures
table. The script cspas4.sql creates the tables SYSPROCS and SYSPROCCOL in the
NULLID collection. If you are going to use Catalog Stored Procedures against
the AS/400 you will need to run this script.
In your DirectConnect
configuration the TPName for the AS400 must be the
value \x7F6DB. This is the transaction program name for the DRDA Application
Server on the AS/400.