Lotus Notes is a proprietary, client-server collaborative
software and email system owned by Lotus Software, of the IBM Software Group.
When Lotus Notes was initially released, it was simply called "Notes" (the name having been taken from PLATO Notes, the mainframe-based software that preceded it.) A Notes client ran on a workstation, and a Notes
server ran on a server. In 1996, Lotus released an add-on for the Notes 4 server called "Domino". This add-on allowed Notes
documents to be translated into web pages (and vice versa) in real time. With the release of Notes 4.5, later that year, the
Domino web server was integrated into the core Notes server, which was itself renamed to "Domino". The client is still called
"Notes", while the server component is now known as "Domino". One may frequently see the terms used interchangeably.
The server runs on several platforms, including Windows NT, Windows 2000, Linux, HP-UX, Sun Solaris, IBM iSeries, pSeries, and zSeries. The native client runs on all versions of Windows and Mac OS 9 and Mac OS X. Domino servers can also translate most databases into HTML for browser based users.
In the past Notes had been criticized for being 'clunky' - at one time, the now defunct Interface Hall of Shame web
site had an entire section devoted to the Notes 4 client's perceived UI shortcomings. However, most, if not all of those problems
were addressed in subsequent releases. Notes 6.5, in particular, paid some long needed attention to the email client, which has
traditionally been regarded as the product's Achilles heel. Features such
as unread counts on folders, drag and drop of folders, follow-up flags, reply and forward indicators and the ability to edit an
attachment and save the changes back to an email were all things that product's competitors had enjoyed for years. In terms of
usability, this release went a good way towards redressing the balance with arch rival, the Microsoft Outlook + Microsoft
Exchange combination.
A design client is available to allow rapid development of databases consisting
of forms, which allow users to create documents; and views, which display selected document fields in columns.
Features include group Calendaring and Scheduling, SMTP-based email (HTML based email is
available to Java developers), NNTP-based news support, and automatic HTML conversion
of all documents by the Domino HTTP task. In its latest incarnation (Notes7) it provides a
web services interface.
Extremely robust security is built into the product. Notes was the first widely adopted software product to use public key cryptography, for client-server and server-server authentication and for encryption of
data, and it remains the product with the largest installed base of PKI users. Until US laws regulating encryption were changed
in 2000, Lotus was prohibited from exporting versions of Notes that supported symmetric
encryption keys that were longer than 40 bits. At one point, Lotus negotiated an agreement with the NSA that allowed export of a version that supported stronger keys with 64 bits, but 24 of the bits were encrypted with
a special key and included in the message to provide a "workload reduction factor" for the NSA. The net effect of this was that
users of Notes outside of the US had stronger protection against private sector industrial espionage, but no additional
protection against spying by the US government. This implementation was not a secret, and in fact was widely announced, but with
some justification many people do consider it to be a backdoor, although it was
never a secret. Some governments objected to being put at a disadvantage to the NSA, and as a result Lotus continued to support
the 40 bit version for export to those countries. Under current US export laws, Lotus supports only one version of the Notes PKI
with even stronger keys and no workload reduction factor. The Domino server's security tools also include S/MIME, SSL 3.0 support with industry
standard key sizes for HTTP and other Internet protocols, X.509 client certificates, and an integrated certificate authority.
A particular strength of Notes and Domino is its replication facilities. Servers and clients can replicate database designs
and data seamlessly, across all sorts of networks (including modems). This enables users to take full advantage of Notes
databases while being off-line - with the client synchronizing any changes when client and server next connect. Even while
off-line full security can be preserved, but only by encrypting each database to a specified Notes ID file. Prior to Notes 6, new
local replicas were created without this encryption, which led some security Web sites to claim a major security back door in
Notes. With Notes 6, however, new replicas are, by default, encrypted to the Notes ID that is used to create them. Replication
can happen : client to client, client to server, server to server.
In addition to being a robust "groupware" system (e-mail, calendaring, shared documents and discussions), Notes/Domino is a
platform for developing customized client-server and web applications. Particular strengths of this platform include extremely
strong security and a wealth of capabilities (design constructs and code) that facilitate the construction of "workflow" type of
applications (which may typically have complex approval processes and routing of data).
Programming
Lotus Notes databases are built using the Domino Designer client, available only for Windows. A key feature of Notes is that
many replicas of the same database can exist at the same time on different servers and clients, and the same storage architecture
is used for both client and server replicas. Originally, replication in Notes happened at document (i.e. record) level. With
release of Notes 4 in 1996, replication was changed so that it now occurs at field level.
The basic unit of storage in a database is known as a note. Every note has a Unid and a NoteId. The Unid uniquely identifies
the note across all replicas within a cluster of servers, a domain of servers, or even across domains belonging to many
organizations that are all hosting replicas of the same database. The NoteId, on the other hand, is unique to the note only
within the context of one given replica. Each note also stores its creation and modification dates, and one or more Items.
There are several classes of note, including design notes and document notes. Design notes, which are created and modified
with the Domino Designer client, represent programmable elements, such as the GUI layout of forms for displaying and editing
data, or formulas and scripts for manipulating data. Document notes, which are created and modified with the Lotus Notes client,
via a web browser, via mail routing and delivery, or via programmed code, represent user data. Document notes can have
parent-child relationships, but Notes should not be considered a hierarchical database in the classic sense of IMS. Notes databases are also not relational, although there is a SQL driver that can be used with
Notes, and it does have some features that can be used to develop applications that mimic relational features. There is no
support for atomic transactions in Notes, and its file locking is rudimentary at best. Notes is essentially a document-based,
schemaless, loosely structured database with support for rich content and powerful indexing facilities. This structure closely
mimics paper-based workflows that Lotus Notes is typically used to automate.
Items represent the content of a note. Every item has a name, a type, and may optionally have some flags set. A note can have
more than one item with the same name. Types include Number, Number List, Text, Text List, Date-Time, Date-Time List, and Rich
Text. Flags are used for managing attributes associated with the note, such as special read or write security, or exclusion from
indexing. Items in design notes represent the programmed elements of a database. For example, the layout of an entry form is
stored in the rich text Body item within a form design note. This means that the design of the database can replicate to users'
desktops just like the data itself, making it extremely easy to deploy updated applications.
Items in document notes represent user-entered or computed data. An item named "Form" in a document note can be used to bind a
document to a form design note, which directs the Lotus Notes client to merge the content of the document note items with the GUI
information and code represented in the given form design note for display and editing purposes. The resulting loose binding of
documents to design information is one of the cornerstones of the power of Lotus Notes. Traditional database developers used to
working with rigidly enforced schemas, on the other hand, may consider the power of this feature to be a double-edged sword.
You can develop Notes applications using several programming languages. Formula and LotusScript are the two main ones.
LotusScript is similar to, and broadly compatible with, Visual Basic,
whereas formula is unique to Notes. Nowadays Java is also integrated in Lotus Notes, as is JavaScript.
Java, JavaScript, and LotusScript are the primary tools for developing Domino based applications (those developed solely for
browser access).
History
Notes was an offshoot of PLATO Notes, which ran under the PLATO
system on the CDC 6600 1960.
- Release 1 - 1989 - The Notes client required DOS 3.1 or OS/2. The Notes server required either DOS 3.1, 4.0, or OS/2.
- Release 1.1 - 1990
- Release 2 - 1991
- Release 3 - May 1993
- Release 4 - January 1996
- Release 4.5 - December 1996
- Release 5 - 1999
- Release 6 - September 2002
- Release 6.5 - September 2003
- Release 6.5.1 - January 2004
- Release 6.5.2 - July 2004
- Release 6.5.3 - September 2004
Official
history of Lotus Notes (http://www-10.lotus.com/ldd/today.nsf/8a6d147cf55a7fd385256658007aacf1/bc684f3a96b4efd185256b9c0064ae9c?OpenDocument)
External links
References
|