Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesOpen(ing) VMS to Win32


November 1995 / Core Technologies / Open(ing) VMS to Win32

Adding Win32 support to Digital's OS will allow developers to target OpenVMS and NT machines

Mark Feniello

Good things come to those who wait. Digital Equipment Corp. and Microsoft have had an agreement for several years to help each other develop, promote, and market products. Soon after this relationship was formed, Digital's Alpha AXP machines were among the first to support Windows NT. Since then, however, there have been few tangible results to support the flurry of marketing and PR announcements. But finally this alliance is starting to bear real fruit.

The two companies have agreed to exchange engineers, license some of each other's patented technology, and provide access to each other's source code. And Microsoft will fu nd the training of at least 1500 Digital employees to support Microsoft products. But perhaps the biggest news is Digital's announcement that its OpenVMS operating system will soon support Microsoft's Win32 API.

Word for OpenVMS?

So does this mean Microsoft Word will run on OpenVMS? That's a question Wes Melling, Digital vice president of OpenVMS Systems Business, hears often. And his answer is "No." The long version of the answer is that when enough of the Win32 API is supported by OpenVMS, you could get Word to run under OpenVMS by recompiling and relinking the source code. That is not likely to be a high priority for either Microsoft or Digital, so Melling is probably right; the answer remains "No."

On the other hand, many OpenVMS developers want to know if they can now develop Windows applications and then run them on an OpenVMS system. This is the question Digital wants to hear, because the answer is a resounding "Yes." Digital wants developers to build applications f or Windows and then keep OpenVMS in mind when deciding which platforms to support with these new applications. This is the message Digital must keep telling developers as desktop machines play an ever-increasing role in the day-to-day business operations of Digital's traditional user base -- medium to large scientific and commercial sites.

The announcement of OpenVMS support for the Win32 API is part of a much larger picture Digital is painting. OpenVMS is already widely accepted as a bulletproof operating system capable of providing 24-hour-a-day, 365-day-a-year reliability to business-critical, enterprise-wide applications. But Digital knows that business desktops are dominated by PCs, most of which are running Windows. Digital wants to make it easier for developers to create client/server applications for a single OS (i.e., Windows) and then deploy those applications on a combination of Windows, Windows NT, and OpenVMS systems.

The Three-Tier Approach

Digital and others in the industry are now promoting a new model for client/server applications. They are warning that applications with a "fat client" or a "fat server" will not scale or perform well in the future.

An application with a fat client is one in which the client handles not only the user interface but most of the application's decision logic as well. This leaves only the data-retrieval and update functions to the back-end server. A fat server application results when the client is little more than a GUI that issues SQL requests to a database server. In this type of application, the server handles most of the decision logic and calculations. The server then sends packets of formatted information back to the client for display.

Some analysts and makers of development tools are now advocating a three-tier client/server model ( see the figure ). In this model, the decision logic and heavy calculations are separated from the rest of the application and put into a partition of their own. Th is becomes the middle tier of the three-tier model. The first tier contains only the presentation services, the GUI. The third tier provides all the data management services.

With an application partitioned in this way, you have the flexibility to deploy each piece of the application on the system that gives it the best performance. Instead of running a CPU-hogging number cruncher on a 66-MHz 486, let it rip on a blazingly fast 275-MHz Alpha AXP system. If you have to work with huge amounts of data, why try to cram a small piece of it into the 8 MB on the desktop client when you could fit everything into memory at once by accessing 512 MB of shared memory on an application server?

Some development tools take this even further by allowing you to replicate the application logic across multiple servers. With this configuration, automatic load balancing can be performed, letting the application server with the most available resources handle the clients' requests for services. Having multiple applicat ion servers also provides another benefit: Even if one or more servers goes down, requests can still be processed by the remaining servers. You can quickly envision a system that is as fast and as reliable as you want to make it. All you need to do is throw more hardware at the problems until there are no more problems left to solve.

Platform Oblivious

If you are a developer, you may wonder what hoops you have to jump through to get a program to work like this. That is one of the main reasons that Digital is building support for the Win32 API into OpenVMS. It is already possible for you to build and partition a client/server application using the three-tier model, and you have a number of development tools to choose from to help you. The problem comes when you need to choose the target platform.

