DATABASES GETA GRIP ON XML

Document Sample
DATABASES GETA GRIP ON XML Powered By Docstoc
					TEST CENTER EXCLUSIVE                          JON UDELL
Oblix ShareID 2.0            Siebel Looks      Seeking Better
Federation Server p24        Beyond CRM p16    E-mail Clients p32




April 26, 2004 b Issue 17                         GET TECHNOLOGY RIGHT   SM




                                              DATABASES
                                              GETA GRIP
                                              ON XML
                                              How well do IBM DB2,
                                              Microsoft SQL Server,
                                              Oracle Database 10g,
                                              and Sybase ASE
                                              handle the structured
                                              documents that drive
                                              today’s business?
i INFOWORLD.COM                               p34
          CLICK HERE

   For a Free Subscription
  IBM, Microsoft, Oracle, and
       Sybase compete in our
data-management gymnastics




Databases Flex
Their XML
                 if you could do one thing to improve integration and
                 automate processes with customers and business partners, it would
                 be to implement XML, which has become the standard for exchang-
                 ing information between disparate systems because it is easily
                 transformed into any format. With very little effort, the same file
                 can be sent to several different customers with their own specific
                 needs. XML eases the development effort for the transmitting
                 company and gives recipients a safety net for altering the way they
                 use the data without having to alter how they receive it.


                 BY SEAN M C COWN | ILLUSTRATION BY MARK DANIELSON

                                                     INFOWORLD.COM       04.26.04      35
     Perhaps the most important
     improvement in Oracle Database 10g is
     support for schema evolution.

        Being able to merge, query, and                    ability to consume, store, search, and                  Of course, these products have many
     transform transmitted data with rela-                 generate XML. The extent to which the                 other capabilities beyond handling
     tional data is becoming as essential to               database supports these functions and                 XML. My grades should not be inter-
     businesses as data warehouses them-                   the methods it uses to accomplish them                preted as complete evaluations.
     selves. The good news is that the four                are what make for a successful imple-
     leading relational databases, namely                  mentation of XML in a database.                       Documents and Tables
     Oracle Database, IBM DB2, Sybase                        I examined these four areas in                      Relational databases and XML docu-
     ASE (Adaptive Server Enterprise), and                 Oracle Database 10g, IBM DB2                          ments are both powerful ways to repre-
     Microsoft SQL Server, not only can                    Universal Database V8.1, Sybase ASE                   sent relationships among data, but
     store XML data, but they hide much of                 12.5.1, and Microsoft SQL Server                      they’re powerful in different ways. For
     the complexity of working with XML.                   2000. I tested how they imported and                  example, querying on a patient ID
     Depending on which of these relational                read XML files, their options for                     number in a relational database may
     databases you use, however, the XML                   saving the data, their indexing and                   allow you to quickly find the dates a
     features you will have to work with may               query capabilities, and their options                 certain patient visited the hospital, the
     be extremely rich or limited in impor-                for creating XML and graded them                      conditions he was diagnosed with, and
     tant ways.                                            based on the ease, flexibility, and speed             the treatments he was given. But it
        What does a fashionable XML data-                  with which they handled the most                      likely won’t help you determine which
     base provide? Four basic functions: the               common XML operations.                                treatments were provided for which

         SCORECARD

         Which Relational Databases Make the XML Grade? Oracle has the richest, smoothest
         XML handling capabilities; IBM and Sybase are solid performers; and Microsoft has some catching up to do.

                         Consume                            Store                              Search                                Generate
     IBM DB2 Universal   Importing XML files into the       Stored XML using all three      Easily created views combining     Generated XML files faster than
     Database 8.1        database was intuitive and fast    methods, validated schemas, and XML and relational data but lacked the rest, complete with XSLT
                                                            fully indexed the data          XQuery support                     transformations

     Overall grade B Grade A                                Grade A                            Grade B                               Grade A
     Microsoft SQL       Offered many options               Inability to store structured XML is Imported XML data is converted to   Provided a full set of features
     Server 2000         for pulling out specific data      a serious deficiency; XML data       relational data, so granular XML    to create XML files, but working
                                                            could be shredded into the data- search capabilities are lost            with the .Net Framework’s
                                                            base but not validated                                                   XML provider is often easier


     Overall grade C Grade A                                Grade C                            Grade C                               Grade B
     Oracle Database     Provided rich methods for con-     Supported all three methods        Provided the easiest, most            Generated XML files quickly and
     10g Release 1       suming XML, including files        of XML storage plus interaction    comprehensive searching               easily; breezed through
                         delivered via HTTP and FTP         with WebDAV repositories           capabilities                          complex transformations

     Overall grade A Grade A                                Grade A                            Grade A                               Grade A

     Sybase ASE 12.5.1   Outstanding job of consuming       Supported all three flavors of XML Offered many options for creating Generated XML files very fast
                         XML documents                      storage and provided rich indexing, views and encapsulating queries  but lacked on-the-fly XSLT
                                                            capabilities                        but no XQuery support            transformations


     Overall grade B Grade A                                Grade A                            Grade B                               Grade C


36      INFOWORLD.COM                 04.26.04
                                               How Oracle Gets It Done
                                               Oracle Database processes SQL, text, and XML in the same engine, allowing for a high level of
                                               data integration and lightning-fast queries.

conditions or what times the treat-
ments took place, nor will it give you
                                                                                          Oracle Database 10g
other useful information that XML ver-
sions of these records could provide.
   But whether or not you can combine                                          SQL, text, and XML
the benefits of relational and XML                                             processing engine                       Repository
data depends on how you store the               Application                     aSQL/XML, XQuery,                      aStructured,
                                                                                 XPath queries                          shredded, and
