Novell is now a part of Micro Focus

Cross-Program Strategies

Articles and Tips: article

Phil Rowley
Software Engineering Manager
Novell Labs.

01 Jan 1996


Novell Labs Maximizes Developer Benefits

Novell offers a number of programs supporting network solutions developers, the central one being the recently announced DeveloperNet program. In many cases, the requirements of a complete solution traverse the domains of more than one program. By under-standing the relative areas these programs cover, you can maximize the benefit of Novell's support and speed the development of your products.

A common misunderstanding is that Novell Labs deals only with hardware, complementing DeveloperNet software. As we will see, this is not always true. Novell Labs' services often help developers leverage the benefits of the other programs.

DeveloperNet is Novell's key foundational program for all applications developers, and has already been described in depth in this and other Novell publications. DeveloperNet provides regularly updated software development kits as well as highly focused developer support, conferences, Developer Notes, and several other publications. Application developers are well advised to join DeveloperNet because it offers such a rich variety of software, service, and support.

Additionally, some developers may wish to take advantage of the Novell Embedded Systems Technology (NEST) program in order to develop intelligent networked devices containing embedded microprocessors. NEST provides Novell's protocol stacks in portable form, along with some simple interfaces which can be easily adapted for any embedded real time operating system.

Particular provision is made for intelligent "NDS"aware" printers and print servers. NEST provides the only means of developing intelligent hardware devices capable of interacting with NetWare 4"s NetWare Directory Services (NDS). Any other development route will yield products that work only with NetWare running in Bindery mode.

Since a complete solution may also require other non embedded functions, such as front ends written as NLMs or client applications, NEST developers will often benefit from the other developer support programs, such as DeveloperNet and Novell Labs.

Novell Labs has been running a support program for several years, largely though not entirely aimed at hardware platform developers. This program is much narrower in its focus than DeveloperNet and NEST. Generally, it covers very specific sets of low level operating system interfaces, such as driver interfaces for products such as LAN cards, mass storage devices, and even PABXes.

Novell Labs also provides the testing services behind the Yes certification logo, not only for the product categories covered by its own development kits, but also for PCs, NLMs, and embedded NEST devices. The Yes logo carries a high degree of market recognition as a symbol denoting compatibility, quality, and resilience.

Novell recently announced enhancements to the Yes program, with a more tightly defined set of qualification criteria, in order to boost the value of the Yes logo. Most hardware products and NLMs are no longer eligible to use the Yes logo. Many developers may therefore want to submit their products prior to release to Novell Labs, for Yes certification, to benefit from the recognition the logo gives.

As developers, you also often need information on products to use with your own, such as file servers, LAN cards, RAID storage systems, or utility NLMs. What better place to look for these than in Novell Labs' regularly published listings of Yes certified products, available through FaxBack, the World Wide Web (WWW), or CompuServe. Novell Labs publishes the certificates or bulletins for all Yes certified products, which can be accessed via all of these services.

Before making any purchasing decisions, always get copies of the bulletins for the product you are interested in, and check that the tested configuration matches the desired one and look to see if there are any limitation notes regarding any problems with the product.

NLM developers in particular should note that the newly enhanced Yes branding program now requires all NLM products to undergo Novell Labs' certification testing in order to qualify for the Yes logo. What many developers overlook is that Novell Labs' NLM testing tools have already been provided for their benefit in their CD SDK.

In the NLM development section is a complete chapter on testing, outlining the certification procedures and usage of these tools. These include SENTRY, an NLM behavioral monitor, as well as scripting tools and the PCL code coverage logger that lets you track how many symbols in your code have been covered by the exercising scripts.

During the development phase, these tools are ideal for testing your code as you go along, and getting all the wrinkles out early on in the product's life cycle. When submitting product for certification, you will also need to present Novell Labs with documented test results generated by these tools. This saves you both time and money by ensuring that Novell Labs does not find holes in the first pass. Even if you are developing NLMs purely for in house use, these tools will prove invaluable for code testing and to ensure that server integrity will not be compromised by the NLMs.

Novell Labs provides a range of SDK "bundles" known as Developer Guides for "low"level" products, generally interacting with the operating system by means of device drivers. Developers sometimes ask why these guides are more expensive than the regular Novell SDKs.

The reason for this is that the Developer Guides contain a lot more, with specialized development training classes, source code of Novell's own drivers, and Novell Labs' own certification testing tools as well as online support directly from Novell Labs' development engineers. Additionally, all device drivers must be pre tested with the Novell Labs tools before being submitted for certification, just as with standard NLMs. Thus, the Developer Guides actually represent an extremely good value.

However, there are cases of developers needing to build hardware integrated products not specifically covered by Novell Labs' kits, nor requiring integration of NetWare protocol stacks through NEST. These might include such items as server based document scanners or terminal emulators for proprietary host protocols. What should be done in this case?

The standard NLM writing documentation provides little in the way of guidelines for addressing hardware devices directly. This is because generally it is preferable to write to NetWare's operating system services, which in turn access standard types of hardware devices through appropriate drivers. NLMs accessing hardware directly tend to have to execute in Ring 0 (which unfortunately adversely affects their ability to run in SMP environments).

When direct access is the only option, a very good place to start is with the Novell Labs' device driver specifications. These specifications, which form part of the Novell Labs Developer Guides, are freely available through CompuServe and the Internet. On CompuServe they are now to be found in the NetWire General Forum (GO WORD: NWGENFILES) and on the Internet ftp server ftp.novell.com in /pub/netwire/novlib/11.

