You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Steve Muench <St...@oracle.com> on 2001/02/09 19:42:35 UTC

Re: Difference between Apache's Cocoon and Oracle's XSQL/XSU technologies

| > Von:  Donald Ball [SMTP:balld@webslingerZ.com]
| > Gesendet am:  Freitag, 9. Februar 2001 01:51
| > An:   cocoon-users@xml.apache.org
| > Betreff:      Re: Difference between Apache's Cocoon and Oracle's XSQL/
|                 XSU technol ogies
| >
| > On Thu, 8 Feb 2001 AKhan@burntsand.com wrote:
| >
| > > I apologise if this might sound a bit daft - but could anyone
| > > explain what the key differences between Cocoon and Oracle's
| > > XSQL technolgyare  - they seem to be doing  pretty much the
| > > same kind of thing.
|
| I see several differences:
|
| Functionality:

I wanted to clear up some incorrect statements in this thread.

| Cocoon is a more allround framework, XSQL is more or less only for
| creating XML from queries/stored procedures.

This is quite a misconception. Oracle XSQL Pages is a user-extensible,
delivery-agnostic web publishing framework which supports command-line
page processing, Servlet-based page processing, and programmatic page
processing for integrating the features of the XSQL engine into any
other Java-based product you want. For example, the Oracle Dynamic
Services Web Server framework publishes the results of XSQL Pages as
Web Services through this integration. With the exception of a few
features that are servlet specific (like referring to cookies), all
XSQL pages run identically in all of these environments, including the
powerful and simple ability to have pages aggregate one or more other
pages to any level.

XSQL comes with 17 built-in page actions, only one of which is the
<xsql:query> action that your comments refer to above.  You can see
XSQL running live (along with the online help) at http://ws5.olab.com,
a server outside our firewall.  These built-in actions let you easily
work with all sorts of database capabilities beyond simple
queries. Automatic insert, update, delete of XML messages, support for
stored procedures returning ref cursors, support for returning XML
from PL/SQL-produced pages like DBPrism enables. The works. While not
specific to XML-from-databases, most users are applying XSQL pages to
this domain. There are actions to aggregate existing XML content that
does not come from databases, too.

XSQL can be easily extended in two key ways, I believe isomorphic to
similar functionalities in Cocoon. (1) Users can build custom action
handlers to integrate arbitrary processing and XML content production
into the framework, and (2) users can build custom serializers.

Oracle's JDeveloper 3.2 java IDE features built-in support for
creating, editing, testing, and debugging XSQL Pages.

| In fact, I don't see anything you can do with XSQL that you couldn't
| do with Cocoon, Donald's ESQL and Marcello's DBPrism as well, but I
| don't know the latest XSQL.

Since both can be arbitrarily extended by the developer, I agree
with this. The latest XSQL is running live at http://ws5.olab.com 
or at http://technet.oracle.com/tech/xml for code.

| Cocoon is open to all other databases as well. I don't know if this
| is true for XSQL, it might use some special features of the Oracle
| JDBC drivers.

XSQL Pages supports any JDBC driver, both for query as well as for
automatic update/insert/delete of data data from inbound XML messages.

When it senses its using the Oracle JDBC driver, it implements various
Oracle-specific optimizations.

| Integration: AFAIK XSQL/XSU can be tightly integrated with the
| Oracle 8i database, and maybe Oracle will integrate the Apache web
| server more and more into the database so that maybe you can use the
| Oracle 8i internal JDBC driver with XSQL one day to get better
| performance.

Today XSQL Pages ships with Oracle8i 8.1.7, with Oracle Internet
Application Server 1.x, as well as being available separately as a
download from our OTN site.

| Performance: Has anyone compared it? I think there shouldn't be a
| significant difference.

Haven't benchmarked them. Would be interested in knowing if there are
improvements we can make.

| Price: Cocoon is free.

All of Oracle's XML Developer's Kit components, including Oracle XSQL
Pages, are available for free, including free runtime licenses for
redistribution. 

However, XSQL is not open-source, so this is a difference for sure.

| Support: Oracle's XSQL is a commercial product which means you have
| professional support.

We have free support available from our very action OTN XML
Developer's forum. Myself and lots of the developers from Oracle
working on our XML technology components answer technical questions
all day long on that forum.

You are correct that if you desire you can purchase 24x7 support for
it like any Oracle product. This is free if you already license either
our database or our IAS app server.

| What is your experience with MetaLink if you had a serious problem
| with Oracle software?

Most users questions are answered quickly through the OTN support
forum.

| The Cocoon user lists give you good support usually if you've read
| the FAQ.  Also you can always try yourself to find the cause for a
| specific problem with good chances to find it.

The Oracle8i release 8.1.7 manuals feature two large (online) books on
XML application development, and the O'Reilly book "Building Oracle
XML Applications) (http://www.oreilly.com/catalog/orxmlapp) devotes
many chapters and examples to the use, extension, and exploitation of
Oracle XSQL pages.

| Releasing: This is the one big problem with Cocoon: Since there is
| still no C2 release, you have to check carefully if you can work
| with Cocoon1 for now and what the difficulties are when you upgrade
| to C2.

The Oracle XSQL Pages development team, part of the team of developers
working on Oracle's XML Developer's kit components, delivers a
maintenance and/or enhancement release roughly each two months. Since
over 40 internal Oracle teams depend on these components, including
the XSQL Pages framework, they are well tested and have good
performance. In effect, our own teams battle-test them before users do.

| Active Development: You have to decide: Will Cocoon development
| continue and is Cocoon still available in 3 or 5 years? The same
| question for XSQL?  If Donald should ever leave the development of
| Cocoon, will someone else maintain the ESQL logicsheet? (if nobody
| will, you can always improve it yourself).

Don't know how to predict the future. Oracle has various contractual
obligations in place to keep supporting and enhancing software that it
ships in production, so XSQL is not going away any time soon. I wish a
similar long life to the Cocoon project as well.

| > they do do similar things. one difference is that cocoon's got a
| > little thing we call XSP which lets you dynamically create XML
| > from arbitrary data sources, not just SQL databases.

XSQL lets you do the same thing leverage many of the built-in actions
as well as through simple to write user-written action handlers. XSQL
is not limited to SQL databases, although it provides tons of
optimizations for working with SQL data since that's at the heart of
what dynamic database-driven publishing with XML/XSLT is all about.

| > i also happen to think that my esql language knocks the socks off
| > of oracle's xsql language, but that's just a personal opinion.

I can only ask users to give both a try and decide for themselves
which is simpler to learn and use.

| > c2 lets you do powerful things in terms of mapping urlspace to filespace
| > (or, rather, pipeline-space); i'm not aware that xsql does anything in
| > that regard. furthermore, cocoon is community developed open source, while
| > oracle's stuff isn't.

XSQL focussed from the very beginning on the power of page aggregation
and delivered this feature in its first production release.  Usability
testing in our lab demonstrated to us that users found it very
intuitive to have one page be built out of other pages through
aggregation and to address applying N different stylesheets by create
one page that assembles the XML data, and N pages which aggregate this
first page and including an appropriate (User-agent-sensitive)
<?xml-stylesheet?> PI. 

I think the site map is an innovative idea, but so far we have not
found anything our users really needed that could not be done more
straightforwardly with the simple and performant page aggregation that
we provide.

______________________________________________________________
Steve Muench, Lead XML Evangelist & Consulting Product Manager
BC4J & XSQL Servlet Development Teams, Oracle Rep to XSL WG
Author "Building Oracle XML Applications", O'Reilly
http://www.oreilly.com/catalog/orxmlapp/