XML. There are three methods for
                                                                                aXML/DOM parsing                        unstructured
physically storing XML data in a rela-                                                                                  storage
                                                                                aXSLT data
tional database: shredded, unstruc-                                              transformation
tured, and structured. Shredded and
unstructured are useful methods but
limited. The structured method allows                                                                                         SOURCE: ORACLE
you to leverage the power of both rela-
tional data and XML hierarchies.
   Shredding puts XML data into rela-       in XML, this would allow them to have               age as well as support for unstructured
tional columns but strips it of its XML-    a relational record of each loan applica-           document storage and shredding, Ora-
ness, meaning the hierarchical rela-        tion, and also to store the original appli-         cle Database 10g allows you to pull
tionships among the data in the original    cation with that record.                            XML data from files and merge it with
XML document are lost. Shredding is            The structured method allows you to              relational data in views. But before
useful when you’re not concerned about      store XML data inside the database and              jumping into an upgrade for the
keeping the data in XML format. For         preserve the hierarchy of the data.                 enhanced XML capabilities, Oracle
example, let’s say you have a Web site      Structured storage, also known as                   shops should note that most of the func-
that allows customers to place orders,      “native XML” storage, is what every ven-            tionality is available in Database 9i.
and the order needs to go to a number       dor is trying to achieve. The most obvi-               Oracle Database can read and write
of different database systems. Produc-      ous benefit of preserving the hierarchi-            to WebDAV (Web Distributed Author-
ing an XML file and having the differ-      cal relationships of XML data is being              ing and Versioning) repositories, giving
ent systems pick it up — that is, shred     able to receive an XML document, com-               users a nice Web folder view of the
it — from a network share may be the        bine it or manipulate it with relational            XML data they can request. The Web-
most efficient and error-free way to get    data, and produce XML as a result. It               DAV support allows administrators to
the data where you want it to go.           isn’t possible to produce such result sets          set up access to thousands upon thou-
   The unstructured method uses a data      with a relational query language alone.             sands of XML files without requiring
type called a CLOB (Character Large            Only Microsoft SQL Server 2000,                  much disk space. This is because these
Object) to store an entire XML docu-        among the four databases tested, does               WebDAV files, though they appear to be
ment as a single unit. Databases have       not support structured XML storage.                 regular XML files, are just shortcuts,
been doing this for years with different    And while all four, including Microsoft,            queries that point back to the database.
types of documents, so this is nothing      allow you to reap the benefits of the               The data that comprise these files does-
new. The unstructured method pro-           shredded and unstructured methods,                  n’t materialize until it’s requested by
vides limited search capabilities, but it   the approaches they take and flexibility            opening the file or copying it to a differ-
is still quite useful. You can’t base       they provide can differ considerably.               ent location. Along with WebDAV, Ora-
queries on it, but the structure of the                                                         cle also supports transferring XML
original data is preserved. A good use      Oracle Sets the Curve                               documents across FTP and HTTP.
for unstructured XML storage would          Oracle Database 10g breaks new ground                  Perhaps the most important improve-
be in keeping original documents to         in support for XML technology, offering             ment in Database 10g is XML schema
comply with government regulations.         very rich features for importing, storing,          evolution. Schema evolution allows you
For example, if a financial institution     querying, and generating XML data.                  to implement changes to XML schema
were to receive original loan documents     Providing native, structured XML stor-              by mapping the existing data to the new


                                                                                                  INFOWORLD.COM                  04.26.04      37
       How IBM Gets It Done
       DB2’s XML functionality is extended by the Information Integrator’s XML Wrapper. Located on the file
       system, the XML Wrapper exposes the database to potential performance and security issues.

                                   IBM DB2 Universal Database V8.1                                             them, so there are
                                                                                                               some very advanced
                                                                                                               possibilities here.
                                                         XML query engine
                                                                                                                 How easy is manag-
                                                          aXPath queries
                                                                                                               ing XML data in Ora-




                                                                                                                            XML Wrapper
                                                                                    Repository
                                  SQL execution                                     aStructured,               cle? Assuming you
           Application                                                               shredded, and             already understand all
                                       engine
                                                                                     unstructured              things XML, including
                                                        XML storage engine           storage
                                                          aXML parsing
                                                                                                               SQL/XML, XQuery,
                                                          aXML data                                            and DTD (Document
                                                           transformation                                      Type Definition), XML
                                                                                              SOURCE: IBM      processes in Oracle
                                                                                                               Database are very easy
     schema. Instead of having to export and    SQL tools and concepts. For instance,        to manage. In fact, as in schema evolu-
     re-import all of your XML data, you        you can create an XMLType table or           tion, the database handles many data
     just create the XSLT (XSL Transforma-      an XMLType column in a relational            management processes on its own, with
     tion) style sheet to transform your old    table. Creating an XMLType table is          a minimum of admin intervention.
     documents to the new schema, and the       how you implement the structured                 In my speed tests, which involved
     database takes care of the rest. Schema    storage method and preserve your             importing thousands of files, creating
     evolution greatly eases the manage-        XML hierarchy. Creating an XMLType           thousands of files, and importing very
     ment of XML data, because one thing        column in a relational table is how you      large documents, Database 10g proved
     administrators can count on is con-        implement the unstructured storage           very fast, beating all comers at imports
     stantly changing requirements.             method, which is useful for storing          and finishing a close second to IBM in
        Oracle Database 10g offers some         entire XML documents for attach-             the file-creation test.
     superb options for storing XML data.       ment to relational records.
     The XMLType data type obscures               And what can be done with a table          Big Blue, B Student
     much of the complexity of storing and      can be done with a view. You can also        IBM is on the ball, too. DB2 imple-
     querying XML data, allowing admins         use these tables and views in stored         ments XML as a collection of options
     to manipulate the data using familiar      procedures and process data based on         called the XML Extender. Another key




         XML Essentials Oracle leads the pack with an impressive set of XML handling capabilities. IBM provides
         the essentials, Sybase lacks a few key pieces, and Microsoft just isn’t ready for prime time.

                                                                         Interacts       Merges XML                                                      Reads/writes
                             Supports XML   Stores           Validates   natively with   with relational   Supports   Supports            Supports Web   to WebDAV
                             shredding      structured XML   schema      stylesheets     data              XQuery     SQL/XML             services       repositories
     IBM DB2 Universal       Yes            Yes              Yes         Yes             Yes               No         Yes                 Yes            No
     Database 8.1

     Microsoft SQL           Yes            No               No          Yes             No                No         Yes                 Yes            No
     Server 2000

     Oracle Database         Yes            Yes              Yes         Yes             Yes               Yes        Yes                 Yes            Yes
     10g Release 1

     Sybase ASE 12.5.1       Yes            No               Yes         No              Yes               No         Yes                 Yes            No




