RE: Portal applications using XSL

Subject: RE: Portal applications using XSL
From: Didier PH Martin <martind@xxxxxxxxxxxxx>
Date: Fri, 26 May 2000 08:47:12 -0400
Hi Richard,

We are doing something similar but not solely with Java. The engine works
also with JavaScript, VBScript, PythonScript and PerlScript. The engine is a
pipeline engine with several process stages:
a) aggregation (XML fragments obtained from XML web services included in the
XML document to be sent to the user agent)
b) styling.

For A) the document fragment could be created in Java, JSP, ASP and the 4
scripting languages mentioned. To this effect, we are using constructs like:

<xinclude:include href="local/sqlwrapper.asp"/> which uses the same syntax
as ASP and one of the four previously mentioned script language

or

<xinclude:include
href="document('http://externaldomain.com?param=val1&parma=val2')/element1/e
lement1.2"/>

which call an external web service, obtain an XML document from it and then
extract the right nodelist with the XPath construct and include the fragment
in the main XML document

or

<xinclude:include href="local/ldapwrapper.jsp"/>

which locally calls a JSP script to produce an XML fragment to be included
into the XML document.

And some other variants on the same theme... Off course all the aggregation
process is done concurrently not sequentially.

For B) we have two style and transformation strategies. 1) for languages
like MIF, RTF, PDF and HDML we are using DSSSL. But I should say that
concretely we use DSSSL for HDML which is, for the moment the most popular
digital phone language. For instance all UP browser version 3.0 support HDML
but not WML. For WML though, we are using XSLT transformation as we do for
HTML, SMILE, VoiceXML. In the case of VoiceXML we still have some work to
have a better adaptation to the speech servers out there. So, for style and
transformation into rendering languages we support both DSSSL and XSLT (both
can perform styling and transformation on XML documents).

There is no needs to include any processing instructions in the XML
documents since the server does a pattern match to recognize the user agent,
detect the document type and then pick the right style sheet (could be a
DSSSL or XSLT style sheet) to transform the document into a rendering
language the user agent understand.

At first we used java XSLT engines but quite soon we got performance issues
under heavy load. However, for average loaded intranets, it seems to be
sufficient. For heavy loaded intranets or extranets, we quite soon
discovered that Java transformation is a bit slow with the current XSLT
engines. We switched to C++ and even there got some performance problems
under heavy loads. IN this last case, the performance problem was caused by
all threads sharing the same heap. So we had to provide a separate heap to
each thread so that the performance increase with several processor is
nearly linear.

In the context of portals we soon discovered that if you want to support
different devices like phones, desktop browsers and digital phone browsers,
the server has to do a lot of processing to match the right pipeline,
stylesheet to the requested document. For instance, just with digital cell
phones, you can have as user agent IDs: UP.Browser/3.0... (HDML),
UP.Browser/2.0... (HDML), UP.Browser/3.1... (WML) etc.. and this is only one
brand of digital phone browser. We discovered that a lot of them are still
requesting XML to HDML transformation. Maybe you know that, but HDML is SGML
based and several elements are omit tags. Thus, XSLT is of no use there,
only for UP.Browser/3.x and up (just for this brand of browser off course).

So, we discovered the hard way that versatile portals is not a piece of cake
to build, but tremendously fun to develop :-))


PS: I am always interested to share in private with other with similar
experience. I mean here the others trying to build tools adapted to portals.
For those who will be at XML Europe, I'll be glad to show you our actual
version or to simply exchange ideas. just drop me an email message.

Cheers
Didier PH Martin
----------------------------------------------
Email: martind@xxxxxxxxxxxxx
Conferences: XML Europe (http://www.gca.org)
Book: XML Professional (http://www.wrox.com)
column: Style Matters (http://www.xml.com)
Products: http://www.netfolder.com

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxx]On Behalf Of Hoad, Richard
(AFIS)
Sent: Friday, May 26, 2000 4:01 AM
To: 'xsl-list@xxxxxxxxxxxxxxxx'
Subject: Portal applications using XSL


We are using XSL, XML, Java servlets and Oracle to make a re-skinable
generic Internet/Intranet CDS/Portal application. Java objects load
themselves from the RDBMS and render themselves in XML. The interface is
created by a series of XSL stylesheets. Is  anyone else was doing anything
similar?

Richard Hoad
FAO, Rome Italy

P.S. WE ARE HIRING. If you are interested contact me off the list.


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread