HCL Notes

from Wikipedia, the free encyclopedia
HCL Notes

IBM Notes 9 logo.png
Basic data

developer HCL Technologies
Publishing year 1989
Current  version 11.0.0
(December 20, 2019)
operating system Cross-platform
programming language C ++ , Java , C , Hypertext Markup Language
category Groupware
License Proprietary
German speaking Yes
HCL Notes

HCL Notes (until July 2019 IBM Notes, until March 2013 Lotus Notes ) is a document- oriented , distributed database system with a very close e-mail connection. It was developed by Iris Associates from 1984, later a subsidiary of the Lotus Development Corporation or IBM . The acquisition by HCL Technologies was completed in July 2019 . HCL Notes belongs to the groupware category .

The product originally called Lotus Notes was renamed Lotus Domino at the server level with version 4.6 . The client software for ordinary users (but not for developers and administrators) is called HCL Notes . The databases are both called Notes database and Domino database, whereby in the following, in accordance with the habits of many users, Notes databases etc. will continue to be used.

In addition to a database management system (DBMS), HCL Notes provides a corresponding platform for the development of applications. The applications e-mail (incl. Calendar, task list), e-discussion, "TeamRoom" and several other applications are included in the scope of delivery. The source code for these applications is open and contained in the database templates.

history

In the early 1970s, David Woolley and his team at the CERL (Computer Education Research Laboratory) at the University of Illinois developed a message board application that electronically replicated classic sticky notes. They called the system "Notes".

In 1984, ten years later, three CERL graduates ( Ray Ozzie , Len Kawell and Tim Halvorsen) founded Iris Associates in Boston . The company was small and had good relationships with the two years older company "Lotus" under the direction of Jim Manzi, where Ozzie played an important role as an external employee in the development of " Lotus Symphony ". A year later, a Windows-compatible version of Lotus Notes already existed, and " Windows ", which was brought onto the market by Microsoft at the end of 1985 , allegedly ran Lotus Notes as one of the first Windows applications. Until 1991, Lotus Notes was used exclusively in the context of projects and was not officially available. Iris was bought by Lotus in 1988. Lotus in turn was taken over by IBM in 1996. The purchase price of around $ 4 billion was the largest sum ever paid for a software company. The main reason for the high price is likely to have been the Lotus Notes , which has now become the main product . Until 2001 Iris Associates was completely integrated into the IBM organization. Ray Ozzie has since developed the product Groove . The company Groove Networks was acquired by Microsoft of 2005.

As of August 2005 from Notes, IBM implemented the support of IBM DB2 as a storage medium for Notes databases, which allows relational views from DB2 to be used like Notes views (and vice versa).

In March 2013 the product was renamed with version 9 to IBM Notes .

In December 2018, IBM announced that it would sell Notes to HCL Technologies . This after the development was outsourced to this company in 2017.

In July 2019, the takeover by HCL Technologies was completed and the product was renamed HCL Notes.

features

HCL Notes differs from other groupware platforms such as Microsoft SharePoint through the following properties:

  1. Document-oriented non-relational DBMS with close e-mail integration, integrated user management and numerous services ( HTTP , HTTPS , SMTP , LDAP , POP3 , IMAP , NNTP , RSS , web services , MAPI  ...)
  2. Integrated Public Key Infrastructure (PKI): A Notes user needs a Notes user ID to work. This contains certificates, a public key, a matching private key and, if necessary, a key for symmetrical encryption. The same goes for servers. The administration of the IDs or the public keys in directories, which is generally time-consuming with PKI, is already included in Notes / Domino in the LDAP-capable Domino Directory.
  3. Rapid Application Development & Deployment (RADD) using Lotus Domino Designer: Through the use of fourth generation languages ​​( 4GL ), applications can be developed and maintained with little effort, and not only data but also design elements (masks, views, agents etc.)automatically distributedto all servers and clients. This ability lowers development, maintenance and administration costs compared to conventional development environments.
  4. Replication of Notes databases between servers using a wide variety of protocols as well as replication of Notes databases between Notes client and Domino server: The various instances of a distributed database are automatically synchronized. Since this also works over very slow connections (e.g. 9600 bit / s), Notes is also suitable for use in geographical areas that are not yet accessible via fast communication lines.
  5. Full offline functionality: A Notes application that is operated on a Domino server can usually be used completely identically on a laptop that is operated offline, i.e. not connected to a server.