38      INFOWORLD.COM                 04.26.04
                                              XML Database Futures
                                              as SQL and XML capabilities                 sonable to want to make the most of that
                                              converge in the leading relational en-      investment. Do you really need to buy
piece, the Information Integrator, is         gines, you might conclude that              an XML sports car, too, and become ac-
licensed separately from DB2.                 there’s no future for dedicated XML         quainted with a whole new set of quirks
Although the XML Extender may                 databases. A year ago, in his keynote       and foibles? The answer most likely is
sound like a separate program that sits       at the InfoWorld CTO Forum, BEA             no. What you probably will buy, at some
outside the database and interacts with       Chief Architect Adam Bosworth               point, is an enterprise service bus(such
the relational engine, it is in fact just a   explained why they’re still relevant,       as Sonic ESB) or a services fabric (such
collective name for the stored proce-         and what their new mission will be.         as webMethods Fabric). It will embed an
dures and functions that provide the          Coarse-grained XML messages are             XML database that may once have been
XML functionality inside DB2. These           the wefts of the service-oriented fab-      a stand-alone product. For example,
stored procedures and functions sit           ric we’re now weaving. We’re going          Sonic XML Server — once known as
inside the relational engine like any         to be pumping a lot of those mes-           eXcelon — is vanishing into the wood-
other objects in the database and are         sages, and the pumps won’t merely           work of Sonic ESB.
accessible to any user who needs them.        route messages. They’ll also scan              Will Software AG’s Tamino wind up
It’s only slightly annoying that there’s a    SOAP headers, corre-                                        similarly embedded? Bill
separate install to get the Information       late messages, enforce Dawn of the ESB                      Ruh, the company’s CTO,
Integrator functionality.                     security policies, and An enterprise service bus            isn’t making any such
                                                                        serves as an XML message
   The Information Integrator sits out-       respond to XPath-style                                      announcement, but he
                                                                        broker.
side the relational engine and extends        queries — all this in a                                     doesn’t discount the pos-
the functionality of XML in DB2 by            real-time environment aRoutes XML documents                 sibility either. “We’re well
                                                                           based on message headers
adding the XML Wrapper, which allows          that can’t tolerate the                                     suited to create an XML-
                                                                           and contents
you to treat XML documents as rela-           slightest delay.                                            based enterprise service
tional sources. The XML Wrapper is a             Oracle Database, aPerforms XML processing, bus,” he says. “Our medi-
                                                                           queries, transformations,
very powerful tool that could be useful       IBM DB2, Sybase                                             ator can set rules around
                                                                           and storage
in receiving transmitted XML files that       ASE, and Microsoft                                          XML data, do message
you want to be able to query and possi-       SQL Server were built aProvides authentication,             fan-in and fan-out, call
                                                                           authorization, and encryp-
bly report on, but which you don’t want       from the ground up to                                       other apps, wait, and
                                                                           tion, and enforces security
to import into the database.                  satisfy a different set                                     make decisions based on
                                                                           policies across the bus
   Like Oracle Database, DB2 allows           of requirements: read-                                      the values returned.”
you to store structured XML, unstruc-         write multiuser access aProvides business process              It’s true that you can
                                                                           management and monitor-
tured documents, or shredded data.            to transactional data                                       use native XML databases
                                                                           ing capabilities
And like Oracle’s XMLType, DB2’s              stores governed by                                          to manage the growing
XML datatype allows you to obscure            well-defined schemas. Message bro-          number of business documents created
the details of XML data storage from          kers, by contrast, live in a world of       by the new generation of XML-savvy end-
both users and admins alike. Views can        transient messages that aren’t writ-        user applications. It’s handy, for exam-
be created to merge relational data with      ten by multiple concurrent users,           ple, to search an insurance database for
XML data in a single result set. This         aren’t for the most part subject to         incident reports that match some struc-
same result set can be merged with            the ACID (atomic, consistent,               tured pattern of in-line metadata. But
XML documents on the file system or           durable, isolated) transaction model,       hybrid SQL/XML databases can do that
with other XML or relational data             and aren’t always fully schematized.        too, and they can also join the structured
inside the database.                          Sure, you could use an XML-savvy            XML content with relational columns —
   DB2 uses SQL/XML as the main               relational engine to power an XML           a powerful combination. So XML data-
