Click to See Complete Forum and Search --> : Java, XML, XSLT: Performance and Scalability


Vijay
05-01-2002, 09:02 PM
Folks,

I am designing a web based application whose database is an XML file(s).
Depending on the user's login and request parameters, one or more stylesheets
(XSLT) are applied on the XML file to filter (transform to another XML vocabulary),
process and then present (convert to HTML) the user with appropriate views
of the data. The user may also edit the presented content which means that
the XML file on the server needs to be updated so that the change is reflected
in all subsequent requests. Also, one or more users may attempt to edit the
content at the same time.

I am using Java, JDOM and Xalan to handle XML parsing and transformations.
The XML file (database) can get bulky and upto 1MB. Also, the system must
be able to handle upto 200 concurrent requests.

What are some potential problems I can expect especially due to the size
of the XML file, large number of concurrent users and the number of transformations
before delivering a response (output) to the browser? How do I deal with
many concurrent users accessing/editing the same XML file at the same time.
One thought is to capture an application level "checkout" status. But then,
does the "checkout" apply only when a user attempts to edit or even when
there is a query/view request? Any input in this regard along with possible
solutions are very much appreciated.

regards,
Vijay

MarkN
05-02-2002, 07:57 AM
Using an XML file to replace the functionality of a database (XML, Relational,
OO) is not a good idea. If you can't afford an XMLDB or OODB then do something
like store your objects in a relational database like MySQL, use a tool like
Hibernate or Castor to create your objects from the datastore and a tool
like Castor to create XML from objects.



"Vijay" <ae5110@wayne.edu> wrote:
>
>Folks,
>
> I am designing a web based application whose database is an XML file(s).
>Depending on the user's login and request parameters, one or more stylesheets
>(XSLT) are applied on the XML file to filter (transform to another XML vocabulary),
>process and then present (convert to HTML) the user with appropriate views
>of the data. The user may also edit the presented content which means that
>the XML file on the server needs to be updated so that the change is reflected
>in all subsequent requests. Also, one or more users may attempt to edit
the
>content at the same time.
>
> I am using Java, JDOM and Xalan to handle XML parsing and transformations.
>The XML file (database) can get bulky and upto 1MB. Also, the system must
>be able to handle upto 200 concurrent requests.
>
> What are some potential problems I can expect especially due to the
size
>of the XML file, large number of concurrent users and the number of transformations
>before delivering a response (output) to the browser? How do I deal with
>many concurrent users accessing/editing the same XML file at the same time.
>One thought is to capture an application level "checkout" status. But then,
>does the "checkout" apply only when a user attempts to edit or even when
>there is a query/view request? Any input in this regard along with possible
>solutions are very much appreciated.
>
>regards,
>Vijay