Functions

In principle, extensive databases with article-like content are possible. Any file attachments can be stored. Standard applications in Notes are a mail database and calendar and task management. In the calendar application, appointments can be managed and invitations sent to participants. It is also possible to check the free times of the participants and to reserve rooms and equipment (e.g. projector, flipchart, company car). There are other database templates (templates) such as discussion and team databases. All databases can be operated via the Notes client and web browser. You can develop your own applications with the Domino Designer. The data and design of an application are stored in a common database. All contents of this database (design and data) are saved in so-called documents, hence the name "Notes" for "many documents". This property is one of the most distinctive because everything is a "document".

Different languages ​​can be used for application development: The most important languages ​​are the simple Lotus Notes formula language (so-called @ functions and @ commands) with which even inexperienced users could create simple databases, LotusScript (very similar to Visual Basic ), and Java and JavaScript . Lotus Notes applications are client-server applications ( client-server system ). Simplified, the data is saved on the Lotus Domino server and user interactions are carried out on the Lotus Notes client. Data can also be managed by the client as a synchronized local replication of the server database or as an independent database. The web browser is also being used more and more frequently as a client.

HCL Notes databases

As described above, Lotus Notes databases are document-based databases in contrast to relational databases. This means that data and design elements are stored in the form of documents, with each document having a unique ID. A document can have several fields ( items ) of different types ( e.g. text or number). The content is decoupled from the display. Forms that can be freely designed are used to display and change the data content of the documents . In so-called views ( views ) and in folders ( folders ) lists can be filtered documents from the database and displayed in tabular form. Actions can be carried out event-controlled or time-controlled using self-written programs ( agents ). All the contents of a database, including file attachments, can be searched using the integrated full-text search. This applies not only to local databases on an HCL Notes client, but also to databases that are distributed over several Domino servers in a Domino domain (Domino Domain Search). File names of Lotus Notes databases end with the suffix .NSF: "Notes storage facility". Database templates (templates) end with the suffix .NTF: "Notes template file".

A database has the following identification features:

  • the file name: depending on the underlying file system
  • the database title: visible to the user
  • the replica ID: a 16-digit number in hexadecimal notation that is randomly generated when the database is created
  • The template name: If the existing database is to be used as a template, a template name can be assigned

Differences to other database systems: Notes databases are non-relational databases. They follow a document rather than a record model. Documents can (but do not have to) have a hierarchical relationship to one another (Main - Response - ResponseToResponse). Relationships are created programmatically in Notes databases, a common method being the use of the @DocumentUniqueID, which is also used for the hierarchical connection. Fields can contain multiple values, which corresponds to a master-detail table in an RDBMS . Other systems with multiple values ​​are, for example, FileMaker or Adabas .

Notes saves all design elements (i.e. masks, views, agents, etc.) of an application also in the form of Notes documents. While this is common with RDBMS for the data schema and the views, Notes also saves forms and resources (css, jpg, java etc.). All design elements are signed and allow a fine-grained execution control.

Notes documents are not tied to database tables. Notes documents can thus contain any fields. A change to the mask or view layout has no effect on saved data. For example, IBM QuickPlace uses Notes databases without a Notes frontend (that is, no forms).

Notes views ( views ) have a physical index (Views in RDBMS are usually "only" query definitions without an index). This has the advantage of fast access and the disadvantage of resource ( index task ) and space consumption.

Another special feature is the support of RichText as a field type. Formatted text, file attachments or embedded objects (images, OLE objects) can be saved here. RichText fields together with the Lotus Notes client allow a particularly user-friendly "upload" or. Almost any data can be saved, including using drag and drop .

Notes documents and design elements can be converted from / to XML using standard tools , which corresponds to a standard published by IBM as a DTD scheme (DXL).

Only databases that have the same replica ID are replicated between two computers (the other identification features database title and file name are irrelevant here) - which has the side effect, for example, that a Domino server administrator can move the databases to any subdirectory without that replication ability is impaired. The path specification for the database only needs to be changed for the source server in the connection documents that are set up for periodic automatic replication; the paths of the target servers are irrelevant.

