My good coleague Mounir helped me get data and answers for some very important performance-related questions when running a Composite Application in the Notes client. A Composite Application consisting of multiple pages.
The question was this:
We have a Composite Application consisting of two pages.
On Page 1 we have view A.
On Page 2 we have view B.
There are no wires between the two pages.
This is all Notes, Domino and NSF.
When I open up the application which starts on Page 1, I know that the client will retrieve the Design Note and view content (data rows) to display view A. But will the client also retrive the Design Note and content for view B?
My colleague did some NRPC-measurments - making the client log NRPC traffic. He had a look at the data and found the answer and also something unexpected.
The answer was no. When the client opens up Page 1, it totally ignores the content on Page 2. It does not even retrieve the Design Note for the view on the second page.
And then there was the unexpected bit of information.
When Mounir switched to Page 2, of course he saw NRPC traffic, retrieving the Design Note and view content.
When he then switched back to Page 1 he saw no NRPC traffic at all. He had expected to see NRPC traffic retrieving the view content again, but that did not happen.
The answer to the question I had was relevant because we are in the process of re-designing the User Interface of an application that has thousands of users, and we will probably be needing lots of pages (10 at least, maybe 20) in the samme Composite Application. We wanted to make sure that the client did not welcome the user with a 2-minute lockdown while it would be retrieving Design Notes and data content for all those pages.
So, that's one worry less.
The extra bit of information we got is good news. The application we are re-designing contains quite a lot of views and 100.000 documents. Today when users switch back and forth between two views, they hit the server each time they do the switch. In a composite application, if we create an interface where each view is on a separate page and we then have a user switching between two pages, they only hit the server once for each page, unless of course they start interacting with the views or with components that activate the view.