views:

193

answers:

5

I am trying to convince some senior people at my company of the advantages of transmitting data in a structured format between two of our systems.

Currently one system outputs flat text files and complicated parsers have to be written to extract the data on the other side. Every time the data is changed, the 'positions' have to be adjusted and it's a headache to maintain and test.

Both sides here have inbuilt facilities for creating and manipulating XML, so what I'm after is a persuasive article, document, blog post, etc introducing XML (or any other markup language really) as an alternative to flat text aimed at people who may not have worked with it before.

Many thanks

+4  A: 

Don't underestimate yourself, first. Passion will win them over. It's the most important ingredient in a fight like this. Besides, truth is on your side here. It is extensible markup language after all. Extensible is in the name!

Here are a couple of articles to help you ...

Rap
Thanks - those look really good. It's not really a fight as people know that things are creaking, but I'd like to be able to send some good material on!
Rock and or Roll
A: 

My reasons:

  • No need to worry about data 'positions'.

  • Standards compliant and not tied to using the second system (which is a layout/printing package).

  • Human readable, to an extent.

Rock and or Roll
+2  A: 

Don't know of any articles off-hand but a few advantages:

  • Wide variety of XML parsers already available for practically every language.
  • Structured data makes coding much easier - e.g. "select every <abc> tag and grab the value of attribute def" is easier to understand than "go to line n, grab characters 20-30".
  • Easy to edit by hand (e.g. changing one value) - syntax highlighting in text editors makes this even easier.
  • Variable-length values, so no need to rewrite parser when data changes.
  • Easy conversion to other formats like HTML and maybe Word/Excel/OpenOffice formats.
  • Data integrity via DTDs.
  • Data is portable to other systems and could be parsed by another language trivially. With a custom parser it means rewriting from scratch...

The only disadvantage that springs to mind is that the file size may be greater. With compression the difference is negligible and the size may not matter anyway.

DisgruntledGoat
+2  A: 

Since it is senior people you are trying to convince, I think no article will help since usually it resumes to money. Try working that way and explain how much money they will save (something like... the XML solution takes less time to write each time modifications are made, time equals money, so... You get the idea).

You could instead search for news about other companies that have successfully changed similar implementation. A working solution is better than a theoretical one.

Be careful that this might return and bite your asset if something goes wrong with the new XML implementation you want to introduce (e.g. XML is more verbose than a flat file so you might have slower communication between the systems).

An intermediary solution would be to improve the tool that reads/writes these files. Take a look at FlatWorm, it might help you.

dpb
+2  A: 

One of the most persuasive arguments I have ever read is at the start of the book "Querying XML" by Jim Melton and Stephen Buxton

http://www.amazon.com/exec/obidos/ASIN/1558607110/veronicabuxto-20?creative=327641&amp;camp=14573&amp;adid=0X99VG0WVGNVSQGWKFFE&amp;link%5Fcode=as1

It documents the language of XML, the salient and useful points around flexibility as well as critically why you would want to use it for a particular piece of functionality.

Keep your enthusiasm high, but step back from zealotry. You might consider trying for a Proof of Concept to start with and once that is done you'll be off and running!

Pabs