Lists Home |
Date Index |
>That's interesting. Why do you think this is the case?
Len, good points. Let me add more details and open up the discussion.
As you mentioned, most applications use this hybrid architecture with
back-end relational databases and front-end markup clients. Or in other
words, web applications are developed using n-tier architecture with
HTML/JSP/EJB/DB ( HTML/ASP/COM/DB in Microsoft world).
First and foremost, if I make a change anywhere in any layer (add a new
column to db, need to display additional field in the UI), the change needs
to be "propagated" all across the system in all layers. This makes the
maintenance of this applications labor-intensive.
The development process for typical web application roughly is -
1. Model the business using relational schema
2. Build a middle-layer (that contains business rules and server-side
2. JSP's/Servlet that contain the navigation logic and generate the
Now, if I were to model my business using XML Schema, I already have a much
richer representation compared to relational schema. I not only know the
detailed for each element, but also, the various facets (bounds -
min/maxInclusive, length - min/maxLength, precision, etc..). So we have
sufficient information to generate validation logic. Also, one can think of
tools for designers that use XMLSchemas in the backend for them to generate
the UI (XForms is moving in that direction).
Now, question arise where do we place the navigation logic and business
rules. This is where some innovation is required. XSLT does support
procedural constructs (eg., if, when, choose) and also, java code could be
invoked from XSLT (using extensions). Regarding transactions, that's where
XML-enhanced rdb's and Native-XML DB's (NXDB) come into picture. If you put
everything together, you have the next-generation Application Server that
allows users to develop and deploy xml-based apps rapidly.
Like to hear from gurus on this list about this.
From: Bullard, Claude L (Len) [mailto:firstname.lastname@example.org]
Sent: Wednesday, March 06, 2002 1:07 PM
To: 'Naren Chawla'; 'Ken North'; [xml-dev]
Subject: RE: [xml-dev] XML faster than mySQL database ?
That's interesting. Why do you think this is the case?
A: I'm not sure so far. Relational DBs are easy to
build, the tools are there, the skills are there,
and I don't see XML as a compelling alternative to a
database or XPath for SQL and XQuery looks like
SQL. So, right now, I don't have a compelling
case to move away from hybrid architectures that
use back end relational systems and front end
markup clients. I can see it on the client side
I'd definitely rather use XSLT when it is time to
transform, but much depends on the source. I like XML DOM for a
document model, that is, for manipulation of the data behind the display.
B: Business rules in XML? An XML Schema plus Schematron
can do a lot, but not enough. I still need procedural business
objects, transaction managers, etc.
The relational db probably still will take the processing load
a lot better than a pure XML DB system regardless of who
is driving and possibly be a much easier development for
the medium skilled developer. I don't think we are nearly
in a position experience wise to say otherwise, but I'm
open to arguments to the contrary. The issue is that the
improvements have to be extraordinary, not just a small
From: Naren Chawla [mailto:email@example.com]
In my mind, performance is one aspect. What is much more interesting is -
A. Is it possible to cut development cost for web applications using XML,
XML Schema, XSLT, XPath, XQuery drastically ?
B. Is it easy to make changes to this XML-based web applications to
accommodate business changes ? In other words, are this applications easier
to maintain ?
More I work with XML technologies, I am convinced that the current JSP/ASP
way of building web applications has outlived its life-cycle.
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription