IBM Lotus Notes
From Wikipedia, the free encyclopedia
Categories: Wikipedia articles needing style editing from March 2008 | All articles with unsourced statements | Articles with unsourced statements since May 2007 | Articles with unsourced statements since March 2008 | Upcoming software | Groupware | Lotus software | Windows e-mail clients | Mac OS e-mail clients | OS/2 software | Usenet clients | Database management systems | Document-oriented database | Databases
Lotus Notes is a client-server, collaborative application owned by IBM Software Group. IBM defines the software as an "integrated desktop client option for accessing business e-mail, calendars and applications on [an] IBM Lotus Domino server."[1].
FeaturesThe Notes client is mainly used as an email client, but also acts as an instant messaging client (for Lotus Sametime), browser, notebook, and calendar/resource reservation client, as well as a platform for interacting with collaborative applications. In the early days of the product, the most common applications were threaded discussions and simple contact management databases. Today Notes also provides blogs, wikis, RSS aggregators, CRM and Help Desk systems, and organizations can build a variety of custom applications for Notes using Domino Designer. The Notes client can be used as an IMAP and POP e-mail client with non-domino mail servers. Recipient addresses can be retrieved from any LDAP server, including Active Directory. The client also does web browsing although most people configure it to launch their default browser instead. Features include group calendaring and scheduling, SMTP-based e-mail (HTML based e-mail is available to Java developers), NNTP-based news support, and automatic HTML conversion of all documents by the Domino HTTP task. Notes instant messaging (Sametime) allows you to see your coworkers online and have chat sessions with them. A chat session can be with one person or multiple people (an instant meeting). Beginning with Release 6.5 this functionality is built into the client and presence awareness has become more and more pervasive throughout the user experience. Since version 7, Notes has provided a web services interface. Domino can be a web server for HTML files too; authentication of access to Domino databases or HTML files uses Domino's own user directory and external systems such as Microsoft's Active Directory. 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. In addition to being a "groupware" system (e-mail, calendaring, shared documents and discussions), Notes/Domino is also a platform for developing customized client-server and web applications. Its use of design constructs and code provide capabilities that facilitate the construction of "workflow" type applications (which may typically have complex approval processes and routing of data). Since Release 5, Lotus server clustering has been capable of providing geographic redundancy for servers. Data replicationA generalized replication facility was implemented in the first release of Notes. The generalized nature of this feature set it apart from predecessors like Usenet, and continues to differentiate Notes from many other systems that now offer some form of synchronization or replication. The facility in Notes and Domino is not limited to email, calendar, and contacts. It works for any data in any application that uses NSF files, which are the standard container for data in the Notes architecture, for its storage. No special programming, tagging, or other configuration is required to enable replication. Domino servers and Notes clients identify NSF files by their Replica IDs and keep files with matching IDs synchronized by bidirectionally exchanging data, metadata, and application logic and design. Replication between two servers, or between a client and a server, can occur over a network or a point-to-point modem connection. Replication between servers may occur at intervals according to a defined schedule, in near real-time when triggered by data changes in Domino server clusters, or on an ad hoc basis when triggered by an administrator or programmatically. Creation of a local replica of an NSF file on the hard disk of a Notes client enables the user of the client to take full advantage of Notes databases while working off-line—with the client synchronizing any changes when client and server next connect. Local replicas are also sometimes maintained for use while connected to the network in order to reduce network I/O. Replication between a Notes client and Domino server can run automatically according to a schedule, or manually in response to a user or programmatic request. Local replicas on early releases of the Notes client did not always maintain all security features programmed into the applications, but starting with Notes 6 enforcement of application security is automatic for all local replicas. Early releases also did not offer a way to encrypt NSF files, raising concerns that local replicas potentially exposed too much confidential data on laptop computers or insecure home office computers[citation needed], but an optional encryption feature for NSF files was added in more recent releases, and as of Notes 6 it is the default setting for newly created local replicas. SecurityNotes 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.[citation needed] 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. In 1997, 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 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.[2] This implementation was not a secret - in fact it was widely announced - but with some justification many people did consider it to be a backdoor. 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 128 bit symmetric keys, 1024 bit public 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. Lotus also employs a code-signature framework that controls the security context, runtime, and rights of custom code developed and introduced into the environment. With Release 5, Lotus introduced Execution Control Lists at the Client level - starting with 6, ECL's can be managed centrally by the SA's through the implementation of Policies. Code signatures are widely regarded as the reason there has not been a virus capable of propagating natively through a Notes/Domino environment since release 4.5. ProgrammingNotes/Domino is a cross-platform, secure, distributed document-oriented database and messaging framework and rapid application development environment that includes pre-built applications like email, calendar, etc. This sets it apart from its major commercial competitors, such as Microsoft Exchange or Novell GroupWise, which are generally purpose-built applications for mail and calendaring that offer APIs for extensibility. Lotus Domino 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, across dissimilar platforms, 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. A database is an NSF (Notes Storage Facility) file, containing basic units of storage known as a "note". Every note has a UniqueID and a NoteID. The UniqueID 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 notes, 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 a Document-oriented database (document-based, schemaless, loosely structured) 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 item, such as read or write security. 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. Notes applications development uses several programming languages. Formula and LotusScript are the two main ones. LotusScript is similar to, and may even be considered a specialized implementation of, Visual Basic, but with the addition of many powerful native classes that model the Notes environment, whereas Formula is unique to Notes but similar to Lotus 1-2-3 formula language. Since Release 5, Java and JavaScript are also integrated into Lotus Notes. LotusScript is the primary tool in developing applications for the Notes client, as well as server-based processing. Java and JavaScript are the primary tools for developing applications for browser access, allowing browsers to emulate the functionality of the Notes client. The Notes client can now natively process Java and JavaScript code, although applications development usually requires at least some code specific to only Notes or only a browser. However, the Mac client does not support Java and the Windows client usually does not support the most recent version of Java. As of version 6, Lotus established an XML programming interface in addition to the options already available. The Domino XML Language (DXL) provides XML representations of all data and design resources in the Notes model, allowing any XML processing tool to create and modify Notes/Domino data. External to the Lotus Notes application, IBM provides toolkits in C, C++, and Java to connect to the Domino database and perform a wide variety of tasks. The C toolkit is the most mature and the C++ toolkit is an objectized version of the C toolkit, lacking many functions the C toolkit provides. The Java toolkit is the least mature of the three and can be used for basic application needs.** DatabaseNotes includes a DBMS but Notes files are different from relational or object databases since they are document centric. Document-oriented databases such as Notes allow multiple values in items (fields), don't require a schema, come with built-in document-level access control and store RichText data. There are some Object-Relational features being developed and Domino 7 supported a restricted release add-on allowing the use of IBM's DB2 database as an alternative store for Notes databases. With Domino 8 this is available without a special request. You can map a Notes database to a relational database using tools like DECS, [LEI], JDBCSql for Domino or NotesSQL. It could be argued that Notes is a multi-value database system like PICK, or that it's an object system like Zope, but it is in fact unique. Whereas the temptation for relational database programmers is to normalize databases, Notes databases must be *de-*normalized. RDBMS developers often find it difficult to conceptualize the difference. It may be useful to think of a Notes document (a 'note') as analogous to an XML document natively stored in a database (although with limitations on the data types and structures available). The benefits of this data structure are:
Use as an email clientLotus Notes is commonly deployed as an end-user email client in larger organizations, accounting for more than 135 million total users according to IBM's latest figures.[3] When an organization employs a Lotus Domino server, it usually also deploys Lotus Notes for its users to read mail and use databases. However, the Domino server also supports POP3 and IMAP mail clients, and through an extension product (Domino Access for Microsoft Outlook) supports native access for Microsoft Outlook clients. Lotus also provides Domino Web Access, to allow the use of email and calendaring features through Internet Explorer and Firefox web browsers on Windows, Mac and Linux. There are several spam filtering programs available, and a rules engine allowing user-defined mail processing to be performed by the server. How Notes differs from other email clientsLotus Notes is a unique environment. It was designed to be a collaborative application platform where email was just one of numerous applications that ran in the Notes client software. Lotus lore has it that the first mail inbox application written by Lotus was a proof-of-concept for a sales presentation. The Notes client was also designed to run on multiple platforms including Windows, OS/2, Mac, SCO Open Desktop UNIX, and Linux. These two factors have resulted in the user interface containing some differences from applications that only run on Windows. Furthermore these differences have often remained in the product to retain backward compatibility with earlier releases, instead of conforming to Windows UI standards. The following are some of these differences.
Lotus Notes 7 and older versions had more differences:
Like all popular commercial software packages, Lotus Notes has its detractors as well as supporters. Critics assert that there are dedicated email clients that are simpler, more intuitive and have a lower purchase price. Proponents argue that richer capabilities and advanced programmability are available, and that purchase price is a small fraction of total cost of ownership. Many of the differences mentioned above are seen by some as weaknesses in the product, especially when the user interface is compared to Windows-only applications. Later releases of the product have made great headway in addressing end-user complaints. Notes 8.0 (released in 2007) was the first version that employed a full user-experience team Mary Beth Raven Blog, resulting in a greatly improved Notes client experience. Additionally, Notes 8.0 now runs in the open source Eclipse Software Framework, opening up nearly unlimited application development opportunities through the use of Eclipse plug-ins. The improved user experience builds on Notes 6.5 (released in 2003), which upgraded the e-mail client, previously regarded as the product's Achilles heel. Features added at that time included:
CriticismsCriticisms of the product include:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