language for creating XML documents           message pump. But that would be             bases are migrating into a niche that
from relational data; you use SQL/XML         like driving a Hummer to work: a            SQL/XML can’t and won’t occupy.
functions to create XML tags, attributes,     big, heavy, expensive vehicle that          They’re becoming the high-performance
and the like. SQL/XML also allows you         was made for a different purpose.           pumps that push XML traffic around on
to perform concatenations and aggrega-           If you’ve already bought your            the emerging services web.
tions while creating the document.            SQL/XML Hummer, though, it’s rea-           — Jon Udell


                                                                                            INFOWORLD.COM               04.26.04         39
                                  How Sybase Gets It Done
                                  Sybase ASE uses separate engines for SQL and XML functions; this means separate calls are required for
                                  XML queries but have little impact on performance.

     DB2’s SQL/XML sup-                                      Sybase ASE 12.5.1
     port isn’t complete, but
     it covers the major                                                                     XML query engine
     functions. If you are                                                                 aXQuery, XPath queries
     using DB2 today, you’ll                                                                                                   Repository
     probably be able to do                                   SQL execution                                                    aStructured,
     anything you want              Application                  engine                                                         shredded and
     when creating XML                                                                                                          unstructured
     documents.                                                                             XML storage engine                  storage
                                                                                           aXML parsing
       XQuery, on the other                                                                aXML data transformation
     hand, is completely
     unsupported by DB2.                                                                                                               SOURCE: SYBASE
     No doubt IBM is wait-
     ing for the W3C to solidify the specifi-       layer of abstraction that clients need in           DB2 when it comes to searching XML.
     cation before it implements the unfin-         order to query the database effectively.               Like Oracle and DB2, ASE allows
     ished standard. Nevertheless, the              However, updating your XML schema                   very rich indexing on XML data,
     absence of XQuery imposes significant          will be a hassle. Because DB2 doesn’t               whether shredded or structured. A self-
     limitations on DB2’s XML search capa-          support schema evolution, you will have             defining indexing mechanism in ASE
     bilities. I would much prefer to see a         to physically map your old data to any              handles evolving XML formats and
     partial implementation than for it to be       new schema produced by changing                     structures without requiring any user
     completely left out.                           requirements.                                       input. Element values are automatical-
       XQuery, which is a language used for           After a slow start, due to confusion              ly indexed to speed up predicate search-
     crawling through structured data paths,        over what I could and couldn’t do with-             es (the XML equivalent of “select phone
     offers significant query functionality         out Information Integrator, my tests of             from customers where lastname =
     beyond what SQL can do. Because                DB2 went smoothly. DB2’s develop-                   smith”), and different types of indexes
     XQuery is an identity-based query lan-         ment interface is very intuitive, stronger          (XML indexes or relational indexes) are
     guage, whereas SQL is value-based, you         than Oracle’s and even Sybase’s. And                chosen by the database depending on
     can use XQuery to find out whether a           despite the absence of XQuery, I found              the type of query predicate. And queries
     certain element exists; SQL can tell you       DB2 to have very powerful XML capa-                 can be predicated using relational ele-
     whether an element that’s known to             bilities. It did everything I asked it to do        ments, XML elements, or both.
     exist holds a certain value. Unlike SQL,       and did it very quickly.                               ASE does most of the XML data
     XQuery also has knowledge of attribut-                                                             management for you. Building views,
     es inside element tags, and it has             Sybase Pulls a B, Too                               stored procedures, and functions based
     stronger data types than SQL, provid-          I very much like the way Sybase has                 on XML data is not only easy to code,
     ing you greater control over the type of       implemented XML in Sybase ASE.                      it’s easy to manage as well. However,
     data being written or queried.                 Native XML support is fully integrated              the lack of schema evolution will hin-
       XQuery notwithstanding, IBM’s                with the relational database, and no                der growing projects. Lack of schema
     commitment to XML is quite apparent            external programs are necessary to get              evolution isn’t the only shortcoming in
     when you look at the improvements it           the functionality.                                  ASE. When creating XML files, ASE
     has made in DB2 V8.1. Not only does               Sybase ASE has a native XML data-                cannot perform on-the-fly XSLT trans-
     V8.1 support XSLT for on-the-fly trans-        base that allows storage of shredded,               lation. The end-user is expected to run
     lation of XML data, there are more             structured, and unstructured XML                    the newly created XML files through
     than 1,000 changes to SQL syntax for           data. Admins can import the XML data                an XSLT processor afterwards, which
     handling XML alone.                            into the database or query XML files                hinders any efforts to create XML files
       How easy is DB2’s XML to manage?             directly from the file system. Unfortu-             in a timely fashion. Any organization
     Very. The views manage the dynamic             nately, ASE doesn’t support XQuery, so              that needs to generate XML files on a
     data underneath them and provide a             it suffers from the same limitations as             regular basis should find another solu-


