Browse Prior Art Database

Generic Requester for OS/2 EE Database Manager Which Can Be Easily Ported to Many Platforms

IP.com Disclosure Number: IPCOM000120521D
Original Publication Date: 1991-May-01
Included in the Prior Art Database: 2005-Apr-02
Document File: 3 page(s) / 135K

Publishing Venue

IBM

Related People

Sirkin, MJ: AUTHOR

Abstract

Currently, OS/2* EE Database servers can only be queried from OS/2 EE Database Requesters, and DOS Database requesters. There are many customers who wish to use existing hardware and operating systems (AIX*, UNIX**, Macintosh***, Next****, VM, VMS) who wish to write programs to use our Database Manager.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 48% of the total text.

Generic Requester for OS/2 EE Database Manager Which Can Be Easily
Ported to Many Platforms

      Currently, OS/2* EE Database servers can only be queried
from OS/2 EE Database Requesters, and DOS Database requesters.  There
are many customers who wish to use existing hardware and operating
systems (AIX*, UNIX**, Macintosh***, Next****, VM, VMS) who wish to
write programs to use our Database Manager.

      The generic requester (GENREQ) is a program written in ANSI
standard C (so that it is quickly portable to other machines and
operating systems).  It uses TCP/IP for communications (instead of
OS/2 EE Communications Manager). TCP/IP is a set of standard
communications protocols which are implemented on nearly every
machine and operating system which again insures easy porting.

      To understand GENREQ, a brief description of our current remote
database access methodology is necessary: When an application program
(on a requester workstation) wishes to run a procedure on a remote
database, the following actions occur. On the requester, Database
Manager converts the request into the proper data structure.  Then
Database Manager notices that the database is remote and converts the
Database Request into a communications stream (DRDA - an IBM
strategic protocol to span all four relational SAA* database
products) to be sent to the remote server.  Then Communications
Manager is invoked to send the request to the server.  On the server,
Communications Manager receives the request.  Then it is unencoded
from the communications stream back to the database request.  Then
the request is passed on to Database Manager to be performed.  The
reverse procedure occurs for the reply from the server back to the
requester.

      GENREQ works on a much simpler scheme:  rather than ask the
requester to know anything at all about the databases, it simply
passes the entire API request to a process on the server (using the
RPC (remote procedure call) interface of TCP/IP).  The server process
changes the request into the Database Manager data structure, and
performs the request. The results are automatically packaged up by
RPC, and sent back to the requester. GENREQ avoids all of the
Communications Manager encoding and decoding - and avoids having to
have either Database Manager or Communications Manager loaded on the
requester workstation.

      GENREQ consists of three major parts:
      1) The requester module is a set of library routines which is
either linked with the application program on the requester, or is
built as a DLL (for OS/2).  This library contains a procedure for
each existing Database Manager API.  When an application program
calls on a routine in the library, the routine ONLY packages up the
arguments to the procedure, and calls RPC to run the procedure on the
server.  When a reply comes back from the server (after the database
request is processed), the arguments are passed back to the
application progra...