YOUR FEEDBACK
More on the Software Assembly Question - Do Design Patterns Help?
Yanic wrote: Hi, > UML and MDA are being changed to be more data and doc...
SOA World Conference
Virtualization Conference
$50 Savings Expire May 23, 2008... – Register Today!


2007 West
GOLD SPONSORS:
Active Endpoints
Your SOA Needs BPEL for Orchestration
BEA
Virtualized SOA: Adaptive Infrastructure for Demanding Applications
Nexaweb
Overcoming Bandwidth Challenges with Nexaweb
TIBCO
What is Service Virtualization?
SILVER SPONSORS:
WSO2
Using Web Services Technologies and FOSS Solutions
Click For 2007 East
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TODAY'S TOP SOA & WEBSERVICES LINKS


The New Role of XML

Digg This!

In the history of XML to date, its role in application development has been mostly on the edge - it has been used primarily as the format for applications to communicate with each other, as a way to serialize data or configuration information, or for some other use at the "front door" of the application. The internal data model and processing that made applications run were entirely driven by objects (Java, C#, or what have you), relational database schema, and the like. Developers used the same approach to data modeling they always had and leveraged XML on the outside of their applications.

As XML has become more mainstream, and there is much more XML data floating around the enterprise, new technologies have been developed to better process and manipulate XML inside applications. As a result, the role and location of XML use in applications is shifting. We are starting to see more and more applications in which XML is not just a way to serialize or communicate the already extant data structures, but a way to think about modeling the application data itself.

To get concrete for a moment, think of a Web services application for handling an order. The Web service might define "Customer" data and a set of "LineItem" data that makes up the order. Usually great care goes into defining the structure and the associated validation rules of this data, because it's a lot easier to enforce these constraints in a declarative medium like XML Schema than in a programming language. Today a Web service like this is usually just a thin "XML" layer fronting a legacy application. XML is being used at the edge, and is translated into the internal application data objects (Customer and Order for example) where the real work happens.

New order processing applications, however, are being built with Web services in mind from the get-go, not as a layer tacked on after the fact. In these applications, where you aren't constrained by many existing data structures, you start to wonder why you need to translate this nice data model you defined in XML Schema into the less expressive type systems of a programming language just to write your application logic, only to translate it out to XML again. Moreover, you have to write a lot of code to make sure that the data continues to meet the original constraints imposed by the schema as it flows through the system.

Part of the reason this hasn't been done to date is that accessing XML from within programming languages is just too hard. Either you are forced to deal with low-level XML processing like DOM or SAX, or you have to live with the loss of schema information that comes from translating XML into programming language objects. New technologies like BEA XMLBeans ( http://dev2dev.bea.com/technologies/ xmlbeans/index.jsp) are starting to change the productivity trade-off that developers are normally forced to make. XMLBeans allow you to easily access XML data directly using XQuery and an XML cursor, but also automatically build Java "views" on your XML data based on information provided by XML Schema. This allows you to have the convenience of accessing data using a Java programming model, but with all the constraints of the data model defined by XML Schema still in force, and the inherent extensibility of XML always available to you. Similarly, the ECMA group has been working to make XML a first-class citizen in the JavaScript programming language (www.ecma-international.org/news /ECMA%20E4X%20Final%20Final.pdf), and rumors abound that Microsoft has a similar initiative in the works with X#.

With tools like these, developers can start to think seriously about using XML Schema and XML as the center of the data model of an application, not just as a translation that happens at the outside. To be clear, it's always important to have some translation layer at the edge of your application to ensure loose coupling between the internal data model and the public data, but there is no reason this has to be a translation between XML and objects. If XML is used as the internal data model, it can be a simple XML-XML transformation, for which there are many tools and languages available.

So in the next application you write, consider using XML at the center. If you are building an application that does a lot of XML processing, I think you'll find that using some of the new technologies for accessing XML gives you the same productivity you'd expect, and saves you from the tedious translation and validation code you're normally forced to write. I think we'll see XML permeating application development more and more over the coming years, and a whole set of new tools and technologies being developed to unite relational, object-oriented, and XML data even more over time.

About Carl Sjogreen
Carl Sjogreen is senior product manager for BEA WebLogic Workshop, an integrated development framework that makes it easy for all developers – not just J2EE experts – to build enterprise class web services on the WebLogic platform. Carl has been involved with XML, Web services, and developer tools since 1998, when he founded Transformis, developers of the award-winning Stylus Studio IDE.

Laurent Le Meur wrote: The article introduces a real issue: the OO paradigm vs the XML paradigm when both are used for software development. The main issue is not really in the "data" field, but in the "document" field: the mapping from a mixed content element to a class (ie a structure) is not clear. Some articles about UML/XSD don't even talk about the issue (eg http: //xmlmodeling.com/article s/IntegratingXMLData.pdf) . Other consider an UML decoration ({mixed=true}) but don't go further in explanations. The only mapping I see is to consider that a mixed content object is a collection of objects, some being strings, some being complex objects. But what kind of standardized "high level" object interface can we create to handle this properly?
read & respond »
Andre Alguero wrote: Let's take a step back when comparing XML to UML. No where does the author of the original article state tat XML is a modeling language like UML. Rather the author suggests that describing a data model in XML Schema is more powerful than other conventional methods. I personally believe this is absolutely true. In UML, how would you specify that a data field must be 32 characters in length and consist of the character set [A-F]? My point is that we should not slam the author for something he didn't say.
read & respond »
Andre Alguero wrote: So your data model is and was designed using XML/XML Schema. Great. Now where do you put the data? Can you really relate it in the ways you need to in storage? I'm a big fan of XML and native XML storage solutions like Excelon. But its unclear to me where the editor wants to go with this idea. Most will look to shred or blob their XML.
read & respond »
Adam Welch wrote: Just because a technology can do something in no way means that it will pay to do so. XML is not a silver bullet, but is instead a nice if still very incomplete data interchange technology.
read & respond »
halfnium@alum.mit.edu wrote: With regard to "XML schema is an inferior modeling language compared to UML/OO design", more good points! And more good reason to take a look at the Water language, because all of these points are answered within it.
read & respond »
halfnium@alum.mit.edu wrote: Some good points in this article, but why stop at using XML syntax for data modelling? Why not also use it for a programming language syntax? Why not have the language evaluate as a method call? This not only brings programming's dynamism to the XML customarily considered static, but also lets you stop banging your head mastering the next darned Java-to-task-specific-XML API: Just emit/accept XML directly from/to the object system and get to work using it. For example, see www.waterlanguage.org.
read & respond »
Philippe Paravicini wrote: The idea expressed in this article is the current dogma at my organization. This idea has great allure. Why bother to learn UML and OO design when you can just use XMLSpy or other GUI XSD authoring tool, and voila! behold the data model ! In my opinion this idea is naive and greatly misguided. This idea may work if the data structures are simple such as is the case with simple 1-n, and n-n relationships, with no associative arrays/hashmaps or complex db joins. I strongly disagree with the statement that XML Schema has more expressiveness than programming types. This may be the case if you are using Visual Basic, or C, perhaps, but it is definitely not the case when you are using Java/UML where you have available all the expressiveness of OO design, and the richness of libraries such as t...
read & respond »
XML JOURNAL LATEST STORIES . . .
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
EDI to XML: A Practical Approach
While EDI transactions account for most worldwide commercial activity, XML-based alternatives are beginning to gain traction. According to Forrester Research, stateful XML, stateless XML, and even flat file exchanges are all projected to grow at a faster rate than EDI over the next few
Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
Red Hat is a trusted open source provider. Red Hat offers enterprise customers a long-term plan for building infrastructures on the quality and innovation of open source. Combining open source operating system platform, Red Hat Enterprise Linux, together with applications, management
JustSystems Contributes Key XBRL Rendering Technology to Financial Community
JustSystems announced that it is contributing intellectual property rights for its invention of eXtensible Business Reporting Language (XBRL) rendering technologies to XBRL International, the standards body responsible for the oversight of the XBRL specification. The invention, known a
JustSystems Launches Campaign for XBRL Success
JustSystems announced its campaign to help organizations adopt XBRL (eXtensible Business Reporting Language), the XML-based standard for communicating financial and business information. In related news, JustSystems also announced that it has contributed intellectual property rights of
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS


ADS BY GOOGLE
BREAKING XML NEWS
Woodstream Selects EXTOL Business Integrator to Improve Business Processes, Customer Collaboration and Internal Integration
Woodstream, providers of pet, lawn-care and animal-friendly brands such as Perky-Pet,