40      INFOWORLD.COM             04.26.04
     The absence of structured XML
     support does not leave Microsoft SQL
     Server dead in the water.
     tion. (I find Microsoft .Net to be very            You might think that the absence of                When reading XML documents,
     good at this task.)                             structured XML support would leave                  SQL Server gets even more sophisticat-
        If it weren’t for ASE’s lack of XSLT         SQL Server dead in the water, but that’s            ed. For example, SQL Server can pass
     and XQuery support, its XML imple-              not entirely so. SQL Server has plenty              XML documents into stored proce-
     mentation would be in the same class            of functionality that makes it possible             dures as parameters for shredding into
     as IBM or even Oracle. Development              to parse and write XML documents.                   the database. And SQL Server’s
     was extremely easy, and the tools were          Foremost, you can easily generate XML               OpenXML function allows you to gen-
     very intuitive. Sybase has put together         result sets in SQL Server using the For             erate rowsets from XML documents
     an excellent product that should be             XML clause in a T-SQL query. This in                and insert them into the relational
     exploited by any company currently              itself is useful, but is made more so by            database. In fact, using OpenXML, you
     using ASE.                                      the ability to scrub the data through an            have access to some nicely featured
        In the speed tests, ASE held its own         XSLT style sheet along the way.                     methods for manipulating XML data.
     except when it came to creating XML                SQL Server has other rich options for            You can retrieve attributes and ele-
     files, where performance was affected           creating XML documents, allowing                    ments using flags, and you can define
     by my having to script XSLT process-            you to slice and dice views and present             rowset schemas by using column pat-
     ing. Had ASE included a method for              XML data in almost any form users                   terns or table names.
     using XSLT, it would have performed             require. You can also use SQL Server as               However, because SQL Server treats
     well in comparison with the others.             a sort of bidirectional XML repository              the entire XML document as a single
                                                     by mapping XML documents directly                   piece of data, the database is not aware
     Microsoft Takes a Lesson                        to relational tables through the use of             that XML elements exist until you
     Microsoft SQL Server 2000 falls                 Updategrams, which sit between the                  start parsing through them in the
     glaringly short of Oracle, IBM, and             XML document and the database and                   stored procedure. This isn’t the end
     Sybase when handling XML. As an                 allow you to specify what elements look             of the world. You can still build
     XML-enabled database, SQL Server                like before and after a change. This                queries and views that leverage the
     only allows you to store XML docu-              allows you to send updates, inserts, and            hierarchical relationships of the data
     ments as unstructured objects in the            deletes to SQL Server in the form of an             in XML files; it just takes a lot of extra
     database or to shred the XML data into          XML document. You receive the                       work (read: coding) to do so. The next
     relational tables.                              results in XML as well.                             version of SQL Server, due in 2005,



        How Microsoft Gets It Done
        Most of SQL Server 2000’s XML functionality is implemented in Microsoft’s SQLXML “middleware,"
        leaving structured XML out in the cold.

                                                                                                     Microsoft SQL Server 2000

                                             Microsoft SQLXML
                                           aXML imports                                    For XML
          Application                      aUpdategrams (SQL updates,                      (creates XML from SQL)           Repository
                                            inserts, and deletes from                                                      aShredded and
                                            XML documents)                                                                  unstructured
                                                                                           OpenXML                          storage
                                           aXPath queries                                  (represents XML documents
                                                                                           as in-memory rowsets)


                                                                                                                               SOURCE: MICROSOFT




42      INFOWORLD.COM              04.26.04
will support structured XML storage           XML files. It was also slowest at read-        impromptu transformations means
(see “Will Yukon Strike XML Gold?”            ing large XML files but not by a signif-       extra time and administrator effort will
below).                                       icant margin.                                  be necessary to generate XML docu-
  How well SQL Server will meet the                                                          ments or evolve schema.
demands of an XML project depends             Relating to XML                                  Although IBM, Sybase, and even
on what you need to do. If you merely         All four of these relational databases         Microsoft offer significant XML func-
want to import some XML documents             provide useful XML capabilities. Even          tionality, they trail Oracle by a wide
into your relational database, and            SQL Server, which lacks support for            margin. Oracle not only does the best
you’re willing to lose the structure of       structured XML storage, allows you to          job of hiding the complexity of manag-
your XML data, then SQL Server will           store, manipulate, and create XML in           ing XML data, it also offers the richest
suit you just fine. However, in this          useful ways.                                   set of query capabilities and tops it off
scenario, .Net may be a closer match.           While Microsoft has a lot of catching        with extras such as support for schema
The .Net tools simply handle some             up to do, IBM DB2 and Sybase ASE               evolution and WebDAV repositories. If
things better, including the creation of      suffer from less significant limitations.      you’re using DB2, Sybase ASE, or SQL
XML files.                                    Their lack of support for XQuery               Server 2000, you’ll be able to make
  In my tests, I found that SQL Server        means less granular XML search capa-           good use of XML data. i
speedily imported XML files, but it was       bilities than the others provide. Sybase       Jennifer Nelson, database administrator at Info
the slowest of the group at creating          ASE’s inability to perform XSLT                Integration, contributed to this article.




    Will Yukon Strike XML Gold?
    expected to ship by mid-2005, yukon represents a major              Native storage isn’t the only way Yukon improves XML data
    step forward for Microsoft in the XML arena. Striving to match   management. Yukon also offers a simple version of schema evo-
    the native XML storage capabilities in IBM’s, Oracle’s, and      lution. Taking a different route from Oracle, it will allow you to
    Sybase’s relational databases, Yukon will finally store XML      update existing documents by changing the namespace instead of
    data in a structured fashion, along with supporting the shred-   attaching the new schema and scrubbing the existing data through
    ded and unstructured storage methods already available in        XSLT (XSL Transformation). Microsoft’s method ignores valida-
    Microsoft SQL Server 2000.                                       tion for existing data, while Oracle’s method allows you to fill in
       Yukon’s approach to preserving the hierarchical data          missing data based on the new schema. In that respect, at least, Or-
    relationships in XML documents differs from that of Oracle,      acle’s implementation is more flexible.
    IBM, and Sybase. Instead of using nested tables for storing         You also can validate schema in a number of ways. You can
    structured XML, Yukon features what I refer to as a managed      explicitly create an XML schema collection, attach a schema dur-
    BLOB (Binary Large Object) data type. This means that,           ing table creation, or use the cast function to convert data types
    although the data is being mapped to a regular BLOB data         inside a query. So far, from what I can tell using the Yukon beta,
    type, the XML data type assigned to the column keeps track       there’s no way to turn off schema validation once you’ve turned it
    of the hierarchy of the XML data. One consequence of the         on, and while it seems like a good idea, complete schema valida-
    BLOB approach is a 2GB limit on the size of XML files you can    tion is expensive. In the interest of conserving time and comput-
    store in Yukon.                                                  ing resources, you may not always want to use it, especially against
       Will this matter? There are some who think the 2GB limit      trusted data sources. I’ll certainly be interested in how this shakes
    will be a showstopper for Microsoft in large XML implemen-       out in the final release.
    tations, but I’ll tell you something … I’ve never seen an XML       In short, Microsoft seems to be on the right track, but it’s much
    document even half that size. XML is about finding records in    too early to see how Yukon will pan out. Any Microsoft shop traf-
    a file, not dumping an entire database to a file and trying to   ficking in XML should be hoping there’s gold in those hills.
    run an XQuery search against it.                                 — S.M.


                                                                                                INFOWORLD.COM                04.26.04          43
                                                              ®
                                                                                 Application for Free Subscription
               GET TECHNOLOGY RIGHT
                   NEW SUBSCRIBERS ONLY!                          Apply online at: http://subscribe.infoworld.com
                                                                                                                                                Priority Code:       MT4PDF
                                                                                                                                                                                       Form: 18
