91

HP 3000 and NT Interoperability

Alvina Nishimoto

19111 Pruneridge Ave.

Cupertino, CA  95014

 (408) 447-5649

 

 

The best solution to an enterprise’s technology concerns is often to use more than one platform and to leverage the strengths of each platform where it makes sense to do so.  MPE/iX is not standing still amidst the changing computing arena.  MPE/iX is continuing to provide interoperability and data exchange with other operating systems, including NT and UNIX systems.

 

With the current explosion of NT in business environments, there has been a lot of interest in how your HP 3000 will interoperate with NT in your environment.  This paper will outline various methods that are available to interoperate your HP 3000 with NT.  Some of these topics include

·         File and print sharing -- Samba/iX

·         Current Trends in Application Development

·          

*         “Facelift” Phase

-GUI front ends

 

*         “Migration” Phase

-Database Interoperability - ODBC Interfaces, JAVA

 and JDBC

 

*         “Re-architecting Phase

-Database Interoperability - Database Gateways, Middleware

 

File and Print Sharing -- Samba

One of the most popular file and print sharing methods with NT is the UNIX-based Samba.  Samba has been ported to the HP 3000 and provides an easy mechanism for file and print sharing the HP 3000 and NT platforms.  Samba is a supported product and has been bundled as of MPE/iX 6.0.

 

Andrew Tridgell in Australia has created Samba for UNIX.  It is a freeware implementation of Microsoft's SMB protocol (Server Message Block) which defines file and printer sharing for PC networks.  MICROSOFT LAN Manager and compatible products like Advanced Server for UNIX or Resource Sharing for MPE/iX use the protocol.

 

PC's have built-in SMB support with Windows for Workgroups, Windows 95 and Windows NT.  For Windows 3.x, free add-on software is available at the Microsoft ftp site.  This software only provides client functionality.

 

The Samba/iX  package contains programs like SMBD and NMBD to provide server functionality and also contains utilities like SMBCLIENT or NMBLOOKUP to provide client functionality.

 

To set up your HP 3000 as a Samba server you have to create a configuration file. This file defines which directory trees of the MPE file system should be accessible by clients.  Figure 1 shows an example.  There is a global section for general parameters and defaults and one section for each service (also known as share) which defines attributes like associated directory path, read or write access, which users are allowed to access this share etc.


Figure 1 - Samba Server, Sample Config File

 

A listener process is then started (either under INETD or as a separate job) that waits for incoming client connection requests and creates child processes (servers) as needed.  The server side validates the username and password that are sent by the client and grants access to the requested share if appropriate.  A share may also be configured to allow guest access (i.e. without a valid username/password pair specified by the client).  This is similar in concept to anonymous ftp.

 

Figure 2 shows how you can connect to your server shares using the Windows File Manager.  The Disk menu includes an item Network Connections which brings up the small windows shown in the front. You can either connect a network drive by explicitly typing in a share name (with the \\server\share syntax) or by using the browsing pane of the same window. Here you can perform the following actions:

·         View workgroups available on the network or subnet

·         Display computers within a workgroup

·         List the available shares on selected computer

·         Select a share on a computer

 

The browsing feature requires the NMBD server process running on the HP 3000. Without NMBD being active or when the HP 3000 is not on the PC subnet you can still type in explicit share names.

 

These network drives are then accessible to regular PC applications.  Figure 3 shows creating a text in the Windows Write editor and saving it to the X: drive as myfile.txt.

 

Figure 2 - Windows File Manager

 

 

Figure 3 - Client Side, Windows Write

 

Figure 4 shows a few DOS commands executed on the network drive.  The DIR command shows that there is a directory as well as a number of files, including our myfile.txt.  The TYPE command displays the contents of myfile.txt once more. All the files and directories on such a network drive reside on the HP 3000 in the MPE file system (typically using the HFS name space).

 

Figure 4 - Client Side, DOS Prompt

 

Figure 5 shows that you can also access server based printers using Samba. With printer sharing the client creates a file on the server directory associated with the printer, and then lets the server process triggers a configurable command to push the file to the MPE spooler or other options.

