[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Sun's senior IT architect Victoria Livschitz about XML
Dimitre Novatchev wrote: > [Victoria Livschitz said:] > [XML, SOAP, UDDI, etc] from a software engineering standpoint, they > seem to me a setback rather then a step forward. ... "With all that > excitement, no one seems to have the slightest interest in basic > computer science." From a "computer science" point of view, you simply can't dispute what Livschitz has said. XML, etc. *are* a setback. But, she is wrong, I think, in her implicit equating of "software engineering" with "computer science." The strengths of XML, etc. are not in computer science. Rather, XML's strengths are in the *human sciences* of sociology, psychology, and political science. XML offers us no concepts or methods that weren't completely understood "computer science" long before ASN.1 was first implemented in the early 80's. From a "computer science" point of view, XML is less efficient, less expressive, etc. than ASN.1 binary encodings or the encodings of many other systems. However, because XML uses human readable tag names, because it is text based, easy to write, has an army of evangelists dedicated to it and many freely available tools for processing it, etc. XML wins in any system that values the needs of humans more than those of the machines. XML's ability to "win" in the human arena has enabled a great outburst of computer science as a result of the greater interchange of information and the increased ease of interchange. However, this great outpouring of utility and enablement of new computer science work has been at the cost of accepting an interchange format which is "inferior" from the point of computer science. Of course, I think most of us accept that this cost is an acceptable one and a small price to pay in most cases. Personally, I have always felt quite strongly that software engineering should be distinguished from computer science by recognizing that software engineering encompasses far more than the close technical scope of computer science. Where computer science is focused on algorithms and machine processes, the focus of software engineering should be on the development and deployment of software within and for systems that have human purposes as their goals. A computer scientist can, and should, focus only on the bits in the machine, a software engineer needs to consider not only the machine but also the organizational dynamics of the team that builds the software as well as the human needs of the organization that uses the software. A computer scientist couldn't help prefering ASN.1 binary encodings to XML. A software engineer, on the other hand, will often see no reasonable alternative to XML in today's world. Virtually any argument that attempts to claim a technical superiority for XML is bound to be proved wrong by reference to ASN.1 or many other alternatives. In much the same way, most arguments that XML should "simply be replaced" with a technically superior alternative simply expose the naiveté, ignorance, or closed-mindedness of their advocate. What is "right" in computer science is not always what is "right" in software engineering. Of course, many people who read this will be wondering at this point why I, a "known" proponent of the use of ASN.1 and its encodings, am writing in defense of XML! Well, I'm not really. XML has its place and ASN.1 also has its place. XML is best used in applications where the influence of the human needs on design decisions is strongest while ASN.1 offers real value in applications where the needs of the machines dominate. For instance, at PubSub.com, where we do content-based publish/subscribe, we speak to the outside world via HTML and XML since that is the "language" that is most commonly understood by the world at large and the easiest format for people to generate and consume. On the other hand, all of our internal processing is done on ASN.1 binary encodings. (i.e. we convert everything to/from XML at our perimeter). The result is that we have great interoperability with the outside world by using XML and we've got great efficiency in our internal processing by using ASN.1 encodings. The best of both worlds. In the future, we will undoubtedly allow and even encourage some high volume publishers to send us data using ASN.1 encodings so that we can optimize a bit and eliminate some of the cost of translations at the perimeter -- however, I can't imagine that we would ever stop interchanging XML with the vast majority of our clients. At the perimeter of PubSub.com's system, the human sciences and human needs dominate. In our core, it is the needs of our machines that dominate. Thus, we meld the application of software engineering and computer science. Livschitz is right in saying that XML is a step-backwards from the point of view of computer science. She is wrong in suggesting that it is anything but a tremendous step forward in software engineering. bob wyman
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|