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 multiple-format 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.