Lotus Notes Domino and Web: application development – tips for programmers
by: Eugene Polyakov
Beginning with Domino version R4 it has integration with the Web, and the server itself becomes a HTTP-server. The next releases of Domino Web-server add new functionality (for example servlet managers, supported JVM versions upgrade, etc). To give you general picture and abstracting from details we’ll talk about two major Domino Web-server functions:
1. Domino Web-server is the full-featured HTTP-server. In other words, it can provide static (or conditionally static) files as the reply to HTTP-browser’s requests (including HTML, image, JavaScript, applets, etc);
2. During the browser’s requests to Domino dynamic resources by specific URL, the server can create in passing HTML-pages, making the Domino object visible.
For sure, it is reasonably simplified model (we mentioned that, for example, Domino Web-server supports servlet technology), but this model allows to discuss the major issues in creation of Web-applications based on Lotus Domino technology. Following the major problems are:
* in Domino-based Web-applications creation developer is strongly limited to use built-in program languages’ possibilities. Thus, from 380 inbuilt @-commands of @-formulas language nearly 40 are supported in Web. LotusScript is supported only in three types of Web-agents, etc;
* application security problems. The standard authentication, authorization, coding, digital signatures, etc. mechanisms are simplified in Web or do not work. So SSL + x.509, etc. certificates are to be used in such cases;
* applications efficiency. HTML-pages generation in passing surely takes the server resources, so if the application is poorly constructed, it may cause the server failure. For example, if the first page of the site is generated by an agent, then concurrent request from rather big number of users may cause the service failure situation. Developers are to take care themselves for loading balance putting into different parts often changed and more static data;
* result of HTML-pages generation in passing from Domino resources is not every time obvious. Often such a procedure issues appearance in generated page «additional» by developer point of view tags (for ex., , , , etc). As a consequence, most developers put on Domino only those features which can not implement themselves. If look through the codes of full-blown Web-sites, designed on Domino technology, then, for example, in Domino forms we see only fields, all extern design is based on DHTML.
It is not so bad. There are a lot of sites, supporting large number of users, accessing Domino data. Domino technology from release to release offers new possibilities for Web-design (for ex. JSP custom tag library, inbuilt HTML-editor, etc). The author himself used Domino to create portals with requests with more than 2000 visitors per a day. Summarizing the own and my colleagues experience in Domino Web-design field, I can recommend the following:
* Before creation of Web-project on Domino it is necessary to evaluate the whole Domino infrastructure in frame of concrete organization. If the Domino infrastructure at this company is on opening or initial stage, than Web-design based on Domino is hardly appropriated. The fact that Domino Designer is the environment for rapid application development (RAD), including Web- applications, can not be the reason to create Web-projects on Domino;
* as far as possible allowing to Domino transfer in passing only objects, which can not be or hardly implemented by using other Web-technologies (so-called HTML-design is to be developed by programmers). The author thinks that, if a site needs to operate with Domino data, then to view them it is necessary to avoid the use of standard URL working with Domino objects. In this case exchange of data between site and Domino can be done by using any integration technologies supported by Domino (ex., XML, CORBA, JDBC, etc). In other words, Domino will play a role of data storage and their viewing is to be done by other mechanisms. Implicitly, the issue is confirmed by IBM. In R6 Domino Don't allow URL open feature may be assigned to databases , so the usage of standard URL Domino is protected in Web-applications;
* attention needs to be paid to Web-application security. Even when your site does not allow non-authorized access to information via Internet, you can expect hackers out there challenging your web-site security;
* only the tested by loading technologies are to used in Web-applications;
* minimize as much as possible the traffic Web-server browser. In Web-design the issue is to be considered that Internet channels are usually narrower than local channels Domino Lotus.
Good luck in your system setting up and contact us for any help in USA: 1-866-528-0577, Germany: (0177) 8349 806!
[email protected]About The Author
Eugene Polyakov is a technical writer in Ronix Systems (
http://www.ronix-systems.com ) the European branch of Alba Spectrum Technologies (
http://www.albaspectrum.com ), IBM and Microsoft Business Solutions Partner, serving clients in Chicago, Miami, New York, Los Angeles, San Francisco, Denver, Phoenix, Houston, Atlanta, Germany, UK, Australia, South Africa, Brazil, Moscow.
[email protected]