Return to List of Articles Return to List of ArticlesReturn to TLCC Home Page Return to TLCC Home Page


Author: Howard Greenberg

Title: Crafting Notes' apps

Magazine: PC Week

Date: 11/27/1995



Crafting Notes' apps

By Howard Greenberg

Groupware

Following these six easy steps can help ensure everything turns out right the first time

Companies large and small are turning to Lotus Development Corp.'s Notes as a platform upon which to build strategic applications that automate mission-critical business processes.

In particular, Notes lends itself to creation of such applications as sales-automation systems, service-request and tracking systems, and human-resources databases.

The reasons for this are clear: Not only does Notes incorporate a fast application-development environment, but its integral E-mail system also eases the development of workflow applications. What's more, its object-oriented database permits the storage of linked, or compound, documents from disparate sources (for instance, a Lotus 1-2-3 spreadsheet, a Microsoft Word document, and a multimedia application).

Sharing the wealth

Notes is a very powerful tool for creating applications that can dramatically increase productivity and speed up business processes. Due to its complexity, up-front planning is necessary to ease the deployment of Notes in your organization.

Though Notes can bring many benefits to an organization, including allowing diverse groups to work together and share information across an enterprise, these benefits come at a price.

Notes is more than an application to install on every user's desktop; rather, it's a system for use across an enterprise. Not surprisingly, Notes is much more complex to deploy across an enterprise than a word processor or spreadsheet. While this complexity is largely hidden from users, those charged with Notes development have to take many factors into consideration when deploying Notes as a development platform. Along with such issues as security and network architecture, Notes developers should plan on training systems administrators as well as users.

Step 1: Testing, testing Any organization considering implementing Notes should first do a pilot installation with a limited number of users--say, 25--running one or two small Notes applications that are simple enough for fast and inexpensive deployment, yet important enough to provide visible results to the organization in terms of improving a current process.

A pilot application should achieve three goals. First, it should provide hands-on experience in using, developing, and administering Lotus Notes. Second, there should be a clear benefit to the organization and the pilot users. Finally, it should prove to management that Notes can provide a significant return on investment.

To achieve that goal, likely candidates for a pilot Notes run are decision-makers. Therefore, the best applications to use in the pilot are executive information systems, discussion databases, information warehouse databases, and sales information databases.

A good way to organize a limited pilot project is to involve only one department or group; say, the task could involve developing a sales information system about a specific product that also entails gaining approval for the new product across the enterprise.

The pilot project should be monitored carefully to ensure that problems are fixed quickly. Users should be surveyed on a regular basis, either formally or informally, to pinpoint their views and opinions about the application.

After a fixed period of time, the pilot application process should be fully reviewed to determine its success, and what was learned from the pilot should be compiled.

Step 2: Laying the foundation

Once the decision has been made to implement Notes beyond the pilot project, an infrastructure plan must be developed. It can't be stressed enough that inadequate planning can doom a Notes deployment.

The infrastructure plan should address the following areas:

* Certification scheme for the organization. Notes
uses a hierarchical scheme for naming users and servers,
which requires that an organization name be used as part of
the full user name. Notes also allows for the use of
organizational units to differentiate users in disparate
functional or geographic areas; because of this, the
administration of user names can be delegated, and such
common names as John Smith may be assigned a unique user name
based on the organizational unit.

The certification scheme should be determined prior to
rolling out Notes to many users. If changes to the
certification scheme are made after roll-out has begun,
everyone must get recertified--a time-consuming and expensive
process.

*
Domains. A Notes domain defines the group of users
and servers who share a common Name and Address Book, which
contains information about the users, servers, and groups,
along with information used for mail routing and replication.
Because many large organizations have so many users, they
should implement multiple Name and Address Books to ease the
storage crunch. And if multiple domains are used, users
sending mail to another domain will have to add the correct
domain name after the user name. Though a single domain may
be split into separate domains, this is pretty
time-consuming.

*
Use of specialized servers. When there are more
than, say, 50 Notes users, it's time to consider splitting up
Notes servers by function. This will allow servers to be
tuned for a particular task.

For instance, administrators can establish a discrete
Notes mail server, a Notes database server (which will handle
hub server replication), a Notes hub server (which is
recommended for companies with more than three Notes
servers), and a gateway server.

*
Replication plan. Notes' client/server architecture
dictates that data must be replicated between the different

Notes servers and users. Replication between servers should
be scheduled carefully to avoid overloading the Notes
servers. A hub-and-spoke replication plan is strongly
suggested once the organization has more than three servers.

*
Network connectivity. The network plan should
detail how each server will communicate with the other
servers, as well as how local and remote users will connect
to the Notes servers.

The network protocol used should be listed, and a decision
should be made as to whether a dial-up link to a remote site
will be sufficient in terms of performance. If heavy traffic
to the remote site is anticipated, a WAN connection may be
necessary.

*
Remote connectivity. If there will be many dial-up
(laptop) users, it may be best to use a multiport card, such
as Digi International Inc.'s Digiboard, to handle the calls.

Modems may be installed directly into the Notes servers,
or a remote LAN access tool may be used; the latter allows
users to dial into the LAN itself and then access all the
services on the LAN, including the Notes servers.

*
Mail routing. The infrastructure plan should
address how Notes users will access any mail system, the
Internet, or other on-line providers.

*
Server-monitoring plan. To minimize server
downtime, such leading server hardware vendors as IBM and
Compaq Computer Corp. offer server-monitoring tools that
notify administrators if the hardware or system software
suffers a failure.

