Hi everyone,
I'm new to this forum so please bear with me ...
We are currently working on a new application using
DHTML, VB6, MTS ans SQLServer/Oracle. The design is
partially based on MS DNA, but differs on some points.
The general architecture is as follows:
* DHTML page - creates (local) COM Application object,
which instantiates further local 'facade' components,
depending on what is needed for the current page.
* Facade Objects - local components, keep state in
disconnected ADO recordsets and communicate with
MTS business logic.
* Business Components - MTS components, stateless, call
Data Acess components to get/save data and implement
business logic.
* Data Access Components - Further MTS componentents,
stateless, performing build the actual SQL query and
connect to the DB server.
Testing this architecture revealed the following:
Peforming a typical call from the client to the remote MTS
server to get a single record (select * from Table where id
= x) takes about 150ms. About 25 ms is consumed by
creating and releasing the MTS object. Testing under local
MTS still gives 20 ms per create/destroy.
Q1: Are these typical performance figures or is our
network ill-configured?
Q2: Most examples i've seen create/destroy the MTS object
immediately after each method call. These figures
suggest that 'keeping the object alive' (at least
the local reference) is a better idea. Is this true?
Q3: Accuiring the data needed for a page could take data
from more than 10 tables in seperate recordsets. Is
marshalling the individual recordsets (either via
separate calls or through GetAll(RS1,RS2,RS3,...) the
best solution to do this? (I've tried converting data
to XML and passing As String, but this made matters
even worse ...)
Any thoughts on the subject would be more than welcome ...
Tnx for your time,
-- Luus