Novell is now a part of Micro Focus

The Winners' Circle

Articles and Tips: article

Senior Technical Writer
Developer Information

01 Feb 1999

Announces the first quarterly winners and finalists in the Novell Developers' Contest. Highlights winners' circle finalists: Office Pack from PlusFactor Software, and DSExpert from NetPro.


Novell has announced the first quarterly winners and finalists in the Novell Developers' Contest.

The overall winning entries in the Commercial Applications Software category were:

  • WebConsole v3.0 HiTecSoft Corp.

  • Authentication Server Clemson University

We want to welcome Clemson University back into the winners' circle, after their winning entry in last year's "Get Off Your Apps" developers' contest.

The finalists in the winners' circle are:

  • PlusFactor Software's Office Pack

  • NetPro's DSExpert

  • Netoria's SFLOCK

  • Network Associates' Netshield, NetWare 3.18

  • Office-Net KKT's Niagra Mail Server

  • Pervasive Software's SQL

  • SBT Accounting Systems', Executive Series

This month, The Winner's Circle will focus on PlusFactor Software Inc.'s OfficePack and NetPro's DSExpert. For information about Clemson University's prize-winning Authentication Server, see the article about their NDS-enabled solutions in Novell Developer Notes June 1998 issue:

PlusFactor Office Pack

PlusFactor Software Inc.'s PlusFactor Office Pack was a quarterly finalist in the developers' contest.

Office Pack is a revolutionary software product designed for small businesses. The idea behind Office Pack is simple. Office Pack takes everyday office tools, like "while-you-were-out" message pads and In/Out Boards and delivers them in a network software package. Office Pack features seven tools in all including: in/out board, employee roster, company calendar, conference room scheduler, ticker tape memo, "while-you-were-out" message pads, and electronic bulletin board.

Developed in Java

PlusFactor Office Pack is based entirely on Java technology allowing it to integrate fully with NetWare 5. Novell has built a complete Java environment into NetWare 5 that includes a Web Server, a Java Virual Machine, and a Servlet Interface. In Office Pack, PlusFactor Software takes advantage of these components to deliver a product that:

  • Supports multiple server platforms including NetWare and Windows NT

  • Is easy to administer because it requires no installation on client PC's

  • Is easy to use because customers can access with their familiar browser interface

Uses NDS

Office Pack leverages Novell Directory Services (NDS) to populate its employee database. Office Pack customers can import names, addresses, phone numbers, and more avoiding unnecessary re-keying of data. Office Pack allows a bulk import from NDS at installation time and also features a runtime import that merges data from NDS into the Office Pack database.

Note: Office Pack uses the LDAP protocol to access NDS.

Integrated into NetWare 5

OfficePack is completely integrated into the NetWare 5 environment. Loading the servlet is easy:

  1. Customers select a URL that points to the Office Pack servlet. This request uses the HTTP protocol and TCP/IP. The request starts launching the Office Pack Java servlet on the NetWare 5 server.

  2. The Java request is passed to the Web Server. The NetWare 5 Web Server receives the HTTP request and deciphers it. The request is for a Java servlet, so the Web Server passes the request to the NetWare Servlet interface.

  3. The Servlet Interface launches the NetWare Java Virtual Machine (JVM). The JVM creates the runtime environment that interprets the Office Pack servlet.

OfficePack Architecture and Communications

Office Pack is architected as two Java applications:

  • A servlet that runs on the NetWare 5 server

  • An applet that runs on the client PC

The servlet and applet use TCP/IP to communicate with each other. As an example of the servlet/applet communications, assume an end-user must change the Office Pack In/Out board. The following communication between the servlet and the applet:

  1. The client applet receives a change. Users can select a button, indicating they will be out of the office, and select a return time. The client applet uses the TCP/IP protocol to pass this change to the Office Pack servlet.

  2. The servlet receives the change from the applet and processes this series of TCP/IP packets in its centralized database.

  3. The servlet updates active client applets. The servlet sends a series to TCP/IP packets to the active client applets. All active clients now have an accurate in/out status for each employee.

Why Plus Factor used NetWare 5 and Java

Plus Factor's Office Pack uses NetWare 5 and Java to offer:

  • Easy installation. Users install PlusFactor Office Pack from any client PC using an install shield. Because NetWare 5 provides a complete Java environment, the user does not have to install any additional network components.

  • Easy-to-use features. Because Java and NetWare eliminate many coding and testing cycles necessary to porting to third-party platforms, PlusFactor Software was able to focus engineering resource on providing advanced, innovative features.

  • Optimized performance. NetWare 5 provides a complete Java environment which gives PlusFactor a fixed Java environment for testing and optimizing code. As a result, Office Pack has been tuned to run on NetWare 5 with its built-in JVM.

  • Platform independence. By using Java, Office Pack runs on NetWare 5 servers, Windows NT, UNIX and other servers that support Java.

  • Low administration. Office Pack uses NDS to populate the database and reduce administration costs. It houses client and server code on a central server to eliminate problems with version control and software distribute. Office Pack also runs in a browser, minimizing the users' learning curve.

Congratulations, PlusFactor, for producing an integrated office solution.

NetPro Inc. DSExpert

NetPro Inc.'s DSExpert is the industry's only management software that ensures the health of NDS. It eliminates the need for manual health checks of the directory by monitoring all processes critical to NDS operations.