Along with equipping Notes with an event- and
statistics-monitoring database, Lotus sells NotesView, which
permits Notes server monitoring via Hewlett-Packard Co.'s
OpenView SNMP-based management platform.

*
Server-hardware and operating-system
specifications.
Although Notes server hardware and
operating systems should be chosen based upon the anticipated
load on the server and the vendors' track records with that
organization, OS/2 Notes servers currently receive the
broadest support in terms of add-in products, such as
gateways.

*
Backup and disaster-recovery plans. A plan should
be formulated to allow for off-line backup of Notes databases
on a daily basis. Replication can also be used to create a
backup Notes server that can quickly be brought online to
replace a failed server. The use of tape backups will allow
deleted documents to be recovered.

*
Use of pager and fax gateways. Pager and fax
gateways extend the functionality of Notes, and should be
considered as part of the infrastructure plan.

*
Integration with legacy systems and relational
databases.
Certain Notes applications may require that
data be moved on a regular basis to legacy systems and
relational databases, such as accounting systems, human
resource databases, and inventory systems.

Steps 3 and 4: Who and what

Step 3, the rollout, should determine who will create the user and server IDs, who will install and set up the server software/hardware and client software/hardware, and the time frame in which all these tasks will be accomplished.

And once the Notes system is up and running, it needs to be administered on a regular basis. Step 4's system administration plan should specify who will be responsible for the administrative tasks at each location or server.

These tasks include controlling server access; server data backup; server monitoring; setup of new servers and user machines; setup of new user-ID files and removal of defunct users; removal of documents from databases and mail files; controlling access to databases via Database Access Control Lists, Access Roles, and Groups; and staffing a help desk to respond to user questions and problems.

Notes can often be the best tool for administering a help-desk function; it even comes with a help-desk application template.

Step 5: Actual development

Candidates for Notes applications should be carefully considered to make sure Notes is the right platform for the application.

Applications that require data to be constantly up-to-date, such as accounting systems, reservation systems, and inventory systems, are not appropriate for Notes development. It's not a relational database--there is no concept of record-locking in Notes.

As with anything new, Notes application developers should first start off with simpler databases--discussion forums and information warehouse-type applications are easier to program than a mail-routed workflow application--to build up their skills and confidence level.

Organizations that anticipate performing a lot of in-house development should adopt application-development standards. To ensure that developers can finish other developers' projects if necessary, standards should define how Notes fields, forms, views, and macros are named, documented, and used; how Notes help documents are created; and how security standards should be instituted, including the use of access roles, reader names, author names, and groups.

A game plan to follow

Before writing the application, Notes developers should first conduct interviews to develop a list of requirements and specifications for the application. Next, they should implement some means of access security to safeguard corporate data integrity.

After testing the application via a small pilot project, the developer should fully document the application for users and IS personnel. Next, users and IS personnel should undergo training in the application, followed by installation of the application on the server(s).

Where appropriate, the newly crafted Notes application should be integrated with any legacy systems and relational databases, as well as with such tools as the pager, fax, and mail gateways. Finally, developers must make sure to provide maintenance support after delivering the application and ensure that proper backup plans are in place.

While Notes comes with a sophisticated application-development environment, Notes Release 3 remains limited to the use of formulas and macros, which are not as powerful as a full programming language like Visual Basic or C++.

What's more, Notes applications must be run in the Notes GUI, which can be limiting.

To circumvent this restriction, the developer can create a stand-alone application that will not require Notes to be running; however, the application will access Notes data on the Notes server. Tools that can be used to create such an application include Revelation Technologies Inc.'s Lotus Notes ViP, which is a complete application-development tool, or the use of Visual Basic or C++ along with Lotus' HiTest APIs, which allow access to Notes data.

Step 6: Training

Though listed as the last step, training really starts with the first step and continues throughout the process of getting a Notes system up and running. Proper training is necessary for seasoned IS personnel as well as users.

Users should undergo a custom course that focuses on the particular application and environment for that organization. These courses can last anywhere from 4 to 8 hours, and should include the use of Notes mail as well as the new Notes application. Any special considerations for road warriors should also be covered.

Lotus offers two 8-hour courses to assist users. The company's Basic Notes Concepts course covers how to navigate in Notes and how to use databases and Notes mail, while its Notes for the Technical User course covers such "power user" concepts as replicating Notes databases to local computers, using OLE (Object Linking and Embedding) objects in Notes documents, full text searching, creating private views, and importing/exporting of information.

For system administrators, Lotus offers two courses as either CBT (Computer Based Training) or a more traditional instructor-led course; the latter affords new administrators hands-on experience in a classroom environment with Notes server monitoring, certification and domains, and server performance issues. The CBT course walks administrators though the installation of Notes servers and clients, administration of database replication, Notes mail basics, and Notes security.

Application developers can also choose between Lotus-sponsored CBT or instructor-led courses. The more introductory CBT course covers form and view design and the basic design elements of a Notes database.

The second course delves into more advanced topics, such as building a complex mail-enabled workflow application, incorporating OLE objects into forms, prompting users for information, looking up data from other Notes or non-Notes databases, and implementing more advanced security topics.

Howard Greenberg is a Level II Certified Lotus Notes Instructor and is a consultant with NetExperts, of Boca Raton, Fla. He can be reached at howard_greenberg.netexperts@notes.compuserve.com.