Browse Prior Art Database

Personal Server Console: A system to assist debugging server-side agents

IP.com Disclosure Number: IPCOM000015024D
Original Publication Date: 2001-Aug-01
Included in the Prior Art Database: 2003-Jun-20
Document File: 3 page(s) / 73K

Publishing Venue

IBM

Abstract

Disclosed is a system to assist debugging Web agents in Lotus Domino* based web applications. It is clear that most if not all business logic in a Web based application is performed on the server-side. Whether it is done using a LotusScript agent in a Lotus Domino environment or a servlet in a WebSphere Application server environment, the code will run in the comfort of the Web application server.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

Personal Server Console: A system to assist debugging server-side agents

Disclosed is a system to assist debugging Web agents in Lotus Domino* based web applications. It is clear that most if not all business logic in a Web based application is performed on the server-side. Whether it is done using a LotusScript agent in a Lotus Domino environment or a servlet in a WebSphere Application server environment, the code will run in the comfort of the Web application server.

In a Lotus Domino environment, there are two ways to activate Web agents. These are:

Using the OpenAgent URL command - The OpenAgent command has the following syntax:

http://Host/Database/AgentName?OpenAgen

Using the ToolsRunMacro @Command from an action, hotspot, computed text or in the

WebQueryOpen or WebQuerySave event - The WebQueryOpen and WebQuerySave events are the most commonly used triggers. The WebQueryOpen event occurs before Domino converts the document being opened to HTML and sends it to the browser. You can change initial field values and do other preprocessing. WebQuerySave occurs before a Web document is saved. You can change final field values and do other post-processing.

Web agents in Domino can be written in LotusScript or Java.

Debugging server-side agents (i.e. scheduled agents and Web agents) in Domino is difficult. This is especially true for Web agents which are executed by the HTTP task of the Domino server as opposed to the Amgr (Agent Manager) task.

During the development cycle, certain aspects of the Web agent can be tested/debugged by executing it in the local Lotus Notes client. Quite often you need to simulate the Web context to be able to run Web agents locally. This includes:

Simulating CGI (Common Gateway Interface) variables.

Simulating the document context. In a WebQueryOpen agent, the document context represents

the document that Domino converts to HTML and sends to the browser before the conversion. In the case of WebQuerySave agents, the document context is the document that Domino saves to disk before the save takes place.

Even after simulating the Web context and testing/debugging the Web agent locally in the Lotus Notes client, far too many things go wrong that you need to debug with the agent running on the server. The only technique being employed to debug Web agents written in LotusScript today is analogous to the trusted "print statements" technique. When LotusScript executes on the Domino server, the MessageBox() function writes to the server console and the server's log database (LOG.NSF). Developers typically repeatedly put MessageBox() statements in the code and examine the output in the server log database to zone in...