The Domino server

The Lotus Domino server is available for a number of platforms such as B. Windows , Linux , AIX , Solaris , AS / 400 (OS / 400) , z / OS and zLinux available. It provides several services. The server is initially a database server that delivers Notes documents to the Notes clients. Then there is a router server task (“router” task), which can handle both the native Domino routing protocol NRPC (Notes Remote Procedure Call) and the Simple Mail Transport Protocol (SMTP) for sending mail to the Internet. The associated SMTP server task (“smtp” task), on the other hand, ensures that Internet mail can be received on this server.

A web server is also included in the scope of delivery (task “http”) and other servers such as B. IMAP, POP3, LDAP. The data is stored in the various databases together with the application logic and the user interface. Several applications are included in the scope of delivery: including e-mail , calendar , task list, address management and reservations of rooms and resources.

In contrast to other database systems, the databases can also be used and edited without a connection to the Lotus Domino server, only with the HCL Notes client. As soon as there is a connection between the client and server again, the changes to the data are automatically synchronized - according to the defined connection intervals - or manually, depending on the configuration.

This concept is known from the distributed database theory as replication . When a Notes client (or a Domino server) replicates databases with a Domino server, only new and changed documents are transferred. If necessary, only part of the total data can be replicated. This can then be set for each database using the replication parameters (selective replication). The replication mechanism can recognize changes to documents at field level and, in the case of large documents, only transfer the changed field contents. As a result, the available network transmission capacity is used efficiently.

Domino servers can be operated in Domino clusters. Two or more Domino servers are assigned to one another. The underlying operating system does not matter. It is thus possible for a Domino server on Windows to form a Domino cluster with another Domino server on AIX. A domino cluster can be built from servers of different domino versions. Domino clusters have nothing to do with clusters at the operating system level. If one Domino server fails, the client takes over the switch to another Domino server in the cluster. Clusters are used to maximize availability in the event of a server failure and to maximize performance through load distribution .

The Notes clients

There are different clients for working with the Domino server:

  1. HCL Lotus Domino Access for Microsoft Outlook (DAMO) - an additional program for Microsoft Outlook to access the Domino server.
  2. HCL Lotus Domino WebMail - runs in the web browser and offers less functionality than DWA. Webmail uses Java.
  3. HCL Lotus iNotes (formerly Domino Web Access (DWA)) runs in the web browser and can (configurable) use Active-X. Java is only used in DWA when instant messaging ( SameTime ) is used. DWA can also be used via the 'Domino Off-Line Services' (DOLS) software without a connection to the server - i.e. off-line - similar to the local off-line use of the Notes client.
  4. Lotus Domino Administrator - this is what the administrator works with.
  5. Lotus Domino Designer - this is what the application developer works with.
  6. HCL Notes - that's what the user works with.

Lotus Domino Administrator Client

Lotus has introduced a special administration client for the administration of the Domino server. This client offers functions that make administration of the HCL Notes domain much easier and that are not possible with the normal Notes client .

The administration client can be installed on the workstation of the responsible administrator and should not be installed directly on the server if possible.

Most of the tasks involved in configuring and administering Domino servers can be performed using the administration client . In addition, it is used for complete user administration and for complete monitoring and checking of the functionality of the server.

The browser client

A Lotus Domino server also offers a web server that makes Notes databases available via the browser. Many of the included applications such as email , calendar, task list, e-discussion, and team room are designed as hybrid applications; H. they are programmed in such a way that they can be used largely without restrictions with both the Notes client and the web browser. Own applications can follow the same approach. A pure Notes client application is in principle immediately suitable for use in the web browser, where JAVA applets are used. However, web-specific adjustments to the individual application are usually necessary, especially for more sophisticated graphic design and user interfaces. This HCL Notes client cannot be used by visually impaired people.

With version 8.5, the "Domino Designer" development environment and the Domino Web Application Server were expanded to include JavaServer Faces , but IBM calls this technology xPages . Websites created with this technology do not require Java applets, and the above-mentioned restrictions for visually impaired people do not apply.