Figure 5 - Windows Print Manager

 

Current Trends in Application Development

With the explosion of the Internet, Microsoft has embraced the Internet.  In addition, the vendors providing integration tools have embraced both the Internet and NT.  Consequently, it is very difficult to separate a discussion on NT interoperability from a discussion on Internet application development.  The next few sections will discuss tools that provide NT interoperability while at the same time providing web access.

 

New technologies such as NT and the Internet evolve in current business environments.  Figure 6 describes this evolution to the Internet that involves three distinct phases.  These phases are similar to the evolution that occurs with most new technologies. 

 

Figure 6

These phases include:

 

The "Facelift" Phase

This phase involves providing a new user interface with little or no code changes to existing applications.  You can try out new technology with very little investment and hopefully provide business benefit and productivity improvements at the same time.  This new interface allows you to get results to your customers quickly and to preview new technology, while still leveraging the reliability and stability of existing applications.

 

The "Migration" phase

In this phase, the gradual migration to new technologies starts to occur, and the foundation of a new infrastructure that is needed for re-architecting is laid.  Initial migration occurs in modules that are straightforward to implement, make business sense, and provide additional value.  This phase also involves creating new applications using the new evolving infrastructure.

 

The "Re-architecting" phase

In the final phase, the application infrastructure has been re-architected and the last set of modules is being migrated.  These modules are usually the most complex and considered to be mission-critical applications.

 

GUI Front Ends

In HP 3000 environments, the “Face Lift” phase usually consists of leveraging your existing application by putting a GUI front end on top of an existing VPLUS application. VPLUS is a proprietary screen and forms management package on the HP 3000. Because it is proprietary, VPLUS is often seen as a roadblock to interoperability; however several third-party tools exist to help provide interoperability between VPLUS applications and new interfaces. Figure 7 is a pictorial view of how these front-end tools work with the HP 3000.


Figure 7

 


WRQ's Reflection Suite for HP enables the running of terminal sessions in Internet Explorer 3.1x or Netscape Navigator browsers and is one of the simplest ways to web-enable a HP 3000 VPLUS application.  It has the ability to use links on web pages to start Reflection sessions and can use Forward and Back to move between sessions and other web pages.  Minisoft's Javelin products provides similar capability from a browser interface.

 

CNT offers Enterprise/Access, a tool for building server-based solutions to access applications on traditional systems like the HP 3000 without modification to the host systems or applications. This allows you to put a Visual Basic or Web front-end on top of your existing applications. The Enterprise/Access product does not intercept VPLUS calls. It has less dependence on VPLUS. Instead it works with what is displayed to the terminal screen.  Enterprise/Access requires an HP 9000 to access HP 3000 VPLUS transactions.  An NT version will be released in late 1998.

 

Minisoft’s FrontMan automatically converts applications based on VPLUS to a Windows-based client/server environment or a web front end. The HP 3000 code remains untouched while FrontMan intercepts the VPLUS calls and handles all requirements of the user interface. FrontMan also allows you to combine data from widely different environments into a single, coherent interface. It allows you to access relational databases, VPLUS applications, and HP IMAGE databases using a single user interface.

 

 

Database Interoperability

In the “Migration” phase, most people wrestle with problems beyond the user interface and start to deal with database interoperability. Because many organizations may already have both MPE/iX and NT systems, evaluating how to access and share data across platforms is often a pressing concern. Relational database management systems or specific interoperability subsystems have the functionality necessary to access data across platforms. Interoperability features free users and developers from managing the complexity of establishing connections, handling the communication, reporting errors, translating data, and disconnecting from remote databases.

 

ODBC Interfaces