I WISH TO RECEIVE A FREE SUBSCRIPTION TO
                                                                                                 2          WHAT IS YOUR PRIMARY JOB TITLE? (PLEASE CHECK ONLY ONE):
                                                                    ❑ 1.   Yes         ❑ 0. No
                                                                                                 IT / Technology Professionals                       Corporate / Business Management
                                                                                                 ❑ 01. Chief Technology Officer (CTO)                ❑ 13. CEO, COO, President, Owner
                                                                                                 ❑ 02. Chief Information Officer (CIO)               ❑ 14. CFO, Controller, Treasurer
SIGNATURE                                                    DATE                                ❑ 03. Chief Security Officer (CSO)                  ❑ 15. Vice President (including SVP,
                                                                                                 ❑ 04. Vice President (including                           EVP, etc.)
                                                                                                         SVP, EVP, etc.)                             ❑ 16. Director
                                                                                                 ❑ 05. Director                                      ❑ 17. Manager / Supervisor
 A MAILING ADDRESS                                                                               ❑ 06. Manager / Supervisor
                                                                                                 ❑ 07. Engineer
                                                                                                                                                     ❑ 18. Other Business Management Title
                                                                                                                                                           ________________________________
 Publisher reserves the right to limit the number of complimentary subscriptions.                ❑ 08. Systems Analyst / Programmer /                      (Please specify)
 Free subscriptions available in the U.S. (including APO and FPO) and Canada.                            Architect
                                                                                                 ❑ 09. Consultant / Integrator                       ❑ 98. Other Title
                                                                                                 ❑ 10. Developer                                           ________________________________
 NAME
                                                                                                 ❑ 11. IT Staff                                            (Please specify)
                                                                                                 ❑ 12. Other IT Professional _____________
 TITLE
                                                                                                                              (Please specify)

 COMPANY NAME
                                                                                                 3         PLEASE INDICATE YOUR JOB FUNCTION(S)?
                                                                                                           (PLEASE CHECK ALL THAT APPLY):
 DIVISION / DEPT / MAIL STOP
                                                                                                  IT / Technology Functions                           Corporate / Business Functions
 MAILING ADDRESS                                                                                  ❑ 01. Executive                                     ❑ 10. Executive
                                                                                                  ❑ 02. Department Management - IT                    ❑ 11. Department Management - Business
                                                                                                  ❑ 03. Research and Development                      ❑ 12. Financial / Accounting Management
 CITY / STATE / ZIP / POSTAL CODE
                                                                                                          Management                                  ❑ 13. Research and Development
 Is the above address a home address?                               ❑ 1. Yes           ❑ 0. No    ❑ 04. Systems / Network Management                        Management
                                                                                                  ❑ 05. Management of Enterprise                      ❑ 14. Sales / Marketing Management
                                                                                                          Applications (CRM, ERP, SCM, etc.)          ❑ 15. Other Department Management
 BUSINESS PHONE (INCLUDING AREA CODE)                  FAX NO. (INCLUDING AREA CODE)
                                                                                                  ❑ 06. Applications Development                      ❑ 16. Other Department Staff
                                                                                                  ❑ 07. Consultant / Integrator                             ________________________________
 E-MAIL ADDRESS                                                                                   ❑ 08. Other IT Department Management                      (Please describe)
                                                                                                          ______________________________
                                                                                                          (Please describe)                           ❑ 98. Other
                                                                                                  ❑ 09. Other IT - Staff                                    ________________________________
                                                                                                          _____________________________                     (Please describe)
 B          SPECIAL REQUEST:                                                                              (Please describe)

 You may receive a renewal reminder via e-mail. May we send other information about
