Interoperability is a Human Endeavour
Steve Loughran comes close to nailing the problem when he attributes interop grief to the “use of XSD as the language for describing messages”.
Interoperability is primarily a human endeavour. It is an exchange of information in formats both side could agree and understand on.
To truly appreciate how inadequate XSD is for interop, here’s a snippet of python grammar:
compound_stmt ::= if_stmt
| while_stmt
| for_stmt
| try_stmt
| funcdef
| classdef
suite ::= stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT
statement ::= stmt_list NEWLINE | compound_stmt
stmt_list ::= simple_stmt (";" simple_stmt)* [";"]
Would one party who was not familiar with python be able to understand what the semantics of python is about? Clearly not. Since at best the grammar provides the syntax, and a not very human readable one.
XSD suffers from the same issue. The problem space requires humans to communicate semantics across the wall, but XSD is at best only useful as a language that describes structure.
For interoperation, humans need human-readable formats. I’d consider the command-line format pretty readable. e.g.
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
Why can’t we do the same with XML, designed with humans in mind?
About this entry
You’re currently reading “ Interoperability is a Human Endeavour ,” an entry on Chui's Counterpoint
- Published:
- 3.1.06 / 1pm
- Category:
- Thinking IT
No comments
Jump to comment form | comments rss [?] | trackback uri [?]