An example of a common database interoperability method with NT is ODBC (Open Database Connectivity). Because ODBC is widely used throughout the industry to communicate with different database management systems, developers are saved from having to learn multiple query dialects or APIs and complex networking requirements. ODBC is Microsoft’s implementation of one part of the XOPEN standard for database access, SQL Access. ODBC is Microsoft’s C language SQL API-based on ANSI SQL. ODBC has become so popular that virtually every windows-based product works with it. Using ODBC allows you to take advantage of myriad of simple, easy-to-use GUI development environments. In partnership with M.B. Foster Associates, Hewlett-Packard released the 32-bit ODBC driver for IMAGE/SQL and ALLBASE/SQL in a client/server environment from Windows 95 and Windows NT clients.  HP continues to work with a variety of third-party vendors to provide tools that work with HP IMAGE database.   Figure 8 is a pictorial view of how ODBC works with the HP 3000.

 

Other 32-bit ODBC drivers for the HP 3000 are also offered by DISC and Minisoft.

 

Some of the more recent web development tools that work with ODBC on the HP 3000 include Microsoft's Visual Interdev, dbWeb,  and Frontpage, Haht's Hahtsite, and NetObjects Fusion.


 


Figure 8

 

When working with ODBC there are middleware tools that help in specific types of applications. For JAVA based tools, JDBC available from HP in Fall 99 allows ODBC-enabled databases to be used by JAVA development tools. This product allows desktop users with Web interfaces to access any SQL database.

 

For Lotus Notes, Casahl Technology’s Replic-Action product provides the ability to define and access HP IMAGE and ALLBASE databases in Lotus Notes or Microsoft Exchange using an ODBC interface.

 

 

 

 

JAVA and JDBC

JAVA is another emerging method for database interoperability with NT.  JAVA is popular because of its platform independence. The following two paragraphs, taken from Javasoft’s web page, describes in a nutshell what JDBC is:

 

The JDBC API defines JAVA classes to represent database connections, SQL statements, result sets, database metadata, etc. It allows a JAVA programmer to issue SQL statements and process the results. JDBC is the primary API for database access in JAVA . . .

 

The JDBC API is implemented via a driver manager that can support multiple drivers connecting to different databases. JDBC drivers can be written in JAVA so that they can be downloaded as part of an applet, or they can be implemented using native methods to bridge to existing database access libraries.

 

The HP 3000 has the JAVA virtual machine and the just-in-time compiler and with MPE native JDBC driver for HP IMAGE and ALLBASE written completely in JAVA.

 

For more information on JAVA for the HP 3000, visit http://www.hp.com/go/3000

 

For Native IMAGE intrinsic calls, Advanced Network Systems, Inc.’s ADBC Developers’ Kit links browser applets and server applications written for the MPE/iX Java Virtual Machine directly to TurboIMAGE.

 

Database Gateways

In the final “Re-architecting” phase, you may have a major module that is on NT that now needs to read and write to HP IMAGE and ALLBASE databases. In this scenario HP IMAGE and ALLBASE databases need to be able to share data, run reports, and handle queries with other databases such as SQL Server, Oracle, Sybase, and others. Database vendors provide this type of interoperability through various gateways.

 

Connecting with Oracle Databases

If you use Oracle’s RDBMS on your HP 3000 and if you need to interoperate with Oracle databases on other platforms, you can use Oracle’s SQL*NET.

 

SQL*NET makes remote Oracle databases appear to be a local Oracle database. Data residing on your HP 3000 can be joined with a variety of other databases on your network using Oracle’s distributed database technology.

 

Oracle provides an SQL-based read/write gateway to IMAGE/SQL, called the Oracle Transparent Gateway for IMAGE/SQL. It works with SQL*NET to offer SQL-based access to IMAGE/SQL on your HP 3000 from remote systems where Oracle is installed. This allows you to transparently read and write to an IMAGE/SQL database from more than 90 platforms where Oracle is supported. Users can view IMAGE/SQL and Oracle data on the network as a single distributed database without needing to know where the data or server resides.

 

Connecting with Sybase Databases

Sybase is another widely used relational database. Open Client/Open Server, ported by Bradmark, is Sybase’s database interoperability solution for the HP 3000 and enables HP 3000 users to read and write data to IMAGE/SQL and ALLBASE/SQL from the Sybase environment or vice versa via APIs.

 

 

 

Middleware

