David Strom

NLM Development Tool

By David Strom

     Developing NetWare Loadable Modules hasn't been a task for the faint of heart.

     Navigational aids_compilers, tutorials and other tools_have been extremely limited. And

programmers have lived in fear that their NetWare 3.x or 4.x server would crash as they

tested new NLM programs.

     In December, however, Carlsbad, Calif.-based Hawknet Inc., began shipping NetCode_a

product unlike anything available today.

     The NetCode interpretive language is a complete NLM development and testing

environment. It lets programmers develop custom NLMs with a twist:

all the code can be run on an ordinary DOS workstation as well as a NetWare server. That

makes testing code a lot easier and safer for corporate networks.

     But even NetCode demands a degree of bravery_or at least watchfulness.

     This product could be a loaded gun aimed directly at your network administrator:

especially if it falls into malevolent hands. The reasons is because NetCode gives anyone

Carte Blanche access to the bindery, the heart and soul of a NetWare server. The manual

even has an example of a NetCode program that anyone can write to provide supervisor

access to the bindery with no password. That's a real security nightmare.

     While I recommend this unique and useful tool for the enterprise, it's with the caveat that

users should be extremely careful about who has access to it.

Why Write Code?

What can you do with NetCode? Lots of things, ranging from the mundane to the creative

and otherwise impossible. If your IS manager is the type who complains about idle processing

MIPS lying fallow on desktops and servers, then NetCode will have lots of appeal. You can

finally harness these processors to do some useful work. 

     Now, my last days as a programmer were back before Basic was visual and before C was

included in any undergraduate computer science curriculum. So, I called several NetCode

customers to find out what they produced with the language. I was impressed with the

diversity of applications.

     Mark Living, a programmer with Quaker Oats, developed several utilities using NetCode.

One utility checks the company's 60 or so NetWare server for files that need to be uploaded

to mainframe and Unix platforms for another corporate-wide application. It then moves these

files and logs onto the next server. Living has written other utilities that perform similar

backup and accounting housekeeping tasks at night.

     There are some other products that can kick off scheduled programs on DOS

workstations, but these require a dedicated workstation. NetCode, however, puts the program

on the NetWare server, which is where it belongs.

     How well does NetCode work? Living says it "was a rocky road" trying to get the

product to work at first. "Remember, you are learning a new programming language from

scratch. But HawkNet was great about sending one of their top programmers to work with us

for several days." Of course, having a name like Quaker can escalate matters quickly.

HawkNet, however, does offer training courses for a reasonable fee.

     Quaker found a few bugs with both the product and its interactions with other commercial

NLMs_which points out how hard it is to develop mission-critical software on NetWare

servers. One program Quaker wrote ran fine under DOS, but it crashed when it was run as an

NLM on the server. HawkNet has since fixed the problem.

     Quaker also experienced difficulties because its frequent logins and logouts of various

servers overwhelmed Novell's NetWare Management System. Once Quaker changed the

program logic, it worked just fine. Still, the problem illustrates how careful programmers need

to be, since the potential for conflicts with commercial NLMs is great, and the NetWare

environment can't be completely recreated in DOS.

      Living compares NetCode to a mainframe job language. So does Bob Veatch,  a

programmer for the St. Louis,   county government. Veatch wrote a utility which inspects the

NetWare bindery and looks for active Digital Communications Associates Inc. IrmaLAN

mainframe gateways. The program then loads the remote console for each gateway so that it

can be monitored. "This task would have been impossible to do without NetCode," he says.

Changes in Store

One problem with NetCode, though, is that it is sold by a small company. During the last few

months I received several updates to the software, all labeled version 2.3. This kind of

experience doesn't generate confidence. HawkNet needs to be more careful with its

maintenance releases, especially since it is about to widen its product line with a compiler

and a Windows version of the product. The compiler is scheduled to be released later this


       This expansion should also help remedy some of the product's security problems. Until

now, NetCode programs have been written using the product's interpretive language. This

means that anyone can inspect, change, or maliciously alter a  program as long as they have

access to the directory on the file server where the program files are located. It also means

that users have had to buy a run-time license for each server using these interpreted programs.

       With the compiled language users will either compile a DOSsmall caps follow: .EXE or

NetWare NLM executable file. Once that is done, no one will be able to change the program

or see its logic_which is somewhat reassuring.

      I haven't tested the compiler, but beta testers say it should work as advertised.

     HawkNet has also restructured its prices with the impending release of its compiler. Users

can get started with the interpretative product for less than $300 and then apply that cost to

the purchase of a compiler, which is another $1,000. And, once you compile your program,

you won't need a run-time license for each server. So you have a low-entry cost and the

compiler pays for itself if you plan on deploying the programs on more than seven servers. 


Finally, I was fairly impressed with the product's documentation. The manual contains lots of

code fragments and other examples. Experienced programmers should be able to pick up the

language after a bit of experimentation_especially if the programs aren't unduly complex.

     The level of experience required to work with NetCode is less than that required of a C

programmer, and on par with a good dBase programmer.

     While all the various commands and language syntax is documented, the theory behind

what kinds of NLMs can be created is somewhat lacking  

     One nice feature of the product is an on-line tutorial. Not only does the tutorial walk you

through some of the programming concepts, but it is written entirely in the product. That

means you can dissect the code and use it as an example to write your own programs.


Vital Statistics: Hawknet's NetCode Version 2.3

     * Interpretive language $295; per server run-time license $149; compiler $1295 (April

ship date)

     * Free support for product line in first year; after that $1,000 minimum per year or 20

percent of purchase price, whichever is greater; custom programming and training also offered

     * Shipping since December 1993  

Ready for the Enterprise: UP: But in the wrong hands NetCode is dangerous

Overall: UP: NLMs programs can be tested on network-connected DOS workstations before

running on the server; language is comparable in difficulty to dBase

DOWN: HawkNet has limited technical support resources and updates its software frequently.

Competitive analysis:

UP:   This is the only product that can create NLMs without having to resort to programming

in C. 

HawkNet Inc.

5962 LaPlace Court #101

Carlsbad, Calif. 92008


619-929-9969 (fax)

Test Bed:

Dell 486/D50 workstation running 1.1 VLM NetWare client, Dell 486/D50 running NetWare

3.11, an Ethernet network


Click here to return to the previous page

David Strom David Strom Port Washington, NY 11050 USA US TEL: 1 (516) 944-3407