This article provides a management overview of the features and functions of Lotus Notes and the Domino server. After reading this overview, you will have a broad understanding of how Lotus Notes and the Domino server relate to the AS/400.
No doubt about it, Lotus Notes and the Domino server have been making many waves over the past year and are growing in popularity within corporate America. In this article, well provide you with an overview of groupwares three Cs, design elements for Notes applications, the main architecture features of Domino, and how these features relate to the AS/400 platform. After reading this article, you should have a good understanding of Notes and Domino features and some of the many attributes that relate to the AS/400 platform.
What Is Groupware?
Lotus Notes has commonly been used to describe the concept of groupware, but you may be asking, What is groupware? Groupware is not a technology, but rather an activity that shares information and knowledge in support of three primary functions: communication, collaboration, and coordination.
Communication, collaboration, and coordination functions fall into two categories used to characterize the use of information shared between individuals or groups. The first category, which addresses the varying degree of structure required in a workgroup, may involve anything from messages that are ad hoc in nature (e.g., electronic mail messages sent to a group of individuals) to structured processes with predefined steps (e.g., the act of processing an expense report). The second category addresses the active or passive relationship between information and individuals or groups. For example, an individual
may post a question within a discussion database that sits idle until a person or group responds to the discussion topic. This method is passive, leaving the control in the hands of the individual. An active example would be a message that, if not answered within three days of being posted, triggers a subsequent message to the originator, indicating that the initial message has been automatically deleted.
Lotus defines groupware as tools to enable people to work together through communication, collaboration, and coordination. Lotus Notes is a powerful groupware tool that supports this concept.
The three Cs themselves may be defined as follows: Communication is the exchange of information from one individual to another or from one group of individuals to another. The passive exchange of information can be accomplished through electronic mediums such as email.
Collaboration is the process of working jointly together within a group or team. Groupware can help manage large amounts of information and allows us to share this information with larger groups using shared spaces. These shared spaces allow many people to collaborate on a topic and share knowledge. A good example of collaboration might be a meeting you attended today during which a topic was discussed and others in the meeting joined in and added thoughts and comments. Internet newsgroups are another example of collaboration. Similar discussions could be performed using Notes.
Coordination is the alignment of a set of related activities that individuals or groups of individuals need to perform to realize an objective. This process is very active from a systems perspective (specifying how activities are to be accomplished). To accomplish coordination, we implement workflow applications that have defined forms with specific routing logic for the forms. An example of coordination would be a policy system that manages the creation, revision, and approval of policy documents.
Communication, collaboration, and coordination are supported by Notes. Notes can be used to develop sophisticated electronic messaging, discussion and knowledge management, and work-flow applications.
Notes Applications
The relationship between Notes and Domino is based on client/server architecture. Domino is the server, and Notes is the client. Domino is operating-system independent and can run on a number of different operating systems, such as Windows NT, UNIX, and, as of this year, the AS/400 and S/390. The Notes client is most commonly used in a Windows or Macintosh environment.
Because Domino is more specific to the AS/400, well cover Dominos features, as well as how they relate to the AS/400, later in this article. In this section, we will describe the Notes database, workspace, database security, and essential design elements.
The Notes database is sometimes described as being synonymous with a Notes application. However, from our experience, most Notes applications include a number of integrated databases (i.e., revision, archive, configuration, and Web-published databases), allowing similar information to be maintained in related databases. Hence, Notes applications are not always synonymous with Notes databases.
Lotus provides a number of design templates that can be used to quickly create applications. When you first start developing Notes applications, you can use these templates to build discussion databases (including Web enabled) as well as Lotus
SmartSuite and Microsoft Office document libraries and simple document workflow applications. This capability makes it easy to develop applications and get started using Notes right away.
Before we get into the details about database elements, we need to talk about the Notes workspace. The workspace is the first thing you see when you start Notes (see Figure 1). As you can see, it contains icons that represent Notes databases. The workspace is actually made up of a number of workspace pages that can be used to help you organize and group your Notes databases. Each workspace page is accessible through its corresponding header tab. In Figure 1, there are a number of Notes database icons on the current workspace page, and a number of other workspace pages.
You have probably heard that Notes databases differ from relational databases such as Oracle or DB2. Unlike a relational database, Notes was designed from the start to manage unstructured, document-centric, textual data. Although Notes can manage structured data similar to a relational database, it works best with unstructured information. IBM/Lotus have been working hard to add new features that allow Notes to read and update information in a relational database. These features also allow Notes to access and update legacy information contained in a relational database and store document-centric information locally.
Security is always a priority when youre storing information. Each Notes database contains an Access Control List (ACL) defining the security that will be applied to the database. The ACL (see Figure 2) specifies what tasks an individual, a group of individuals, or even a server can perform against a database. Notes provides a number of predefined access levels that can be assigned to an individual, a group, or a server. The access levels and the tasks permitted by each include the following:
Manager performs all tasks within the database, including managing the ACL
Designer modifies all design elements
Editor modifies all documents within the database
Author creates and modifies documents that the author created
Reader reads documents but cannot create documents
Depositor creates documents but cannot see anything in the database
Design Elements
Four design elements are generally used when developing a Notes database. Before we describe these design elements, we need to discuss how data is represented within a database. A document is equivalent to records within a file or rows in a relational database. Documents contain one or more items (fields) that can be defined as various data types in ways such as date/time, text, rich text, and a list of values.
Databases usually contain at least one of these four design elements: form, view, navigator, or agent. Each design element is used in developing a Notes database and is defined as follows:
Forms. A form is page of information and usually relates to a paper counterpart (invoice or purchase order form). A form is used to display the content of a document. Forms can also hide certain information, depending on who is reading the information. Forms contain fields and actions. Actions are events that can be executed from within a form. Most of the time, actions are presented as buttons on the top of the form. Figure 3
Security
for example, illustrates an action item form that has fields and an action button (Create Action Item). A form can also be easily presented over the Web without any program changes. Domino can take a form or view and create the HTML that is required to display it in a Web client. No special development is required to render a view or form to a Web client.
Views. Views present documents in a list or in a format similar to a report. One view may show all documents (e.g., policy documents) sorted and categorized by status, and another view may show all documents categorized by approval date. Figure 4 is an example of a view that contains all policies sorted and categorized by status.
Navigators. Navigators provide a graphical way of looking at information, similar to a graphical link on a Web page. However, Notes navigators provide a lot more functionality than those created using HTML. Navigators can guide the user in creating a new document, viewing specific information, or going to another navigator. Figure 5 contains a typical Notes navigator containing five areas represented by graphical images and corresponding text. The user can click on any of the defined areas to navigate to that area. Notice that the Operations area in Figure 5 has been selected. A single click of the mouse will take the user to the Operations area.
Agents. Agents can be executed on the server or on the client. A workflow application may contain agents to move a document from one state or stage to another. LotusScript, @Functions, and Java are three languages that can be used for developing agents. These languages can also be used to develop forms, views, and actions.
The @Function library is the simplest language to learn within Notes. If you remember and liked using @Functions in Lotus 123, youll feel right at home. In Notes, you will use @Functions if you do not need to perform tasks that require program logic flow, such as process loops. For example, the @UpperCase(fieldname) function converts the contents of the variable fieldname to uppercase.
LotusScript syntax is similar to Visual Basic (VB), but it contains more object- oriented features (such as inheritance) than VB.
Figure 6 is a sample LotusScript agent. Over 33 standard classes are in the Notes object model for LotusScript. These LotusScript classes allow the programmer to fully control the back-end or front-end user environment. Back-end LotusScript classes enable you to manipulate or process a document or an element of a document. Back-end LotusScript classes can work only on documents that have been stored in the Notes database. Front-end LotusScript classes can work only on a Lotus Notes client and can manipulate documents in the current workspace or Notes user interface.
Java can be used within an agent that is used on the server. The Java classes for Notes have been developed based on the LotusScript classes. If you are familiar with the LotusScript classes, you should be able to quickly move up the learning curve to master the Java classes. The next release of Notes, Version 5.0, will contain enhanced JavaScript and Java features for both front-end user interfaces and back-end agents.
Domino Server
Now that you have good understanding of Notes applications, we want to highlight the specific features of Domino. We have also included a separate section that relates Domino to the AS/400 so you can gain a better understanding of those features as well.
Some History
Lotus Notes and the Lotus Server were developed by Iris Associates during the 1980s. The product was developed as a client/server environment. This approach required a Lotus Notes client and server to be whole. In the fall of 1996, and in alignment with the release of the Web-enabled version of Notes, IBM/Lotus changed the name of the Lotus Notes server to Domino. This name change was intended to highlight the new Internet features and establish the HTTP server as well as the Notes server.
Domino is a platform-independent application, and this provides some benefits. One benefit of platform independence is the learning curve for maintaining the Domino server if you choose to change platforms. Domino commands learned on the NT platform can transfer to any other operating system. For instance, if you enter the Load HTTP command from the Domino console, Domino will start the HTTP server task no matter what OS environment you are running.
Domino Features
Replication. Replication is one of the most beneficial functions within Domino and Notes. The term replication implies bidirectional processing that allows information to flow in a pull/pull to pull/push direction. pull/pull describes unidirectional replication, while pull/push is bidirectional replication. It will allow your team to actually realize the concept of virtual team. Workers in different locations at different times can collaborate on the same information by managing the data locally and replicating the changes to the server when their changes are finished. Notes and Domino also allow selective replication. A good example of selective replication would be a large contact management Notes application that is centrally located and from which sales people in the field selectively download to their laptops information related to their particular territory. If the sales people add a new territory, they just change the selection criteria to include the new territory. Replication is very easy to set up and use.
Domino as a Web server. Domino contains three main protocols or services:
1. HTTP server for standard Internet protocols that enable Web clients to talk to the server
2. Uniform Resource Locator (URL) interface that allows Web clients to tell the Domino server what information it is requesting (e.g., this URL opens the main database on the Notes.net site: http://notes.net/welcome.nsf?OpenDatabase)
3. HTML translator that translates Notes features such as links, forms, views, and navigators into HTML for display to a Web client Domino supports Notes clients, Web clients, and various Internet mail clients and newsreaders. Clients could range from a simple Internet messaging client or Java applet to a fully interactive Notes client. Figure 7 shows a diagram of the Domino and Notes architecture as described by Lotus.
Messaging. Domino has also been developed to support a number of standard messaging protocols (see Figure 8). In addition, Dominos messaging services include calendar and scheduling functionality allowing individuals or groups to coordinate meetings and other events and appointments.
Security. Domino security architecture is very sophisticated. Using a Notes client, Domino uses an RSA public and private key algorithm that is even more secure than Secure Sockets Layer (SSL) and practically eliminates the possibility of data interception, including that obtained through packet sniffing. Domino and Notes combined
is one of the most secure client/server products available and has a security model that is tight enough that the CIA and the U.S. Navy use it as their messaging system.
Relating Domino to the AS/400 Environment
As we mentioned earlier, most of Dominos features can be found on any platform; however, IBM/Lotus has developed a tight cohesion with the AS/400 platform. The following section outlines some of the key features that relate specifically to the AS/400.
Domino as an AS/400 Subsystem The Domino server runs as a subsystem on the AS/400 with each server task running as a separate job. This allows the AS/400 to automatically tune itself and track and balance system resources between subsystems. Normally, administrators will not need to adjust performance of the Domino subsystem, although this capability exists if needed.
One feature unique to the AS/400 is that the Domino server can be automatically restarted if it generates an exception (unhandled error). The administrator can enable this automatic recovery feature and set the number of times the AS/400 will attempt to restart the server.
Running Multiple Domino Servers
Once Domino has been installed on the AS/400, up to 16 partitioned servers can be started and administered separately. Each of these servers can be configured for distinct purposes. For example, the subsystem for a Domino server focusing on mail may be given a different execution priority than a server running critical business applications. Alternatively, multiple servers can be configured as a cluster to provide redundancy on the same AS/400 machine. This configuration allows mission-critical applications to stay online if one of the clustered servers goes down.
Administration
There are three options for administering a Domino server running on an AS/400. The server and users can be maintained using the standard Notes client and Web administration tools available on other platforms such as Windows 95/NT, or the server can be administered using the Windows-based AS/400 Operations Navigator as illustrated in Figure 9. This tool gives the AS/400 administrator a single graphical application to manage Domino servers and users along with other AS/400 applications and users.
Directory Synchronization
Domino directory synchronization is a standalone application that provides the ability to automatically synchronize the Domino Name and Address Book with the AS/400 system distribution directory (SDD). This is a useful feature, allowing the administrator to focus on a single directory for updates and allowing mail users on the AS/400 or in Domino to easily address one another. The synchronization is configurable through data field mapping and can be set up as either unidirectional or bidirectional. Updates, additions, and deletions are propagated between the directories.
One item to note is that the synchronization does not extend to authorizing new users. Any new user must be granted separate access as an AS/400 user and as a Domino user.
Mail Exchange
The SMTP/MIME Mail Transfer Agent (MTA) allows mail connection between the AS/400 AnyMail system and Domino mail using standard TCP/IP mail protocols. This
mail connection allows Domino mail-based users to communicate with other AS/400 users on applications such as OfficeVision/400 (OV/400). This connection also allows Domino users access to the Facsimile Support/400 (FS/400) application for fax services. SMTP/MIME also allows Notes mail to be exchanged with anyone on the Internet.
Secured File Access for Non-AS/400 Users
The Domino server provides the ability for Domino Web users without specific AS/400 user profiles to access HTML or other files in the AS/400 file system. For example, a software company might want to allow customers to log into a specific area of a Web site to gain access to download links to product updates or driver files. The files would be secured since the users would still have to log into Domino, but they would not also need to be set up as users on the AS/400.
DB2/400 Integration
Domino supports direct access to DB2/400 data through @DB commands and LotusScript Data Objects (LSDO) coding. Both of these methods use a direct connection between the two databases, increasing performance by eliminating the need for a middle layer such as ODBC drivers. Using this method, applications can be developed that integrate rich, knowledge-based information (such as graphics and text descriptions) with relational data from DB2.
A Lotus Notes client add-in program is available for download at http://iws.as400.ibm.com/lotus_notes/DB2Import.htm. This program allows an SQL query to be run that will automatically import the query results into a Notes rich-text field.
NotesPump
NotesPump is a forms-driven data access application. It allows Domino applications to access and share information with other databases such as DB2/400. NotesPump allows direct, real-time access to data stored in DB2/400 databases, enabling a Domino application to serve as a front-end client of DB2. Database synchronization using NotesPump can be configured with no coding required. The administrator or user simply fills out forms to describe the data mapping and scheduling of the data transfers. After that, NotesPump does all of the work.
In the AS/400 implementation, NotesPump gains some features not available on other platforms. AS/400 access rights are mapped to the Domino access model so that seamless data security can be maintained. Also, deleted records can be propagated between Domino and DB2/400 tables so that all database operations (update, insert, and delete) will be reflected on both systems. Lotus NotesPump is sold separately from Domino and Notes.
In the End
Because Notes and Domino have so many features, we would need a thousand- page book to make a dent in covering all of them. We hope you found this article useful in developing your knowledge about groupware, Notes applications, Notes design elements, Domino server, and features related to the AS/400. Lotus announced earlier this year that there are over 20 million Notes seats in the industry, and we are seeing more and more companies choosing Notes and Domino as their company-messaging, Web-server, and knowledge-management system. In 1998, with the addition of the AS/400, Notes and Domino will move into a new arena, allowing you to develop mission-critical applications supported by the AS/400 platform.
LATEST COMMENTS
MC Press Online