As/400基本概念与术语 1.4 对象和对象管理 在1.3节中我们知道TIMI由两部分组成:指令和对象。准确地说AS/400是一个基于对象(object-based)的系统,而不是一个面向对象(object-orientd)的系统。在AS/400中,对象不具备继承性(inheritance),也没有类(class)和子类(subclass)概念。 AS/400中的对象就像一种容器(containerz),所有用户和系统的数据结构都被封装在这些容器中,此外,对象的封装性(encapsulation)还表现在对象对外界的透明性,即从外界不能看到对象的内部细节。围绕对象模型建立的系统支持应用程序独立于对象。对象内部数据结构等细节的改变不影响应用程序和操作系统对“对象”的操作。 1.5.1 OS/400对象与MI系统对象
有些对象类型在OS/400和MI(注:如果没有特殊申明,本篇中的IM均指TIMI)中都是有效的。表1.5.1给出了OS/400对象的类型。作为比较,表1.5.2列出了MI系统对象的类型。部分OS/400对象与MI系统对象是 一 一对应的,但它们的名称不一定相同。名称 表 1.5.1 OS/400对象
Authorization list jourmal
Chart fotmat journal receiver
Class library
Class of service description line description
Command menu definition
Configuration list message file
Controller description message queue
Data dictionary mode descripfion
Device descripltion module
Documemt
Document list network interface description
Data area outpt queue
Data queue panel group definition
Edit description product definiton
File program
Folder query definition
Forms control table refernce code translate table
Graphics symbol set s/36 machine description
Ldeographic character table service program
Ldeographic dictionary session description
Ldeographic sort table spesion description
Lniormation search index subsystem description
Job description table
Job queue user index
User profile
相同的例子有program,名称不同的如大锅抗干扰library(context)。
表达1。5。2 MI系统对象
Access group Index
Authorization list Journal port
Byte string space Journal space
Class of service description Logical unit description
Commit block Mode descriptor交警制服
Context Module
Controller description Network descriptor
Cursor Process control space
Data space Program(3 Subtypes)
Data space index Queue
Dictionary Space
Dump space User profile
另外一些OS/400对象同MI系统对象的关系是一对多。图1。8给出了一个实例。本例中OS/400数据库文件有5个M*I系统对象,分属于4个不同的类型(两个space属于同一类型)
。实际上组成一个文件的对象数目要比这大得多。
图1。8
Data Space是一个MI系统对象。数据库使用一个Data Space来存储物理数据和数据库的字段定义。对象Data Space Index 给出了数据的显示方式。对象Cursor访问Data Space中的记录,并根据Data Space Index的内容提供物理数据的逻辑视图(Logical View)。另外两个对象都是Space类型的,一个存放数据库操作的结果,一个存放对该文件描述。
自动排焊机
1. 5。2 对象的查
在早期的System/38中,在数据库(database摆线齿轮)中查对象相当容易。由于每个对象都有一个名字,所以可以根据对象名在目录(library)中进行查。AS/400延用不着了System/38的目录结构。
1.5.2.1对象目录
一个目录(library)也是一个OS/400对象。如图1。9年示,在一个目录中,包含有对象的名称、类型和一个对用户透明的地址指针。通过目录可以在数据库中查其他OS/400对象。不同于DOS和UNIX中的文件目录结构,AS/400中的目录结构是单层的。
在AS/400中,目录名、对象名和对象类型这三个要素唯一确定一个对象。同一目录下同名的对象必定类型不同。也就是说,在同一目录下允许一个program叫做BEER,另一个data space也叫BEER,但不允许两个program都叫做BEER,此外,一个对象必须属于某一个目录,也只能属于一个目录。
因为AS/400的目录结构是单层的,每一个对象的名称都形如“LOBRARY/OBJECT”,所以一个目录不可能再指向别的目录。但是,有一个特殊的称为QSYS的系统目录例外,它可以指向其他的目录。此外,有些OS/400对象只能出现在QSYS中,如user profile以及与I/O视频门禁系统配置相关的对象。
图1。10给出了OS/400的目录结构。本例中,系统目录QSYS包含了一个user profile(J
OHN)、一个目录(LIB1)和一个设备描述文件(DEVD1)。目录LIB1中又包含了一个数据库文件DB、一个数据队列DQ(Data Queue)和一个输出队列OQ(Output queue)。在查对象时,如果没有给出对象全名(Full name),必须根据一个名叫目录表(Library List新型增塑剂)的结构确定对象的查次序。
在AS/400中,有两个特殊的目录,QSYS和QGLP。在QSYS中包含了许多IBM 提供的程序和数据,而QGPL则是一个通用的目录。这两个目录都是IBM随机提供的,它们存在于任何一个目录表中,归属于SECURITY OFFICER,任何人不得删除和更名。此外AS/400中的目录有两种类型,一种是Production,一种是Test。 Production是目录的省类型。位于Production 目录中的数据受到了系统的保护,程序员和用户砂得随意修改。