![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
An Introduction to mvServer 2.0: VantagePoint Software has leveraged its founders'
technical experience with MultiValued, PICK-based, systems by
building a product to extend the useful life of PICK legacy code and
data. mvServer provides connection management, a highly efficient
communication protocol, an SQL Server technology, and a robust
native API which allows Windows, Linux, and Web-based client applications,
to work with MultiValue (PICK) database systems on a client/server
basis. With mvServer, you have a sophisticated SQL engine providing
access to your legacy MultiValue (PICK) data down to the multi-value
and sub-value level. It provides a mechanism which normalizes, on
the fly, PICK data structures so client programs that only know
normalized relational database formats can properly read and write
PICK file items. mvServer also supports the definition and use of
“stored procedures” taking advantage of the PICK/Basic
procedural language available on all MultiValue database systems.
These stored procedures, like any subroutine, can accept any number
of arguments and generate a return set of data to the client
process. There are a number of pre-defined stored procedures that
are part of mvServer that can provide many standard data management
functions. mvServer optimizes access to your
MultiValue data through a
mapping process which identifies the accounts, files, and attributes
you want to make available to client processes. SQL queries are
parsed and preprocessed on the client side and passed down as query
structures, which are easily converted to standard PICK processes
for retrieving and updating data. mvServer even provides for
complete transaction processing with support for BeginTrans,
CommitTrans, or RollbackTrans operations at any point. Transaction
processing is also supported when using stored procedures. For SQL
processes there is also full support for bi-directional cursors
resulting in efficient result set management. mvServer supports a variety of communication protocols,
providing a connection between your client applications and your
MultiValue (PICK) host database system. mvServer supports serial connections,
including dial-up access, and network protocols, including Novell
SPX/IPX (through PicLan) and UNIX-based TCP/IP telnet connections. The loading of
mvServer, the mapping of your database
system, and the full control of its operations can be done with
simple client-based utilities from your PC workstations. There are versions of mvServer that will work with jBASE, D3, mv.BASE, mv.Enterprise, UniVerse, Unidata, and other vendor specific implementations of the MultiValue (PICK) database system. Server Definitions Before a client program can communicate to a MultiValue
(PICK) host system, a server definition must be constructed. A
server definition is contained in a special MultiValue Server
Definition object that is stored within a file with an .msd
extension. These MSD object files can be placed anywhere, either on
a client system or on a network server. While the MSD object is part
of the dbObjects product, it is essential for allowing client
applications to connect to and communicate with the server software
of mvServer. You will need to define a MultiValue Server Definition
(MSD) object for each of your MultiValue (PICK-based) host systems. An MSD object will determine the type or method of
connection, either a serial connection or a network connection, and
any appropriate information to make the actual connection to a host
database system. For each type of connection, a script must be
defined as to how that connection will be made. The scripting, in
essence, is how the client will connect to the server software on the
host system. Connection scripts are a simple, text-based script language
used to establish host database connections. The language is used to
specify the communication port and parameters, as well as to log on
to the host server. The script consists of statements, one per line,
each beginning with a key word, or label followed by a keyword. A
statement label is optional on any line and, if present, must be a
unique integer number, followed by a colon (:) character. The
keywords and their action are as follows:
Note: any time parameters, such as used in match or wait
commands, are in milliseconds. The value is stored as an integer and
so the largest amount of time entered is limited to 32767, or a
little over 32 seconds. If you need to define more time, use
additional wait commands. These wait commands can be used just
before match commands to increase the total time before a match
occurs. The following is a sample host connection script with
explanations:
Connect Debugging During the installation of the Server Software of mvServer, or anytime a connection process does not appear to be functioning properly, you may use the Connection Debug Window as shown below: The debug window is useful for determining problems in
initial Server Installation, Script debugging, or just problems
which cannot be solved directly. It can provide the programmer a
good behind the scenes look. The information in the Debug Window may be saved to a file.
There are options for saving the entire contents of the window, or
just selected data, using the mouse, holding the left button down
and highlighting the desired information. To save, click the File
menu, select the Save option, then click the All or Selected menu
option. At this point,
the program will allow you to save the information in the desired
directory and drive. The information in the Debug Window may also be printed.
This includes the entire contents of the window, or selected data.
To print, click the File menu, select the Print option, and then
click the All or Selected option. Sever
Configuration
Server Security The ADMIN User is currently the only user allowed
when connecting through the
mvServer Server program. Future
releases will allow different users and groups of users to be
entered and maintained with different levels of permissions. This
"Administrator" (ADMIN) user will give all connections
full read and write capabilities. For those using Stored Procedures
to access data resources you can easily incorporate your own
security scheme within your stored procedure code. Database Mapping After installing and setting up the mvServer Host software,
Database Mapping is the next step in setting up your client software
to run with your MultiValue (Pick) database. All mapping definitions are maintained in the VSDATABASE file on your MVSERVER account. To map your system, you must first map the Databases (PICK Accounts) you want the client to have access to. To your client programs, each Pick Account is considered a separate Database available from your MultiValue host. After the Databases (PICK Accounts) have been defined or mapped, the next step is to map the Tables (PICK Files) from within each of the defined Databases you want the client to have access to. The Table (PICK File) mapping process creates an entry in the VSDATABASE file and also creates a Q-pointer in the MD or VOC file of the MVSERVER account. This name of this Q-pointer is VSQ followed by a unique number assigned by the system. This generated "VSQ" name is also stored in the VSDATABASE Table item. The combination of the Table entry of the VSDATABASE file and the MD/VOC file Q-pointer is how the mvServer software can access any data file on the Host system. Defining a record’s (PICK
item’s) Fields (Attributes) within the Table is the next step. All
fields, within a file, that will be accessed on an SQL basis must be first mapped. Since multivalues and sub-values are not a standard
structure in most relational databases, the PICK programmer must
normalize any multivalued fields. The way that mvServer allows you
to do this is to create a Virtual Table. A Virtual Table physically
does not exist. It must, however, be defined. A Virtual Table will
be a subset of an existing defined Table (PICK File), known during
the mapping process as a base table. A Virtual Table will contain a
list of Fields (Attributes), either Multi-valued or Sub-valued, that
are associated or correlated together. For example: Contact Name, Contact Phone Number, and
Contact Title are multi-valued fields within a Company Table (This
is an example file on the MVSERVER Account). These three fields are
associated and should be defined in a Virtual Table together. If the
Company Table also has the multi-valued fields Pay Date and Pay
Amount, these two fields should be defined in a different Virtual
Table (but would be also a subset of the Company Table). There is no
limit to the number of fields a Virtual Table may have, or the
number of Virtual Tables an actual Table may have. There is a full example of Virtual Table mapping in the
MVSERVER account. The base table is the COMPANY file. The two
virtual tables are the CONTACT and PHONE tables, which are pointers
to embedded multi-valued data in the COMPANY table. There is also a
sample client program, the CCP project (ccp.vbp), that is part of
dbObjects which is programmed to work with these example files. There are three different kinds of records within the
VSDATABASE file: Database, Table, and Field records. Each will have
a different key structure. The key to a database map item is simply
the name of the Database (PICK Account name). The key to a Table map
item is the Database (PICK Account) name concatenated to the Table
(PICK File) name or Virtual Table name. The delimiter is the back
slash character (\). The key to a Field map item is the Database
(PICK Account) name concatenated to the Table (PICK File) name
concatenated to the Field (PICK Dictionary Attribute Item) name. The
delimiter is again the back slash character (\). As an example the
key to the CITY field of the COMPANY table in the account APDEV
is: APDEV\COMPANY\CITY Mapping items in the VSDATABASE file are defined as
follows:
There is a client-based mapping program that is part of the mvServer client software. This mvServer Database Mapping program (Vpmapm20.exe) is used to map Accounts (Databases), Files (Tables), Attributes (Fields), and Virtual Tables into the file VSDATABASE found in the MVSERVER Account. There is also a Host-based PICK/Basic program that can be used to map Files(Tables) into the VSDATABASE file. This cataloged program is VSMAPFILE and prompts you for the Database/Account name and File name to map. It will create the Table entry into the VSDATABASE file and create the appropriate "VSQ" pointer in the MD or VOC file.
Next
Page
For additional information or to order a copy of mvComponents Suite
2.0 and arrange for a consultant, please send an E-mail to: For VAR requirements and pricing please send E-mail to:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||