A special feature is the access to mail, calendar, tasks and contacts. For this functionality IBM has developed its own web client called iNotes . INotes can also be used by visually impaired people.

The Lotus Domino Administrator Client only exists for Windows . As of Domino 7, the web interface via browser is a suitable replacement. Internet Explorer and Mozilla-based browsers are supported here.

Lotus Domino Designer Client

The Lotus Domino Designer Client exists exclusively for Windows , but can be used under Linux via Wine .

With the help of the Domino Designer, new databases can be created and the design of existing databases can be changed if it is not protected. In addition to functions for creating and changing the various design elements such as masks, views, pages, frames, etc., the Domino Designer also includes a development environment in which formula language (so-called @commands and @functions), LotusScript (with debugger ), Java or JavaScript can be programmed.

Basic elements of each Notes database are masks ( forms ) to create, modify and view documents and views ( views ) and folders ( folders ) to the tabular presentation of documents. Masks can be displayed dynamically in a variety of ways, i.e. elements can be displayed or hidden depending on the content of the document, data can be calculated or scripts can be started using events. For the display in the web browser, it is also possible to specify HTML source code directly, or HTML design elements such as layers can be graphically generated and these can also be shown and hidden dynamically, for example.

The Lotus Notes 8 client is a further developed version based on the Eclipse Rich Client Platform (Eclipse RCP). This integrative interface is called at IBM Lotus Expeditor and may be. a. already used as the basis for the IBM Lotus Sametime Connect Client (from version 7.5). IBM also offers the Expeditor as a separate development and runtime environment. This interface is very flexible and enables the integration and chaining (composite application) of applications from different program languages ​​and manufacturers (SOA). The beginnings of this development go back to the product line IBM Workplace . Since Eclipse is offered on different platforms, porting of the Lotus Notes 8 client is also guaranteed. The Lotus Notes 8 client runs on Windows, Linux and macOS.

More clients

HCL Notes e-mail can also be sent to other clients, such as B. Mozilla Thunderbird , which support the POP3 and IMAP standards. Also, Microsoft Outlook 2002 and 2003 can be used by end users to use Notes on the Domino Access for Microsoft Outlook (DAMO) mail and calendar functions of HCL.

portability

Notes applications or Notes databases are highly portable (over 99.9%, that is, the adjustment effort on a further platform is less than 1 per thousand of the development effort). This extraordinarily high degree of portability is only achieved as long as the Notes formula language is used. The use of LotusScript can already reduce portability if operating system-specific functions are used. For example, the path specification for a file is different on Windows and Unix. The portability is further reduced by technologies such as client-side Java, since this is not available in the Notes client for the Macintosh.

However, if you only use the formula language and portable LotusScript, the main effort when transferring a Notes application from Windows to Macintosh is to adapt the fonts and font sizes (because TimesRoman 10 does not take up the same amount of space on Mac OS and Windows). This makes it clear that when porting classic Notes applications, effort is usually only incurred for the display and that the core functions work identically.

But the programmer can also take this into account right from the start, for example in the original Lotus Mail template usable fonts are used for both Windows and Macintosh.

safety

The Notes system knows several security systems:

  1. Access security from clients to the server: There is not only a username / password security, but a valid certificate must also be available, bilaterally: the server must present a valid certificate to the client when establishing the connection and the client to the server. The authentication of the user with a password does not take place directly on the server, but via an ID file that contains the user's private key. This ID file can only be created using a specially protected Certifier ID. In addition, access to the server is controlled via access groups within the Domino address book.
  2. Confidential data can be stored encrypted in a Notes database in four ways:
    1. at database level with the user's public key (for locally stored databases)
    2. at database level with the public key of the server (for databases stored on the server)
    3. at field level with the public keys of the persons who are intended to be read
    4. at field level with its own symmetrical key (usually created by a department manager and not by computer scientists)
  3. Execution Control. Code is always signed, whether the code can be executed is controlled via a release list. The list can be controlled via policies, which ensures that no arbitrary code is slipped under.

These security systems are integrated in the Lotus Notes system. They are therefore easier to use and administer than with conventional systems, which have to be installed, configured and administered as separate software systems. Think of distributing keys to many clients or updating expired certificates for many users.

