Each client and server can have several locally associated database. Each database forms a collection of notes, with a note being the key data element in any Note System. The clients runs the applications required to access databases, using functionality of a web browser. A major distinction with browsers, however, is that users are excepted not only to read from databases, but also modify them. Lotus notes provide separate suite of tools that allows users to design and maintain their own databases. Lotus notes servers are known as Domino server. Domino server manages its associated collection of databases. The main task is to provide (remote) clients and other servers access to these databases. The main server program consists of modules for listening for requesting coming in over the network, maintaining connections and sessions to remote processes, and maintaining information on opened local databases. The numerous other tasks the relate to database management and which often run as separate programs on the server machine. Clients, servers and databases are glued together through a separate middleware components known as the NOS.
This middleware implements a layer on top of underlying OS
and networks that allows clients and servers to communicate and access local and shared databases.
Its consists of components for RPC, storage facilities, callback
functionality. The key data element in a Lotus Notes is formed by a note.
An item is the element for storing data associated with a note.
A data note comparable to a web document, such as video,
audio, images, plain text, icons.
There are four types notes
Data notes Design notes Administration notes Note type Category Description
Document Data A user-oriented document such as a Web page
Structure for creating, editing, and viewing a
Form Design document Defines a field shared between a form and Field Design subforms
View Design Structure for displaying a collection of documents
ACL Administration Contains an access control list for the database
ReplFormula Administration Describes the replication of the database
Examples of different types of notes
Lotus Notes uses an underlying RPC system for all communication between clients and servers.
The notes RPC system is mostly transparent to all clients and is
actually internal to the NOS middleware layer.
Notes provides portable interprocess communication facilities
for exchanging information between processes running on the same machine.
The notes subsystem formed for handling e-mail, its always
sent mail messages MIME format.
To facilitate the development of high-level applications such as
workflow systems. Server side software consists of a main programs with a number of built in tasks such as those for handling in coming requests, opening & closing local database keeping databases consistent and managing cluster of servers. Additional server tasks. Main server + server task=Domino server. Communication between processes of a Domino server takes place using of NOS layer. Domino server can be grouped together into cluster. The general organization of a Domino server. Request handling in a cluster of Domino servers. Synchronization mechanism are implemented in non distributed fashion.
No support for distributed locking or transaction.
Key role in replication is played by connection documents. Connection documents are special notes contained in domain directory that described exactly when, how and what to replicate. Replicator Schemes Pull-push Pull-pull Push-only Pull-only Scheme Description A replicator task pulls updates in from a target server, and pushes Pull-push its own updates to that target as well A replicator task pulls in updates from a target server, and responds Pull-pull to update fetch requests from that target A replicator task only pushes its own updates to a target server, but Push-only does not pull in any updates from the target A replicator only pulls in updates from a target server, but does not Pull-only push any of its own updates to that target
Replication schemes in Notes.
Write-write conflict occurs.
Safely merging two documents with conflicting OIDs.
Write head log method is used to prevent faults. Security Notes relies on the Authentication system. Authentication Validating certificates Private key Public key Part Description
Servers ACL's specifying access rights for servers and ports
Workstations Lists specifying execution rights for scripts and such
Databases ACLs specifying permissions for different types of users
Files ACLs used for controlling access by Web clients
Design notes ACLs to control the presentation and such of documents
Documents ACL's to control read and write access to documents
Issue WWW Notes Basic model Marked-up text List of text items (note) Extensions Multimedia, scripts Multimedia, scripts Storage model File oriented Database oriented Network comm. HTTP RPC, E-mail Interprocess comm. Operating sys. dependent Notes Object Services (NOS) Client process Browser, Editor Browser, Design editor Client extensions Plug-ins In basic client system Server process Comparable to file server Comparable to database server Server extensions Servlets, CGI programs Server tasks Server clusters Transparent Nontransparent Naming URNs, URLs URLs, identifiers Synchronization Mainly local Mainly local Caching Advanced Not documented Replication Mirroring, CDNs Lazy Fault tolerance Reliable comm. & clusters Clusters Recovery No explicit support Single server Authentication Mainly TLS Certificate validation Access control Server dependent Extensive ACLs -Distributed systems principles and Paradigms ANDREW S. TANENBAM MAARTEN VAN STEEN. -LOTUS www.ibm.com -www.domino.cs.vu.nl