InfoWorld products or services via e-mail?                           ❑ 1. Yes     ❑ 0. No        4         HOW MANY PEOPLE ARE EMPLOYED AT THIS ORGANIZATION,
                                                                                                           INCLUDING ALL OF ITS BRANCHES, DIVISIONS AND SUBSIDIARIES?
                                                                                                           (PLEASE CHECK ONE ONLY):
 Reader feedback is important to us. May a member of our editorial team contact you?
                                                                     ❑ 1. Yes     ❑ 0. No         ❑ 01.    20,000 or more                               ❑ 05.   500 - 999
                                                                                                  ❑ 02.    10,000 - 19,999                              ❑ 06.   100 - 499
                                                                                                  ❑ 03.    5,000 - 9,999                                ❑ 07.   50 - 99
 1          WHAT IS YOUR ORGANIZATION’S PRIMARY BUSINESS ACTIVITY AT
            THIS LOCATION? (PLEASE CHECK ONE ONLY):
                                                                                                  ❑ 04.    1,000 - 4,999                                ❑ 08.   Less than 49


  General Business Industries
  ❑ 01. Defense Contractor / Aerospace
                                                 Technology Providers
                                                 ❑ 13. Managed Service Provider / Business
                                                                                                 5          OVER THE COURSE OF ONE YEAR, DO YOU BUY, SPECIFY,
                                                                                                            RECOMMEND, OR APPROVE THE PURCHASE OF THE FOLLOWING
  ❑ 02. Retail                                         Service Provider                                     PRODUCTS OR SERVICES WORTH:
  ❑ 03. Wholesale / Distribution                 ❑ 14. Technology Service Provider                          * CONSULTANTS: PLEASE INCLUDE WHAT YOU RECOMMEND FOR YOUR CLIENTS AS WELL
        (non-computer)                                 (ISP / ASP/ MSP, etc.)                               AS WHAT YOU BUY FOR YOUR OWN BUSINESS, IF APPLICABLE. IF YOU CANNOT
                                                                                                            DISTINGUISH BETWEEN THIS AND OTHER LOCATIONS, PUT RESPONSE IN THE FIRST
  ❑ 04. Pharmaceutical / Medical / Dental /      ❑ 15. Computer / Network Consultant                        COLUMN.
        Healthcare                               ❑ 16. Systems or Network Integrator
  ❑ 05. Financial Services / Banking             ❑ 17. VAR / VAD                                 01.   $100 million or more         06.   $5,000,000 to $9,999,999    11.   $100,000 to $399,999
  ❑ 06. Insurance / Real Estate / Legal          ❑ 18. Technology Manufacturer (hardware,        02.   $50,000,000 to $99,999,999   07.   $2,500,000 to $4,999,999    12.   $50,000 to $99,999
  ❑ 07. Transportation / Utilities                     software, peripherals, etc.)              03.   $30,000,000 to $49,999,999   08.   $1,000,000 to $2,499,999    13.   Less than $49,999
  ❑ 08. Media (print / electronic)               ❑ 19. Technology - Related Retailer /           04.   $20,000,000 to $29,999,999   09.   $600,000 to $999,999        14.   None
  ❑ 09. Communication Carriers (telecomm,              Wholesaler / Distributor                  05.   $10,000,000 to $19,999,999   10.   $400,000 to $599,999
        data comm., TV / cable)                  Government / Education                          Product category                                   For this location:         For other locations:
  ❑ 10. Construction / Architecture /            ❑ 20. Government: federal                                                                          (write code in box)          (write code in box)
        Engineering                                    (including military)
  ❑ 11. Manufacturing & Process Industries       ❑ 21. Government: state or local                Large systems
        (other than computer-related)            ❑ 22. Education                                 Client computers
  ❑ 12. Research / Development
                                                 ❑ 98. Other________________                     Networking / Telecom (including servers)
                                                            (Please specify)                     Internet / Intranet / Extranet
                                                                                                 Security
                                                                                                 Storage
                                                                                                 Peripheral equipment
              Please answer the questions                                                        Software
                 on the following page.
                                                                                                 Service / Support
6           PLEASE TELL US YOUR INVOLVEMENT WITH YOUR COMPANY’S
            STRATEGIC TECHNOLOGY INITIATIVES (PLEASE CHECK ALL THAT APPLY):
                                                                                           9         ARE YOU INVOLVED IN BUYING, SPECIFYING, RECOMMENDING OR
                                                                                                     APPROVING THE FOLLOWING TECHNOLOGY SERVICES?
                                                                                                     (PLEASE CHECK ALL THAT APPLY):

❑ 01. Integrate Technology with company       ❑   08. Internet / Network Infrastructure
                                              ❑                                            ❑ 01. Technology Services                       ❑ 10. Content Delivery Networks
      goals                                       09. Customer Relationship Management
❑ 02. Define Architecture                     ❑                                             ❑ 02. Systems / Application Integration        ❑ 11. Disaster Recovery / Business
                                                  10. External Partnership Management
❑ 03. Choose Technology Platforms             ❑                                             ❑ 03. E-Business / Internet / Intranet /             Continuity
                                                  11. Budgeting
❑ 04. Develop Technology Integration          ❑                                                    Extranet                                ❑ 12. Outsourcing
                                                  12. Recruitment & Retention
                                              ❑                                             ❑ 04. Application Development                  ❑ 13. Utility Computing Services
      Strategy                                    13. Other_________________________
❑ 05. Test, pilot, implement emerging                                                       ❑ 05. Application Hosting (ASP)                ❑ 14. Telecommunications
                                                             (Please describe)
                                                  ❑ 99. None of the above                   ❑ 06. Web Hosting                              ❑ 15. Call Center / IT Services
      technologies
❑ 06. Scalability Planning                                                                  ❑ 07. Web Development                          ❑ 16. Consulting
❑ 07. Build, Run Web Services                                                               ❑ 08. Security                                 ❑ 17. Other Technology Services
                                                                                            ❑ 09. Storage



7           ARE YOU INVOLVED IN BUYING, SPECIFYING, RECOMMENDING
            OR APPROVING THE FOLLOWING SOFTWARE?
                                                                                           10        ARE YOU INVOLVED IN BUYING, SPECIFYING, RECOMMENDING
            (PLEASE CHECK ALL THAT APPLY):                                                           OR APPROVING THE FOLLOWING PRODUCTS OR TECHNOLOGIES?
                                                                                                     (PLEASE CHECK ALL THAT APPLY):
