Domino Web capabilities
Table of contents
The Lotus Domino Server contains several modules, or server tasks. These tasks perform many functions usually available as separate servers from other middleware vendors. These some of tasks can also be seen as services, in a service-oriented architecture (SOA), which can talk to other applications or integrate with your solution.
A big advantage of a Domino-based solution is how easy a Web developer can mash together a sophisticated application by using these services within the integrated application environment of Lotus Notes, which has been designed from the start for building collaborative solutions.
In the following sections, we identify the services that you should know to help architect your Domino Web application.
- HTTP server
One of the aforementioned server tasks is the Web, or HTTP server with Secure Sockets Layer (SSL) support. This can be used as a simple HTTP server which can serve up HTML pages from the Domino server data directory. By default pages stored in the domino\html directory will be available as if from the root directory of an HTTP server. These defaults can be changed in Domino server administration, and multiple HTTP servers can be managed on a single Domino server.
- Web application server
- Web services provider and consumer
A Web service provider publishes a Web service for query and use, and a Web service consumer calls operations from the service. A Web service provider makes available a Web Services Description Language (http://www.w3.org/TR/wsdlWSDL) document that defines the service interface. Incoming requests from a consumer are passed through to the underlying code, and results are passed back to the consumer. Lotus Domino maps the WSDL interface to an agent-like Web service design element that can be coded in LotusScript or Java. This allows your Web site/application to retrieve information from internal and external services or supply information as needed, to support a service-oriented architecture (SOA) in your design.
- Web Retriever
The Lotus Domino Web Retriever task is responsible for retrieving Web pages on behalf of Notes client users who want to access the Web via their server. It also supports the variety of LotusScript and Java methods, such asGetDocumentByURL, so that you can obtain the HTML code of a Web page and parse through it. This is useful in "republishing" time sensitive or status information from HTML on other sites or applications (e.g. stock prices etc.)
- POP3 mail server and IMAP mail server
Domino provides Post Office Protocol Version 3 (POP3) and Internet Mail Access Protocol (IMAP4rev1) servers. Both implement Internet mail protocols that supports a user running a POP3 or IMAP clients. The Domino server receives and stores mail for users, who can then connect to the server to retrieve their mail. The IMAP service differs from the POP3 service in that users are not required to download messages to a local computer to read and manipulate them. These services may be relevant if you want to support mail users using alternate clients, but both services are derived from the built in messaging capabilities of the Domino platform.
- SMTP server
Domino supports sending and receiving mail over Simple Mail Transfer Protocol (SMTP) by means of the SMTP listener task and SMTP Router, respectively, each of which you enable separately. The SMTP listener task handles incoming SMTP connections and delivers messages received over those connections. While not directly related to Web applications, this capability helps you to integrate SMTP mail into you overall Domino solutions
- LDAP Client/Server
Domino provides a Lightweight Directory Access Protocol (LDAP) server. LDAP is a standard Internet protocol for searching and managing entries in a directory. Many Internet clients and middleware products use LDAP to share and look up directory information. Domino LDAP support is quite sophisticated. If you need LDAP services, you can review its capabilities in the Domino Administration help. Domino can also function as an LDAP client and can easily integrate external LDAP information into the Domino directory, which can be used to authenticate Web application users.
- Database server
Domino includes a database management system (DBMS), although it is not a relational DBMS nor an object database. Rather it is a document-centric database. It allows multiple values in items (fields), doesn't require a schema, has built-in document-level access control, and can store RichText data. This document orientation sometimes behave more like as XML document natively stored in a database, and like XML, Domino supports hierarchical relationships. While many Web application development frameworks cater to relational back-ends, the unstructured hierarchical nature of Domino makes it ideal for rapidly collecting and evolving Web-based solutions. For example, post to a Notes form with no fields defined and capture all information posted. The presentation and categorization can be programmed later.
- DIIOP server
DIIOP is CORBA over IIOP for Lotus Domino. It is primarily used in Domino to allow the Domino Java applets in the web client to talk directly to the Domino without refreshing the page. This is also the way WebSphere, other IBM products and third-party applications access Domino information remotely over TCP/IP.