Workflow and XML ‘Standards’

HTML is great.  It is everywhere.  It is universally adopted.  Why?
Well first off it has well and truly exceeded critical mass.  It has not changed much.  But perhaps most of all is because it was a technological fit.  Browsers get information in the form of HTML, parse it then display it.  The data in HTML is all very linear.  It is always read top to bottom. 

Data in almost any database is not linear.  Fully normalized databases need different types of data in different places.  They need indexes for quick searching and matching information from location A to location B.  When it comes to having complex information structures or just a lot of information having a flat file that needs parsing just is not going to do the trick. 

Danger Will Robinson Danger.
All standards that people seem to be coming up with these days, not only for workflow but everywhere else seem to have an XML basis.  XML is easy to understand and you can store any kind of hierarchical data in it very nicely.  You can also store normalised data in it.  The problems arrive from the performance issues of trying to retrieve information from the data.  The current technologies are pretty slow.  Without some sort of indexing mechanism they will continue to be slow.  If such an indexing mechanism is built we congratulations you pretty much built a database system.

The second problem I have with XML is the high sugar content.  Syntactic sugar of course.  A while ago I worked with a program where logic rules were written in XML and maybe it damaged me psychologically.  Consider the following VB code
If a > b then c
In the xml language it translated to
<if>
<comparison type=”>”>
<firstvalue>a</firstvalue>
<secondvalue>b</secondvalue>
</comparison>
<then>c</then>
</if>
So instead of 15 characters I now had to type 110.  Now this language may now have been al that well thought out but any kind of XML based language where you have to perform some kind of logic is going to be a little too sweet for my taste buds.

My third problem with the current standards is that there are so many.  How many standards can you have being used before all of them can no longer be called a standard?  There are also many new ‘standards’ on the way.  Oh Tim Berners-Lee where art thou? 

So now that I have rambled seemingly aimlessly for a few paragraphs perhaps I should share with you the point I am trying to make for this article.  My point is this:  is there a better option for an underlying technology for creating standards for all the things in which we are starting to use XML in regards to workflow.  (I don’t really have any suggestions btw).  The technologies like BPEL and wf-XML etc could be good for exchanging information between other compliant systems but I don’t think they should be built upon for doing the grunt work in large multi-workflow implementations. 

PS If you feel that I am wrong or just plain delusional feel free to post a comment.

Advertisements

2 thoughts on “Workflow and XML ‘Standards’

  1. First I stand corrected on my mis-use of the term syntatic sugar as it should be changed to redundancy.

    As jmettraux mentions there are technologies that assist in querying XML data. It has been my experience however these technologies xPath, xQuery, xPointer still seem to be quite slow in comparison to database systems where medium to large data is involved.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s