❑ 01. Enterprise / E-Business                ❑ 20. Integration Software
      Applications                            ❑ 21. Web Services                           ❑ 01. Networking                             ❑ 26. Direct Attached Storage (DAS)
 ❑ 02. Customer Relationship Management       ❑ 22. Web Services Orchestration              ❑ 02. LANs (Local Area Networks)            ❑ 27. Storage Blades
        (CRM / eCRM)                          ❑ 23. Application Servers                     ❑ 03. WANs (Wide Area Networks)             ❑ 28. Storage Backup (Tape, Disk,
 ❑ 03. Enterprise Resource Planning (ERP)     ❑ 24. Enterprise Application Integration      ❑ 04. Switches / Routers / Hubs                    Optical, RAID)
 ❑ 04. Supply Chain / Procurement                    (EAI) / Middleware                     ❑ 05. Caching / Load Balancing              ❑ 29. Removable / Portable Storage
 ❑ 05. Business Process Management            ❑ 25. Business Process Management             ❑ 06. Grid / Utility Computing              ❑ 30. Disaster Recovery
 ❑ 06. Business Intelligence / Data Mining    ❑ 26. Legacy Application Integration Tools    ❑ 07. E-mail                                ❑ 31. Other Storage
 ❑ 07. Knowledge Management                   ❑ 27. Other Integration Software              ❑ 08. Instant Messaging / Peer-to-Peer     ❑ 32. Security
 ❑ 08. Portals                               ❑ 28. Application Development                  ❑ 09. Content Delivery Networks             ❑ 33. Anti-Virus / Content Filtering
 ❑ 09. Collaborative Applications /           ❑ 29. Application Development Tools           ❑ 10. Network and Systems                   ❑ 34. Firewall
        Groupware                             ❑ 30. Application Servers                            Management                           ❑ 35. VPN (Virtual Private Network)
 ❑ 10. Project Management                     ❑ 31. Web services                            ❑ 11. Traffic Monitoring and Analysis       ❑ 36. Identity Management /
 ❑ 11. Financial / Payroll / Billing          ❑ 32. Java / J2EE                             ❑ 12. QoS (Quality of Service)                     Authentication
 ❑ 12. E-business / E-commerce                ❑ 33. XML                                     ❑ 13. VoIP (Voice over IP)                  ❑ 37. Intrusion Detection
 ❑ 13. Database Management Systems            ❑ 34. .NET                                    ❑ 14. Telecommunications                    ❑ 38. Encryption
        (DBMS)                                ❑ 35. Testing Tools                           ❑ 15. IP Telephony                          ❑ 39. Other Security
 ❑ 14. Data Warehouse                         ❑ 36. Other Application Development           ❑ 16. Wireless                             ❑ 40. Internet / Intranet / Extranet
 ❑ 15. Manufacturing                                 Software                               ❑ 17. Remote Access                         ❑ 41. Web Servers
 ❑ 16. Asset Management / Software                                                          ❑ 18. Web / Video Conferencing              ❑ 42. Web Development / Authoring
        Distribution                                                                        ❑ 19. Other Networking                             Tools
 ❑ 17. Performance / Application                                                           ❑ 20. Storage                                ❑ 43. Web Performance Management /
        Management                                                                          ❑ 21. High-end / Enterprise Class                  Monitoring Software
 ❑ 18. Streaming Media                                                                             Storage                              ❑ 44. Content Management / Document
 ❑ 19. Other Enterprise / E-Business                                                        ❑ 22. Network Attached Storage (NAS)               Management
        Applications                                                                        ❑ 23. Storage Area Networks (SANs)          ❑ 45. Content Delivery Networks
                                                                                            ❑ 24. Storage Management Software           ❑ 46. Internet Software
           ARE YOU INVOLVED IN BUYING, SPECIFYING, RECOMMENDING                             ❑ 25. IP Storage                            ❑ 47. Other Internet / Intranet / Extranet
8          OR APPROVING THE FOLLOWING HARDWARE?
           (PLEASE CHECK ALL THAT APPLY):

❑ 01. Hardware                          ❑ 11. Peripherals                                            WHICH OF THE FOLLOWING OPERATING SYSTEMS ARE IN USE OR
 ❑ 02. Mainframes                        ❑ 12. Laser Printers
                                                                                           11        PLANNED FOR USE AT THIS LOCATION? (PLEASE CHECK ALL THAT APPLY):
 ❑ 03. NT / Windows 2000 / .NET Servers  ❑ 13. Inkjet Printers
                                                                                           ❑   01.   Windows XP                        ❑    09.   Linux
 ❑ 04. Unix Servers                      ❑ 14. Monitors
                                                                                           ❑   02.   Windows 2000                      ❑    10.   MVS, VMS, ESA
 ❑ 05. Linux Servers                     ❑ 15. Flat Panel Displays
                                                                                           ❑   03.   Windows NT                        ❑    11.   VM
 ❑ 06. Blade Servers                     ❑ 16. UPS (Uninterruptible Power Supply)
                                                                                           ❑   04.   Windows 95/98                     ❑    12.   OS 400
 ❑ 07. PCs / Workstations                ❑ 17. Network Copiers
                                                                                           ❑   05.   Windows CE                        ❑    13.   Netware
 ❑ 08. Notebooks / Laptops               ❑ 18. Other Peripherals
                                                                                           ❑   06.   Mac OS (Macintosh)                ❑    14.   Palm OS
 ❑ 09. PDAs / Handhelds / Pocket
                                                                                           ❑   07.   Solaris                           ❑    15.   Other OS
       PC / Wireless Devices
                                                                                           ❑   08.   UNIX
 ❑ 10. Other Hardware




                                                Return this form to InfoWorld,
                                                        P.O. Box 3511,
                                                Northbrook, IL 60065-3511 or
                                                    FAX to (847) 291-4816.
                                 You can also apply ONLINE at http://subscribe.infoworld.com


      recyclable