Logs

A Lotus Notes client communicates with a Lotus Domino server via NRPC (Notes-RPC, port 1352), a variant of RPC . NRPC can be routed over TCP / IP, NETBIOS and other protocols. Lotus has also developed a fault tolerant protocol for communication via analog modems (X.PC).

Lotus Domino supports the Lightweight Third-Party Authentication protocol developed by IBM for single sign-on in the web browser and, starting with version 8.5.1 (2009), SPNEGO for single sign-on with Microsoft Active Directory in the Lotus Notes client. A password synchronization service is also available for Windows . As of version 9.0, both the Notes client and the Domino server support SAML .

Data format

Domino XML (DXL)

Starting with version 5.0, Notes supports reading and writing of Notes data and design from / to XML. The first functionality was implemented in the context of the view display using an applet in the browser client and can be used using the ReadViewEntries web command. This functionality is used today, among other things, for improved web presentation.

In R5, further XML processing was available in the Java document class (.renderXML) and an external toolkit. Starting with R6, IBM also delivered this functionality as integrated classes for Lotus Script with greatly expanded functionality. With the help of these classes, data and design elements can be extracted, manipulated (via DOM or XSLT ) and written back to existing or new databases.

Notes Data Link (NDL)

Notes data link files are links to databases, views or documents. They are stored in a structured form as plain text in an NDL file. The appearance is similar to an XML file. The .NDL file extension is entered in the Windows registry when the Notes client is installed (path: HKEY_CLASSES_ROOT).

As soon as a .NDL file has been created, it can be passed as a parameter when NOTES.EXE is called.

Example: NOTES.EXE C: \ TEMP \ TESTDATALINK.NDL

If the link is selected via Internet Explorer, HCL Notes opens. This is independent of the content-type that the server transfers. Microsoft Internet Explorer first checks in the system whether the file extension is already known. Alternative browsers such as B. Firefox or Opera cannot check in the system whether the file extension .NDL is known. Instead, it depends on the content type transferred from the web server. To call Notes DataLinks via an alternative browser, the content-type: application / ndl should be passed. This can be achieved, for example, under the Apache HTTP Server by adding the line "AddType .ndl application / vnd.lotus-notes binary 1.0 # Notes Data Link" to httpd.conf.

OSGi

The IBM Workplace Client was an important technology supplier for the further development of Lotus Notes. By integrating the IBM Workplace Client technology, Version 8 of Lotus Notes was the first to use the open source Equinox framework , which implements the service-oriented OSGi architecture and is also based on the Eclipse IDE . Equinox was originally developed by IBM as well .

API

Domino data and functions can be accessed via various APIs . The programming languages ​​C / C ++ and Java can be used. Starting with version 7, Domino supports the development of web services . A web service can be implemented in Lotus Script or Java.

Generic access to Domino documents via SOAP can be considerably simplified using the open source SOAPGATE tool .

criticism

A frequently mentioned point of criticism of HCL Notes is the less intuitive user interface and the associated dissatisfaction with the general usability of the software.

Earlier versions of HCL Notes in particular were criticized for changing the tried and tested operating concepts of other software, which resulted in an inconsistent user interface that was sometimes confusing. An example of this procedure can be found in the keyboard shortcut F5, which is used in particular within Windows to update the current window. However, in Notes this command resulted in locking the screen. Another point of criticism was the lack of support for proportional scroll bars , which normally show the user how long a document is proportional to the current image section. After criticism of these design decisions, they were corrected with the release of Notes 8.

Older versions of Notes suffered from similar problems, many of which were corrected in later versions of the software. An example of this is the out of office agent, which prior to version 8.5 had to be deactivated and activated manually, even if the start and end dates were set beforehand. Only after Notes 8.5 is the out-of-office agent automatically deactivated again when the end date is reached.

Unlike other e-mail programs, HCL Notes users cannot tell if a read receipt is sent when they open an e-mail because this option is configured at the server level. The IBM developers believed that "allowing individual cancellation of read receipts violates the intent of a read receipt within an organization." Depending on the settings of the server, users do not have the option of not sending a read confirmation, which can be problematic in particular with unwanted e-mails such as spam . With IBM Notes version 9.0, a way was added to bypass this functionality of Notes by adding an entry to the .INI file of the IBM Domino server.