In the final re-architecting phase, you may decide to re-architect applications that reside on your HP 3000. In this situation, you will be looking for tools that allows for data interoperability not only between NT and the HP 3000 but also between a variety of additional platforms and multiple heterogeneous databases. This situation requires going beyond relying on ODBC or a single database vendor’s gateway, but instead using more generalized tools called middleware.  Middleware is the glue that pulls heterogeneous data together in a seamless fashion and does not burden the user with knowing the access methods for each platform in order to do the job.

 

Figure 9 gives you a picture of a typical role that middleware plays in your enterprise.  In this figure, middleware is the glue that allows your environment to communicate seamlessly between your front end, the application server, and the database server that may be a HP 3000, HP 9000, or a HP NetServer.  Examples of middleware products that provide these capabilities are DCE, DISC’s OMNIDEX for the Web, Minisoft’s Middleman, Speedware’s Autobahn, Bradmark's StarVision, and Premier Technologies' OSCAR.


 


Figure 9

 

 

 

Examples

Figure is an example of the architecture of the Smith-Gardner application.  Smith-Gardner services the mail order and direct marketing firms.  They have used an NT web server to provide a very powerful Ecommerce application.  This application has been quite successful because it leverages the full functionality of their core application while taking advantage of the web-enabling capabilities in NT  for use in their Ecommerce application.


Figure 10

 


In Figure 11, the McKesson/HBOC Amisys product uses the Speedware Autobahn product to provide a web-front end for doctors offices to access member and claim information for themanaged health care industry.  Again, leverage the strengths and functionality of the HP 3000 with the web-enabling capabilities of their NT environment.


Figure 11

 


The Open Skies example in Figure 12 is a very similar picture to the Smith-Gardner example.  Open Skies provides airline reservations to small and medium-sized airlines.  In Figures 13, 14 and 15 are examples of the GUI front-end that was built for this application one of the few GUI front-ends in the airline reservation industry today.


Figure 12

 



Figure 13

 

 

 



Figure 14


Figure 15

 


Summary

This paper has outlined various methods that are available to interoperate your HP 3000 with NT. During the past several years, HP has invested in many enhancements to provide interoperability between MPE and UNIX. Now we are adding products and enhancements for interoperability between MPE and NT. HP will continue to monitor activities in this rapidly changing environment and update you on new information from time to time.

 

Appendix - Additional Technical Information on Samba

Figure 16 shows how a PC client gains access to server shares.  The NET LOGON command teaches the PC which username and password to include in connection requests to servers.  Samba/iX uses an MPE style user.account as well as a password pair using the syntax known from ftp (i.e. userpass, acctpass).  This user identification is only passed to the server for validation purposes, there is no remote session established like with NS/VT.

 

The NET VIEW command retrieves information about available shares from the server and displays it to the user.  You might notice the shares named TMPSHARE that was shown in the config example in Figure 2.  The NET USE command connects to a server share and maps it to a disk drive letter.  Here we map two shares and use drive letters X and Y.

Figure 16 - PC Client, DOS Prompt

 

Figure 17 shows similar commands executed on the server side, here using the POSIX Shell.  You can see the directory mydir and files like myfile.txt in the output of the ls command on /tmp, which is the MPE directory associated with TMPSHARE according to the configuration shown earlier. You will notice that most of these files belong to the owner LARS.APPEL, which is the username, specified at the NET LOGON command on the PC. The server process uses calls to setuid() which is AIFCHANGELOGON to assume the appropriate user identity before creating or accessing files (if the client was able to pass a valid user and password specification).

 

Figure 17 - Server Side, POSIX Shell

 

Looking at the file owned by MGR.SAMBA you will notice that it is possible to have multiple users share a server directory and still have some kind of isolation between them due to the file system access rights for varying file ownership. You may, of course, also configure separate server spaces for different users.

 

If you look at the output of myfile.txt using the cat -v command, you will notice that every line shows a trailing Ctrl-M character, i.e., CR control code. This is because PC's use CR LF as line delimiter whereas UNIX as well as POSIX systems use LF only. This is not specific to MPE but has to be kept in mind.

 

You may also notice that some PC filenames are not legal on MPE because they contain invalid special characters like ugly$.txt does. As of version 0.7 of Samba/iX this issue is being addressed with some MPE specific file name mapping. Notice the filename ugly_24_.txt on the MPE side. The 24 is basically the ASCII code of $ character in hex.

 

Looking at the file v07f.tar.Z on the server side you can also see another filename transformation, this time not MPE specific. The so-called "name mangling" converts UNIX filenames that would not be legal on the PC side (at least with certain DOS/Windows versions) to some unique but sometimes strange-looking 8.3 style name (8 char filename, 3 char extension) which can be examined on the previous slide. This "name mangling" is not needed with Windows 95 or Windows NT clients, as these are able to handle long filenames.

 

Figure 18 gives you an idea how the server is actually implemented. The listener process PIN 74 has two children created here. This is because two clients are connected at this moment. Each client may be connected to one or more shares with all the connections handled by the respective server process for the very client. The smbstatus output for example shows that the user LARS.APPEL from the client machine pc1lars has mapped two shares (tmpshare and docs) and both are handled by the server process id (pid) 917551.

 

Figure 18 - Server Status and Processes

 

At the bottom you can also see that the Samba server has to handle PC shared access modes to files, which are very different from what is usual on UNIX or MPE. Here the file myfile.txt is opened for read/write access with so-called DenyMode being Deny_Read. For the PC clients this is a kind of exclusive access but the server side may handle this still somewhat differently when e.g. trying to print the file myfile.txt from the POSIX shell or CI.

 

HP 3000 playing the "client role" using Samba/iX

The client functionality is mainly provided by the SMBCLIENT utility. It provides access to SMB servers (i.e., an NT server or a Windows for Workgroups PC) with an ftp-like user interface. This is similar to file transfer; however, it does not allow mounting of remote directories.

 

On Figure 19, you can see the -L option of SMBCLIENT that works like the NET VIEW command on the PC (i.e. shows the available shares for a server).  The next command connects to the TMPSHARE, specifying username and password and performs a DIR command that is included in the command line with the -c option of SMBCLIENT. Notice the double backslashes in the share specification which are needed due to the fact that the backslash character has a special meaning to the shell.

 

Figure 19 - Samba Client for MPE/iX

 

Figure 20 shows the online help screen of SMBCLIENT which looks similar to ftp commands (get, put, cd, pwd, dir etc.) except for the printing related commands, which are used for printer share access. The remaining commands show how to get a file from a remote system and examine the contents of the local copy.

 

Figure 20 - Samba Client for MPE/iX

 

Notice that all SMBCLIENT examples used the -c option to specify the command on the command line. The SMBCLIENT program also has an interactive mode that looks much more like FTP (i.e. you connect to a server and then get a prompt to execute a sequence of command, terminated by an exit or quit command). Due to a limitation of the select() function on MPE/iX, the interactive mode does not yet work properly. At present, It can be worked around by using the -c option of SMBCLIENT.

 

The SMBCLIENT utility also provides an option -M that allows sending a WinPopup message to the remote computer (if that computer supports this kind of messages and has receiving enabled).  This does not require a PC to be logged on to the 3000 or have a network drive mapped.

 

Current Limitations

The main thing to keep in mind is the fact that Samba/iX is basically a UNIX implementation of a PC networking protocol and that these two platforms are not very "MPE aware". PC and UNIX file systems only know about bytestream files (they consider files as just a bunch of bytes and have no concept of file types like text/binary or record-oriented accesses like FREADBYKEY or FUPDATE for KSAM files).

 

You can find various details about current or even general limitations of the Samba implementation for MPE/iX in the ReadMe file that is on the web and updated with every new version.

 

In many cases it might be possible to create MPE specific extensions of the original Samba code to provide better MPE integration. But sometimes this might also fail due to the fact that the PC side lacks appropriate tools or concepts (and that Microsoft software cannot be changed quite easily to better work with MPE/iX).

 

For more information on Samba/iX, visit http://www.hp.com/go/3000.

 

 

Author | Title | Track | Home

Send email to Interex or to the Webmaster
©Copyright 1999 Interex. All rights reserved.