They help provide useful models for writing NLMs that talk to hardware, as well as illustrating how to access certain useful operating system entry points, such as those used by ODI LAN drivers or mass storage devices.

These specs are intended for developers who want to gain a better understanding of device driver interfaces before subscribing to the Developer Guides. Novell Labs only supports developers who have licensed the appropriate Developer Guides. As far as possible, you should write any code modules needed to talk directly to hardware as separate, compact NLMs. These NLMs should export symbols to the NLMs forming the main body of the application.

On occasions developers ask how to write applications that talk directly to the LAN or WAN via the ODI model. This is a very good approach, and works for a wide range of operating system environments, including NetWare server, DOS, MS Windows, and OS/2. To assist you, the ODI Protocol Stack Developer Kit is available at $50 (plus $15 delivery) through regular DeveloperNet channels.

Although Novell Labs often receives requests for this specification, it is not one that they can supply. Your application may indeed include a true protocol stack, such as for a gateway to proprietary host protocols used by some legacy mainframe systems. On the other hand the application may not be a true protocol stack, but have reasons for being able to send or receive special packets on the network. Sometimes, developers attempt to do this by writing directly to the ports on a LAN card.

However, this approach has a number of drawbacks, the chief being that it will only work with one specific type of LAN card and requires rewriting to work with others. Software based protocol analyzers are a good example. A number of certified LAN cards have drivers that support promiscuous mode, allowing them to be accessed more "cleanly" through ODI. Again, to get a better understanding of the ODI LAN driver's behavior in such cases, examine Novell Labs' ODI LAN Driver specifications, downloaded from CompuServe or the Internet, in addition to the ODI Protocol Stack SDK.

Finally, two new Yes certification programs are being introduced by Novell Labs. The first of these is NEST certification for intelligent network devices and print servers, developed using the NEST SDK. As with other Novell Labs certification programs, the developer is provided with Novell Labs' test tools in the NEST SDK to allow products to be pre tested before being submitted for final certification.

The tests verify the behavior of the embedded protocol stacks, and in the case of printing devices also send standard text and graphics print data streams. Soon to be released is the certification program for PBX TSAPI Drivers. Again, a test kit will be provided, containing Novell Labs' certification tools, which the developer must pre test with their PBX driver. These tools check that the PBX and its driver conform to the normalized function call and call event model required by Novell for telephony application portability.

These have to be used in conjunction with the test tools in the NLM section of the Novell CD SDK, because PBX drivers being NLMs must also conform to NLM certification criteria. Due to size and weight, it is usually inconvenient to ship PBXes to Novell for testing, so in some cases a Novell Labs engineer visits the PBX developer site to perform the final runs of the certification tests. Alternatively, they may have their own labs authorized by Novell.

Because adherence to Novell's normalization model is a requirement for PBX certification, for developers this means that telephony-enabled applications may be readily written to be portable across all certified PBXes.

As we have seen, there are a number of product types that do not fit into a single development category and can benefit from a mix of Novell's support services. However, whether or not they are cross category solutions, in many cases they will gain advantage through Novell Labs' Yes certification services, Developer Guides, and freely available driver specifications. NLM developers will also find Novell Lab's testing tools in the NLM SDKs particularly helpful toward building more robust code, as well as preparing product to be submitted for certification.

For further information, Novell Labs can be contacted by telephone at 801 429 5544, fax 801 429 5224, or via the e mail address NovLabs@novell.com. Developers based in Europe, the Middle East, or Africa may instead contact Novell Labs European Center at 44 [0]1344 724022/4438, by fax at 44 [0]1344 724050, or via the e mail address NLabs Eur@novell.com. Certification information is available by FaxBack at 801 429 2776 and 44 [0]1344 724444 and via the Internet at http://developer.novell.com.


New Symmetric Multiprocessor (SMP) Resource Lab Assists NetWare 4 Developers

Novell Labs is pleased to announce the availability of its new SMP Resource Lab. The SMP Resource Lab is designed to assist Novell's partners as they develop hardware and software products for NetWare 4.1 SMP. Developers can test and fine tune their products to perform optimally on a variety of multiprocessing servers running NetWare 4.1 SMP all at one location.

As a NetWare developer, the NetWare 4 SMP Resource Lab offers you the following benefits:

  • Provides a place to develop, test and debug NetWare 4 SMP compatibility with your product, on a variety of configured multiprocessing systems.

  • Allows you to develop products that use SMP and other NetWare-enabled services in the early product development cycles.

  • Maintains close interaction with Novell engineering and developer support teams.

  • Helps you discover and resolve bugs more quickly allowing you to deliver a high-quality, integrated product compatible to NetWare.

A variety of multiprocessor servers from the industry leading OEMs are already available, and Novell is continually expanding its equipment inventory.

In addition, Novell has a wide variety of automated testing tools to simplify your testing procedures; and a staff of helpful and knowledgeable engineers to support you. You also have exclusive access to the Novell SuperLab facility that provides hundreds of client workstations for stress testing your products.

Use of the SMP Resource Lab, including equipment and engineering assistance, is free of charge to Novell developers. To schedule a time to test your products in the SMP Resource Lab, contact Joe Ballif at 1-801-429-7126 or jballif@novell.com

To ensure your products take full advantage of the exciting potential of NetWare 4.1 SMP, don't miss this opportunity to utilize the Novell SMP Resource Lab.

* Originally published in Novell AppNotes


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates