Melissa L Snell 19.Jan.06 10:02 AM a Web browser General6.5.1All Platforms
Does anyone have any experience in running Lotus Workflow applications with DECS?
I am currently working on a project where the users access a Workflow application via a web browser. The 2 main forms used by the Workflow have DECS activities set up to monitor the 'open' event. When the user opens the document, 8-10 DECS activities are fired to display data to the user which is drawn from various tables in an Oracle database.
The Workflow process is started by a Document based initiation. An external Java application monitors an MQSeries Q and parses the MQ messages to create documents in the Workflow application. The java application then calls the OS Domino Workflow backgrounder agent. This happens roughly every 2 minutes.
When writing another agent that accessed documents montiored by DECS using Notes Backend classes we discovered that DECS activities were fired just by accessing a field on the NotesDocument object. These activities created sessions with Oracle that were left open indefinitely, resulting eventually in other systems accessing Oracle being refused connection. A tech note from Lotus stated not to use script to access documents monitored by DECS (thanks guys!). We resolved this because we discovered that you could use the NotesDocumentCollection.StampAll method to update fields on the documents without triggering DECS.
The problem I have is that I'm sure that the OS Domino Workflow Backgrounder is also triggering DECS as it updates the document through the different stages of the Workflow process and this is causing a performance issue as 500-1000 new documents can be added in one go. Yet the is now a video available that trumpets about a company using Workflow and DECS. As far as I'm aware they don't mention this issue..
Does Workflow trigger DECS when its background agents run? Does anyone have any performance improvements they can suggest or is it simply a matter of minimising the number of times the document is accessed?
We really need a 'Trigger DECS' Y/N session property to be able to write code that doesn't impact DECS.