Additional criticism concerns the general performance and stability of HCL Notes. If the software crashes, some processes will continue to run in the background that will prevent the application from being reopened until they are closed manually.

history

version publication info
1.0 Dec 1989
1.1 Aug 1990 supports clients with Windows 3.0
2 1991
3 May 1993
3.1 Feb 23, 1994 Support for Sun Solaris 1.1
3.2 Oct. 4, 1994 Support for UNIX platforms: SCO Open Desktop , HP-UX , IBM AIX
3.3 Feb 23, 1995 Lotus Notes Desktop
4th Jan. 22, 1996 Netware server support removed
5 1999
6.0 Sep 2002
7.0 Aug 2005 DB2 support is added
7.0.1 Jul. 2006 The first Linux version is released, certified for Red Hat Enterprise Linux .
7.0.2 Sep 2006 A blog template and support for RSS feeds and iCal will be added, as well as SAP ERP integration. In addition, the "Nomad" feature allows you to take the Notes client with you on a USB stick.
8.0 Aug 2007 Introduction of the standard client based on Expeditor ; In parallel, the previous Notes client will be continued as a "Basic" client
8.5 Dec 2008 ID Vault, new roaming functions , xPages, DAOS (storage space savings between 40% and 60%), ... as well as a multitude of other extensions. The Domino Designer is ported to Eclipse. Windows Server 2008 support is added
9.0.0 21 Mar 2013
9.0.1 FP8 7th Mar 2017 From this release onwards, instead of “fix packs”, “feature packs” will be delivered. Domino servers 32-bit Linux and AIX are no longer supplied (switch to 64-bit), clients for Windows XP and Linux have been discontinued.
10 Oct 10, 2018 Domino Query Language (DQL), support of databases with more than 64 GB etc.
11 20th Dec 2019 Revision of the client, DAOS Tier 2 storage, directory synchronization with external LDAP directory , update of the Java runtime environment to OpenJ9.

Web links

References and comments

  1. a b [1]
  2. heise.de
  3. Heise Online: IBM sells Notes, Domino, Sametime, Connections, Portal and other products
  4. Heise Online: IBM pushes Notes, Domino and Sametime off
  5. HCL Technologies Announces close of Acquisition of select IBM products | HCL Technologies. Retrieved October 25, 2019 .
  6. Software Group: Lotus Domino Web Access is now known as Lotus iNotes ( English ) IBM. January 20, 2009. Archived from the original on February 1, 2009. Retrieved on July 16, 2010.
  7. ^ Information from the Baum Retec AG office in Marburg
  8. Accessibility features ( English ) 10.lotus.com. Retrieved March 27, 2014.
  9. www-01.ibm.com
  10. IBM Knowledge Center. Retrieved December 19, 2019 (American English).
  11. madicon.de: Format of the .NDL files
  12. Soapgate: Open Source Access to Lotus Domino Data , Linux Magazine, November 21, 2011
  13. ^ Charles Arthur: Survival of the unfittest . In: The Guardian . February 9, 2006, ISSN  0261-3077 ( theguardian.com [accessed April 25, 2019]).
  14. Lotus Notes Sucks: Example April 29 , 2012, accessed April 25, 2019 .
  15. Techniques to Not Send a Return Receipt When Viewing Mail - Mindwatering Incorporated. Retrieved April 25, 2019 .
  16. Finding and disabling hidden return receipts. Retrieved April 25, 2019 .
  17. IBM Is there a setting in Lotus Notes to control whether a return receipt is sent? - United States. September 7, 2017, accessed April 25, 2019 .
  18. KillNotes - Restart Lotus Notes without restarting your PC. May 19, 2018. Retrieved April 25, 2019 .
  19. ^ IBM: Notes / Domino Fix List
  20. initial release
  21. more innovations can be found at ibm.com
  22. IBM: IBM Notes / Domino 9.0.1 Feature Pack 8 Release Notice
  23. HCL Notes / Domino 11.0 Fix List. Retrieved January 28, 2020 .