White Paper - Notes as a Web Server: Introducing "Domino" In June 1996, Lotus Development released beta code of a server task that allows standard Web browsers to access and securely interact with data and applications residing on a Notes server. This new server task, code-named "Domino" effectively transforms Notes from a proprietary client/server platform into a secure, interactive Web application server, fully compliant with critical Web standards such as HTTP and HTML. This paper discusses the value of Notes as a Web server, and how it differs from traditional HTTP Web servers. There are a multitude of ways to characterize the Internet and the World Wide Web -- from a technical analysis, to their relatively recent rapid and widespread adoption, to their impact on the computer industry and on business in general. The danger of any analysis, no matter how cogent and comprehensive, is that the pace of change in the exploding Internet/Web industry is so great that almost any analysis is quickly rendered obsolete. Nevertheless, some facts and trends are apparent and undeniable. First, it has become clear that Internet and Web protocols have cleanly and definitively broken the proprietary tie between clients and servers. Web browsers using the HTTP and HTML protocols have become a de facto standard on the desktop. Any standard Web browser can connect to any standard HTTP Web server, regardless of vendor. While there may be an advantage to using a Web client and a Web server from the same vendor, it is no longer a fact of life that a single vendor solution is the only one. Servers are servers, and clients are clients. Second, it is also becoming increasingly clear that it is the Web server that will provide the greatest value in a Web-based client/server system. While the browser has become somewhat commoditized, there is significant difference in the level of functionality at the Web server level, and it is this functionality that will define the possibilities and limits of what a Web application can and cannot do, regardless of which client or clients are used. And last, there appear to be several different categories of Web sites used for both public and internal purposes. * Publishing. The large majority of Web sites establish a "presence"on the public Internet and represent a page repository of sorts on corporate or departmental Intranets. These publishing sites broadcast pages to an unlimited or well-defined user base, with limited interaction. The value of a Webserver or these sites is in its ability to reduce costs by managing a large volume of ages for various audiences. * Applications. There are high value Web applications that go beyond broadcast publishing -- from simple forms-based applications to sophisticated workflow applications that support or fully automate a business process, such as customer support or human resource management applications. The valu of a Web server for these sites is its ability to give programmers a comlete development environment with which to build sophisticated applications quickly and easily. * Infrastructure. For many IT planners, Web servers have begun to act as a value-added layer between standard desktop browsers and back-end, legacy systems, so that every user within an organization has authorized access to virtually every piece of information stored in every system anywhere in the company. This kind of Web server is truly a critical information infrastructure. The value of a Web server here is its ability to reliably integrate with other infrastructure components with a minimum of added complexity. The Lotus Notes "Domino" server is particularly well suited to the task of all the Web server functions described above. The Notes "Doino" server natively supports Internet and Web protocols -- HTTP, HTML and TCP/IP, among others. As a Web server, therefore, Notes extends mature and sophisticated functionality to standard Web browsers -- not just to Notes clients! What's more, the functionality that exists today in Notes servers and which is expose to Web browsers far surpasses that of other Web servers. Because the Notes "Domino" server is now a value-added Web server, it has specific advantages when used to support internal and public Web sites of all types: - The Notes "Domino" server reduces the cost of managing a "published" Web site with a high volume of pages. - The Notes "Domino" server gives developers a full breadth of application development facilities to create high value interactive secure Web applications. - The Notes "Domino" server acts as a reliable infrastructure for corporate Intranets by seamlessly integrating with other information system resources. Reducing the Cost of Web Site Management ----------------------------------- Today, the majority of Web sites perform the basic task of serving up pages to customers, prospects and/or employees to provide up-to-date information on an as-requested basis. As public Web sites and private intranets demonstrate their value, the need to support more and more pages rows accordingly. While sites with only several hundred Web pages can be set up and maintained with only a modest effort, mission critical Web sites with thousands or tens of thousands of pages and authors will necessarily entail greater technical and human resources to assure organization and ease navigation. As an enterprise-level page database, the Notes "Domino" server is ideally suited to manage large volumes of Web pages. The Notes "Domino" server eases the administration/ management of a Web site by providing the following services: PAGE MANAGEMENT: Every time a new page is posted to a Web server, the author or the Webmaster also creates a set of links that point to tht page. consider a page posted on an Intranet about a new customer. Other users should be able to find that Web page by looking at an indexed listing sorted byany number of categories, such as:: by author, by customer, by industry, by product, by account manager. For instance, if a user knows the author of a certan page, when he or she should be able to click on a particular author's name, t he user is resented with another Web page listing all the pages created by that author. and, last by clicking on a particular page entry, the user is presented with the page he or she was looking for. In this example, there are three hypertext links that lead a user from the home page to the desired web site location.. It also has three links to other views on the home page. If every page has three links that connect it to the home page, and is listed under ten different indexing criteria, then a site with 10,000 pages will have up to 300,000 links in it, all created in a more or less manual and perhaps inconsistent manner. But not with Notes. Because the Notes "Domino" server is a document database, and therefore is naturally able to manage Web pages far more effectively than a flat file system. The Notes database reduces the complexity of the site by displaying page listings according to flexible index criteria, . Unlike most page management tools, which only mask over complexity, the Notes "Domino" server simplifies a site's structure. . Every Web page stored in a Notes database is automatically categorized in a logical hierarchy called views. That is, for every page saved in a Notes database, it is immediately listed under a set of predefined views (e.g., by author, by date, by customer, by industry). These views are visible to any Web browser, so organizing information in an easy to find way is done automatically, not manually by authors or the Webmaster. This significantly reduces the effort required to make a Web site easy to navigate. In addition, the Notes "Domino" server exposes the Notes full text search engine to Web browsers. This allows any user to conduct proximity-based and relevance ranked searches, so that finding a needle in a Web haystack is a simple process. BASIC INTERACTIVITY: Publishing a page on the Web is one thing. Allowing the reader to respond to a page and automatically route the response to the right person or business process is another thing entirely. Introducing interactivity into a Web site is a significant step towards greater complexity -- and cost. The Notes "Domino" server supports browser-initiated interactivity in two ways. First, the Notes "Domino" server creates forms that can be read and filled out by users with a Web browser. Notes is a forms-based development environment, so it should not come as any surprise that Notes can perform this function. What is important about Notes forms is that when they are submitted by the user, they are entered into a Notes database and acted upon, unlike basic e-mail messages or files that sit in an in-box or HTML file system on a low end HTTP server, waiting for someone to open them up and do something with them. Because submitted Notes forms are actual Notes pages, they can be viewed by anyone with authorized access to the Notes";Domino"server. They can be viewed by any variety of criteria using Notes views, such as "by customer", "by submission date", or "by status" (e.g., unread, in process, completed). Notes forms can also trigger a predefined workflow application based upon the value of a particular field within the form. Notes also performs basic validation on forms, to ensure that all submissions are complete. For example, Notes may return the form to the user if the "LAST NAME" field is not completed. Second, Notes Domino" server-based discussion databases automatically become Web-based discussion databases. For example, an employee using a Web browser to view a discussion can easily navigate through the database and see a hierarchically arranged history of a threaded discussion. The view of this outline can be expanded or collapsed at will, so that a user could see every discussion item entered on every date, those entered on just selected dates, or see only a list of the dates during which a discussion item was entered, without the entries themselves displayed. In addition, users are presented with varying levels of functionality based upon their authority. That is, if a user is viewing a page that he or she created, the Notes "Domino" server will offer that user the ability to edit and update that page. SECURITY: As the number of pages in a web site increases, the need to limit access to particular pages to only authorized readers also grows. While everyone is likely to have access to the company policies and procedures manual on a corporate Intranet, only a handful of users will have access to specific customer information. Most Web servers can control access to subdirectories. The Notes "Domino" server eases security administration using a Notes feature called Access Control Lists (ACLs). The Notes ACL allows the Webmaster not only to define which files can be read, but also to control access to servers, databases, views, pages and fields within pages. As alluded to above, Notes also supports roles-based access, granting or denying access to specific views, documents and fields depending on the user's status or authority. In addition, the Notes "Domino" server supports Secure Sockets Layer. NETWORK PERFORMANCE AND EXPENSE: The physical constraints of the Internet and of private internal networks require that individual Web databases be distributed to optimize network performance and minimize costs. The Notes "Domino" server is the only Web server that supports bi-directional replication, which allows a Webmaster to synchronize all pages on all Web servers. Consider a simple case: a corporate intranet that includes such basic information as a human resources policies and procedures manual, an employee benefits directory, a corporate phone book, and some customer profiles. In this case, let us assume that there is a central Web server located at the company headquarters in New York. Most of the material posted to the Web site is also authored in New York, so getting information from multiple desktops to the Web server is relatively straightforward. Of course, the Web database needs to be accessible to all employees worldwide, not only those employees in New York. Therefore, the company has several options to make this Intranet resource available worldwide: - Make the Intranet server a node on the public Internet. This is a viable alternative, and certainly reduces the cost of distributing the information to almost nothing. However, many companies will not feel comfortable putting private, internal information on the Internet. For those companies, the other alternatives must be considered. - Deploy a private wide area network (WAN). A WAN will give the company a high degree of security and performance. On the other hand, private or leased WANs carry with them a necessary expense, and the cost of deploying this intranet server may encounter budget items that were not anticipated when it as originally conceived. - Mirror the Intranet server. Many companies instead choose to mirror their Web server by making an electronic "snapshot" of all the pages on the server and sending it to all the remote sites. The remote sites, in turn, put the copy of the files on their own local area networks so that everyone has low cost, local access to all the current data. However, this solution runs into significant complexity when there are changes made to the data on all sides of the mirror. That is, if anyone outside New York creates, updates or deletes a page on the Web server, then there is no way to automatically synchronize all the pages throughout the company. The mirroring process, in this case, becomes an expensive and error-prone manual activity conducted by the Webmaster. The solution to this synchronization problem is a technology called bi-directional replication, in which all pages on all sides of the synchronization pro cess are updated, so that no changes are lost or overwritten. The Notes "Domino" server is the only Web server that supports bi-directional replication. This service of the Notes "Domino" server has been deployed in the field since the first release of Notes in 1989, and has been enhanced to make it easy to implement and highly efficient. For example, Notes server-to-server bi-directional replication detects and synchronizes changes made at the field level, making the process significantly more efficient than simplistic one-way. Building High Value, Interactive and Secure Web Applications -------------------------------------------------- Many Internet and Intranet Web sites do nothing more than publish pages. While some do provide a basic level of interactivity, such as fielded forms and conferencing databases, there is no doubt that the greatest value of Web sites is in the deployment of mission critical applications that coordinate specific business processes. Electronic commerce is one of the most commonly cited examples of an Internet application. There are, of course, many other processes that both precede and follow electronic commerce that lend themselves to automation on the Web, such as customizing marketing material to respond to specific profiles and inquiries, lead generation and qualification, fulfillment and follow-up, sales meetings, negotiation, contract review and approval, post-sale customer service, account review, and the identification of more sales opportunities. While n one of these are typically considered "commerce" per se, they nevertheless represent high value-added activities that can make a Web site an invaluable corporate asset. http://www.bank.com Consider a typical customer service application: a retail bank allows customers to check the balance and activity of their checking, savings and other accounts. A customer goes to the company web site, say http://www.package.com, and fills in a form with an account number and submits the form. The form is returned to the Web server, which in turn makes a call into a back-end database that stores all the bank's account records. The database returns an answer ("Your checking balance is $1,348.45.") that is rendered as a Web page to the customer. Customers might also be able to check the last ten checks that have cleared, and check to see what credit card or loan payments are due. This relatively straightforward application, if deployed well, should prove to be of tremendous value. The bank does not have to maintain as many operators to answer customer telephone inquiries, and customers get even better service. Now consider how this application might be extended to provide even better value. Suppose a customer visits this site and checks her balance, only to discover that the checking account has an unexpected negative balance. As far as the customer is concerned, this is clearly an error. Obviously, the bank does not want to supply this bad news and not give the customer some sort of recourse. This otherwise valuable application in this case would actually be providing poor customer service. Instead, the Web site should have an application that adds the critical value of turning this dissatisfied (and potentially former!) customer into a satisfied and loyal customer. What would such an application do? 1. Give the user an opportunity to fill in a form to request that the problem be remedied. The form would automatically include all the customer's information: her name, company, package billing number, etc. This is the same information that is provided by the back end database, which means that the forms tool to create this application is integrated with the back end database. The customer would also have the opportunity to ask a question -- or loudly complain! 2. Submit the form to an automated "gatekeeper". As mentioned above when discussing interactivity, most forms on Web sites are returned as e-mail messages (typically sent to the Webmaster as a default) or as files that sit in the HTML file system on a Web server, where they may languish unfound and unanswered for hours or days. That is, there is no automated business process that is triggered by the receipt of a customer service inquiry, regardless of its level of urgency or importance. A more complete Web application would accept the submitted form and process it. In this case, the process would be to check the level of urgency and importance (is this a big customer? how bad is the problem? is this the first time the customer has complained or is this a repeat problem?) and to escalate the work item accordingly. In short, this process needs application logic built into it. 3. Assign the task to the appropriate person. Once the status of the submittal is determined, the system should assign the task to one or more customer service representatives. This can be done by automatically generating and sending an e-mail message to the right persons (not the Webmaster!). The e-mail might contain a hyperlink that, when clicked, links the various customer service representatives to the form so that everyone can add comments and suggestions in the same place about how to solve the problem or explain why the balance is negative. This process now requires an e-mail system and a directory that contains the names and roles of all the personnel involved (service manager, service supervisor, account representative, etc.). 4. Respond to the customer. Since the system is now "aware" of what is happening to the request, it should let the customer know of this. It is not enough to tell the anxious customer that the form has been received and that "something is happening." (After all, the customer already suspects that the bank has mishandled a transaction; she is not likely to be overly confident about the bank's internal processes at this point!) Rather, the system should give the customer as much information as possible, just like it does when it responds with good news about an account balance. In this case, the system would dynamically create a new Web page that informs the user of the status of the inquiry, who is working on it, how to contact the person working on it directly, and how soon to expect an update about what is happening with the inquiry. 5. Monitor the process. Things always can go wrong. Suppose the customer service representative responsible for coordinating the response to this inquiry fails to read his e-mail, for whatever reasons. The system should be able to monitor the process to make sure that the service staff is making progress. I if the e-mail has remained unopened, or if no comments have been entered into the appropriate field in complaint form, the system should escalate the process, re-sending an e-mail to the service representative, and also alerting others (another customer service representative, the customer service supervisor, the account representative), the who now may need to know of a potentially worse problem developing. This system requires a database with agents that operate without the intervention of a user. Clearly, this is a high value-added application. None of this would ordinarily be considered commerce, though its value to the bank may in fact be invaluable in retaining otherwise dissatisfied customers to competitors. CAUTION: Some Assembly Required What is also clear is that to build such a Web application today would require a disparate set of tools -- a page database, a relational database access tool, a forms editor, a scripting language, a server-based e-mail system, an enterprise directory system, and server-based agents. While some of these tools are readily available, there is very little integration among them. What's more, once the expensive systems integration is performed to create this complex application is created, it is unlikely that any of the application assets can easily be "ported"to another application. That is, there is little potential for reuse given the high degree of customization required by such a multi-vendor, multi-tool solution --- each with its own necessary proprietary extensions to standard Web protocols. The Notes "Domino" server, on the other hand, provides Web site developers with all of these tools and services. What's more, all of these services have been widely deployed since the first release of Notes: they work, and they work together. As a Web server, the Notes "Domino" server includes: - Rich forms designer. This is a core service of the Notes "Domino" server. Forms are submitted to the Notes "Domino" server at the API level, so that no CGI scripting is required: forms and logic are maintained together in a single environment. - A scripting language and high level development environment. LotusScript, a BASIC-compatible programming language, is integrated into the Notes database. Developers also have the option of deploying Java applets as part of a Notes application. - An e-mail system. Messaging is an integral service of the Notes "Domino"; server. Notes servers support not only Notes Mail clients, but also cc:Mail, MS Mail, any MAPI-based mail client, and POP3 clients, so that virtually any mail client can participate in a Notes application. - An enterprise directory. The Notes directory is a flexible Notes database that can include qualitative fields (e.g., "handles urgent customer service inquiries") in addition to simple name and address information, so that Notes workflow applications can include designated roles as well as predefined or hard-coded e-mail addresses. In addition, the Notes directory is compliant with industry-standard protocols, including X.500 and LDAP. - Server-based agents. Notes agents range from predefined "simple actions" to fully customized LotusScript programs. - A database integration facility. Notes is seamlessly integrated with back end databases and transaction processing systems. See the following section for more detail. Of course, the acquisition cost alone makes Notes a cost-effective Web application development environment. However, it is the cost of performing custom systems integration on a per-application basis that represents the true -- and surprisingly high -- cost of developing and maintaining high value Web applications. The Notes "Domino" server stands alone among Web servers/development environments in providing breadth and depth, while at the same time allowing developers to use other standard programming tools. Seamlessly Integrating Your Web Site with Other Corporate Data Resources ------------------------------------------------------------ One of the great promises of the universal appeal and acceptance of Web protocols is their ability to simplify and standardize an otherwise fragmented and proprietary corporate information technology infrastructure without sacrificing functionality. Using a Web browser as a standard desktop client, end users are free to continue to use whatever operating system platform suits their needs and preferences, whether it is Windows, Macintosh, OS/2 or UNIX. Likewise, it doesn't matter what word processor or spreadsheet you use. All output can be saved as or translated into HTML, so that proprietary data or file formats no longer hamper the free flow of information throughout an enterprise. By using the standard Web protocols, everyone using a Web browser can get access to every piece of information in the enterprise. Of course, not all information exists as a Web page on a Web server. Indeed, most corporate information -- customer data, employee data, inventory data, financial data -- is stored in relational databases and transaction processing systems. For years the challenge for many IT organizations has been how to make this vast store of information easily accessible to all users, and to marry that structured data to the unstructured information captured in business plans, reports, memos, product specifications, proposals and other corporate pages. Some solutions have existed, including executive information systems, decision support systems and groupware systems such as Lotus Notes. The problem with these solutions had been that they each required a proprietary client connected to a proprietary server, making widespread deployment costly and difficult to manage or mandate. The Intranet dissolves almost all of these barriers. Web browsers can ubiquitously replace proprietary, special-purpose clients, and HTTP can act as baseline server protocol. What is needed on top of this basic HTTP server is robust database access tools that will allow every user to access literally any piece of corporate information regardless of where it resides -- in a database or on a Web page -- or in what format it is stored. The Lotus Notes "Domino" server is tightly integrated with back end databases. It uses ODBC as a standard interface between Notes and RDBMSs, and also includes specific integration with Oracle, DB2 and Sybase SQL Server, as well as with SAP and Peoplesoft databases. Notes is also tightly integrated with CICS-based transaction processing systems through the use of IBM’s MQ Series for Notes. MQ Series allows Notes applications to handle semi-structured data and workflow processing that precedes an actual transaction, and then passes control of the transaction from Notes to the CICS application. Last, the Notes "Domino" server is part of an overall systems management architecture through the use of NotesView, an SNMP-compliant management tool that monitors the status of Notes servers throughout an enterprise Intranet. No other Web server approaches Notes' level of integration with these other key data resources and infrastructure components. Conclusion --------- Web technology is changing the face of business computing. Internet applications promise to dramatically and even fundamentally transform the relationship between companies and their customers, suppliers and business partners. Intranet applications promise to make the flow of important internal information accurate, timely and efficient. Businesses of all sizes have begun to exploit the value of Internet standards and technologies. More and more companies are producing ever-increasing volumes of content for internal and external consumption. Leading-edge companies are developing innovative applications that help achieve tactical and strategic goals. And technology planners are evaluating how Internet set standards can represent the foundation for an information infrastructure. The Notes "Domino"server stands alone in the industry in providing proven, robust Web solutions for Internet and Intranet publishing, interactive and secure business applications on the web, and information infrastructure.