This software enables the administrator to perform routine directory configuration changes knowing that the directory's health is stable, and it provides alerts to errors only when the condition being monitored crosses a predetermined threshold.

Diagnoses NDS

DSExpert provides real-time, NDS monitoring of critical conditions from a sub-tree or full tree view. Administrators can use DSExpert to troubleshoot NDS problems over Windows Client or SNMP consoles, such as Novell's ManageWise. It not only alerts administrators to error conditions when they occur, it also identifies the error and the error location. The alerts are triggered not when an event occurs but when a condition crosses a threshold defined by the user customized for their environment.

DSExpert receives its NDS information by reading the NDS tree and by receiving information from the DSExpert Agents (DXAgents) it installs on the NetWare servers. Administrators can access alerts, alert thresholds, and NDS tree information through the DSExpert Windows console. DSExpert also provides a Windows-based, multiple server, DSTRACE console. DSExpert uses a monitor/agent NLM architecture to minimize network traffic. Their architecture also includes DXAgent software distribution and version control.


DSExpert is made up of a Windows client and three primary NLMs:

  • Tree Monitor

  • DX Agent

  • NPLoader

DXSNMP.NLM is an additional NLM that passes DSExpert alerts to Novell's SNMP.NLM

Tree Monitor NLM (DXMON.NLM) runs on a single server within the NDS tree and monitors the entire tree. It builds and maintains a database of servers, partitions, replicas, and replica tables in the tree, configures and communicates with DXAgents running on each server, and communicates with the Windows client and services its requires. If a server does not have a DXAgent loaded or running, the Tree Monitor polls the server for the minimum necessary data to build a complete picture of the tree. The Tree Monitor handles all communication between the DXAgents and the Windows client.

DXAgent NLM (DXAGENT.NLM) tuns on each server and monitors NDS data and activity. This NLM:

  • Monitors for any changes to the NDS replicas resident on that server

  • Monitors the DSTRACE activity on that server

  • Monitors the critical process conditions necessary for NDS stability

  • Updates the Tree Monitor as to the server's changing data and alert status

DXAgent NLM builds and maintains a database of the NDS replicas on the server and takes control of the local DSTrace facility. It also monitors disk and memory resources.

NPLoader NLM (NPLOADER.NLM) runs on each server in the tree and allows automatic version control, distribution of new DXAgents and the DSExpert database files, and remote loading and unloading of DXAgents. If Tree Monitor NLM detects that a server does not have DXAgents, it uses NPLoader NLM to load an Agent on the server if enough Agent licenses remain. Tree Monitor NLM also uses NPLoader NLM to update the DXAgent and the DSExpert database files to the current versions in the SYS:\SYSTEM\DXMON directory.

NDS Views and Alerts

DSExpert provides a real-time, graphical view of an entire NDS database either from the root or from a sub-tree. Administrators can:

  • See the entire NDS tree organized by partition

  • See the entire NDS tree organized by server

  • Use duplexed monitors to provide uninterrupted monitoring

  • Have Web access to alert data

  • Use MultiServer Trace messages

DSExpert provides administrators flexibility in setting alerts. They can set minimum and maximum thresholds for alerts. They can also set alerts to trigger only when the alert state has existed for a period of time. Defining alert state durations is useful because NDS can re-synchronize for some network events. This means that problems fixed during synchronization do not trigger alerts providing notification only when an error occurs. DSExpert includes these NDS-based alerts:

  • NDS partition replica count too high or too low

  • NDS partition replica table inconsistent

  • NDS replica error during synchronization

  • All replicas are not synchronized

  • NDS replica synchronization duration is too long

  • NDS replica state is stuck

DSExpert Server Alerts also have flexible settings with minimum and maximum thresholds. Administrators can also set these alerts to trigger only when the alert state has existed for a set period time. The DSExpert server-based alerts are:

  • NDS replica count is too high

  • Server has lost time synchronization

  • Server is not responding

  • DS.NLM, TIMESYNC.NLM, and DSExpert software versions

  • Low SYS volume disk space

  • Low server memory

DSExpert also allows administrators to monitor the NDS DSTRACE information without logging this information to separate files and then comparing the files. With DSExpert, the administrator can select the Multiserver Trace feature and load the selected options on a client console to watch DSTRACE conversations between multiple servers. This can aid system administrators in debugging NDS error conditions from a single point. Administrators can also access all DSTRACE filter options through the Multi-Server Trace console.

Communications Model

DSExpert's architecture is event-driven with distributed agents. The agents locally gather and analyze NDS information. They transmit that information only when requested by Tree Monitor NLM. To avoid polling, Tree Monitor NLM registers for events on NDS, DSTRACE messages, periodic updates or DS Agent statistics, without using SAPs.

DSExpert handles five types of communication:

  • DXAgent status

  • DXAgent updates to the Tree Monitor NLM

  • Polling NDS Servers nor funning a DXAgent

  • DSTRACE messages

  • Windows client communication with Tree Monitor NLM

DSExpert implements the DXAgent status queries and NPLoader functions as NCP extensions. All the other communications use TLI. Currently, DSExpert uses SPXII as the underlying protocol because it is a true windowing protocol and does not require an acknowledgment for each message. This also minimizes traffic over slower WAN links.

* Originally published in Novell AppNotes


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