With most of the existing tools, you need to be very aware of the target platform for which you are writing the application. If you don't continually take this into account, your be autifully designed program will probably not run properly when it gets to the target system. According to Digital's Melling, it is Digital's goal to make things so transparent that the developer can be "platform oblivious."

By supporting the Win32 API on OpenVMS, Digital has brought developers one step closer to being "oblivious." You will be able to develop a client/server application on a Windows or Windows NT machine and then deploy it on any combination ofWindows, Windows NT, or OpenVMS systems.

Support for the entire Win32 API will not come all at once ( see the chart ). First, Digital will support what Microsoft used to call the Win32s subset of the API. This portion of the API provides everything needed by a typical Windows program, such as I/O functions, memory management, and object management, plus the common graphics- and window-management calls. By the time you read this, support for the Win32s portion of the API, along with support for OLE 2 and the Microsoft Found ation Class, should be available. Within six to nine months, some of the Win32 server API calls will be supported.

Digital is now in the process of surveying customers as to which calls are most important and should be included in this second phase of support. Then, in the next 12 to 24 months, Digital intends to support the rest of the Win32 server API calls as well as the BackOffice API.

Presto Change-o

Bristol Technologies (Ridgefield, CT) is performing the magic that allows OpenVMS to understand and handle the Win32 API calls. Bristol is writing a library of callable routines that translate the Win32 API calls into the appropriate OpenVMS system services. The routines translate GUI-related API calls into their equivalent Motif calls. To enable an application designed for Windows to run under OpenVMS, you simply recompile your source program on an OpenVMS system and link it with this library. Except for minor differences between the Motif and Windows interfaces, you sho uldn't know or care about the operating system on which your application is running.

It will take benchmark tests to determine comparative performance figures based on real applications. But Digital expects that performance will be almost identical between a Windows application running under Windows NT and the same application running under OpenVMS on the same hardware. Mike Cuccia, director of OpenVMS marketing at Digital, says that application performance on an OpenVMS platform is within 10 percent plus or minus of the performance on a comparable NT platform. Some calls are faster under OpenVMS and others are slower, so the performance of your specific application will vary depending on what it does.

Large applications that can be scaled over multiple processors can benefit from the better symmetric multiprocessing performance of OpenVMS. Windows NT tops out at three or four processors, while OpenVMS can go up to 10 or 12 processors. Another potential benefit of OpenVMS is that it will soon supp ort 64-bit memory addressing. If your application manipulates massive amounts of data, you could see performance increases of up to 200 times by being able to get all the data into memory at once instead of having to bring it into memory in smaller pieces.

Digital expects that most client/server application development will continue to be done on Windows or Windows NT platforms. The company is therefore concentrating on making its OpenVMS development tools integrate with existing Windows development tools. Digital is making its compilers compatible with Microsoft compilers and is porting its development tool set to run under Windows NT.

Digital is working with other development-tool makers to ensure that these tools integrate well with Windows clients and OpenVMS servers. Some of these third-party environments help the developer with both the design process and the complex task of partitioning the final application. These environments insulate the developer from the underlying hardware and OS depe ndencies. Their ultimate goal is allowing the developer to concentrate on the application. The details of splitting the source code into different parts for compiling and deploying on different OS platforms will all be handled automatically by the development environment.

For years, OpenVMS has proven to be a secure, highly reliable OS for mission-critical applications. If Digital can pull off the integration of OpenVMS with Win32, it will have a powerful argument to convince developers of future client/server applications that they should continue using Digital's operating system.


Win32 API Support on OpenVMS

Expected Release Time:                  Features Supported:
======================                  ===================
Now to 3 months                         Win32s API, OLE 2, Microsoft 
                                         Foundation Class

6 to 9 months                           Selected Win32 Server API calls

12 to 24 months
                         Remaining Win32 Server API, 
                                         BackOffice API




Three-Tier Client/Server Model

illustration_link (9 Kbytes)

OpenVMS with Win32 will enable developers to deploy three-tier client/server applications.


Mark Feniello has worked with various Digital systems, including OpenVMS, for 15 years. He is currently a systems analyst for Spokane Computer in Spokane, Washington. He can be reached c/o editors@bix.com .

Up to the Core Technologies section contentsGo to previous article: PixelFlow: Scalable Image ProcessingGo to next article: Windows NT ThreadsSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network