At 05:30 PM 1/13/2009 -0600, Stephen Russell wrote: >On Tue, Jan 13, 2009 at 5:28 PM, MB Software Solutions General Account > > > > Again...in a closed loop, binary is fine. However, I think many would ... > > buzzwords, claiming they're the panacea for all things IT just so they can > > say they're using the latest in technology. Shame on them. >----------------------------------------- > >Take off your VFP blinders and use peripheral vision. > >XML has been around for about 12 years or so. If it sucked it would >not be used as widely today as it is. It is used because it is a
Ok, the real Charlie will speak up for a moment. XML does suck at data transmission and storage. Period. Sorry for all you XML enthusiasts out there, it's just the plain simple truth. XML did not catch on because of any "technical performance" or "efficiency" reason. It caught on because of these 3 facts: 1) gave a common interchange "structure" and a way to "save face" (explained below) 2) it gave a new area where money could be made 3) PHB's could "read" XML so they thought that it was "naturally" an easy standard As for 1), there were constant wars over how to exchange data between various systems. No vendor wanted to accept another vendor's approach (MS of course being the most argumentative). When XML came along (open source standard wouldn't you know) all of a sudden, all the vendors were at "ground level" in terms of being able to produce data in this new approach. And since "open," no licensing fees to worry about, etc. Technically, XML generally adheres to the hierarchical data model (aka Hierarchical Databases of the 1970's), and most vendors had worked with relational to hierarchical translations before (aka database conversions, OO-concepts, etc). So, by providing the capability to generate XML, a company could "save face" since a competitor's data spec was not chosen over theirs. And technically it was not all that difficult to produce. As for 2), yep, something "new" (although not really new) means big dollars in the computer industry if you can sell it. So immediately the books came out, white papers on how the Internet will be saved by XML, and so on. Again, vendors hopped on this fast to get their names in the limelight and justify upgrades to their products (i.e. the non-open-source vendors of course). Side note: this type of hype started throwing XML into places where it didn't belong, and tons of effort and dollars have been wasted on getting out of those messes. As for 3), the pure idiocy of this is self-evident. XML truly does not do any good regarding actually designing a data interface. All the work of defining meanings, valid values, processing conditions, etc, still have to be done if you pick XML as exchange format. But all that didn't matter. The vendors and pundits of XML could "print" data out and the PHB's could see it and actually understand the different data elements (at least they could see where they occurred). And so PHB's started the push to adopt XML even though they didn't really understand what it meant. And then they were "surprised" when there was actually no effort saved when they interfaced their different systems. XML is rotten for efficient data storage. It is rotten for data transmission. The area it shines is the area it was meant to shine: data exchange between disparate systems. I'll have to concede that the reason it shines in data interchange is the fact that pretty much everyone adopted the standard. But closed/proprietary vendors probably would not have adopted it if they didn't think they could make money from it - a quirk of the computer industry. Personally, I think it'd be great to get standards adopted in their designed roles based on technical merit, not how much hype-cash can be gotten. Now, XML in the "real world" Technical implementation has improved a little overall (12 years working on anything usually does give some improvement <g>). The compression schemes usually do pretty good (since XML is "text"). So the result is data transmitted is probably only double or triple the binary size vice being 10 times the size. But, sorry, double isn't acceptable - I don't care what you "big-bandwidth-is-coming" folks say. It's stupid to use more bandwidth than absolutely necessary. It's default adoption as "web service" data is not good IMO. Because of it's size, structure, etc, things "run" slower. And then, by doing that, the door is opened for "amazing benchmarks" (well, propaganda) from vendors like MS stating how great their special, proprietary, blah blah scheme can outperform other solutions (that use XML). Cleary, from some of the traffic on this list, there are those all too eager to swallow the MS-pill without thinking. Not thinking even a little bit (of course, MS Certs don't really encourage thinking do they....<sigh>). Still people don't understand XML. Some say it's "queryable".... LOL... wait a sec... I had to get off the floor. It still makes me laugh to hear that a great "benefit" of XML is that it's queryable. XML is no more queryable than any other defined data format. CSV files are queryable. HTML files are queryable. OMG!!!! even.... DBF FILES are queryable. Holy cow Batman!!! All these XML pundits need to be introduced to DBFs! They'll be shocked to find the incredible query abilities!!! Anyway, to query anything you need to simply build the logic of how to parse the data and expose that as methods/functions. Duh! XML's design of being able to construct "schemas" is one of it's strong points. OMG!!!! I just remembered. When you use DBF files you can construct data schemas too!!! Holy cow! Using a complete DBC approach, you could construct a completely defined, validated, authenticated data interchange spec! Oh, sorry, maybe that's too much reality for some folks. Anyway, since you can "define" the structure, elements, and formats you want to use in a given data interchange, XML "shows" well (can be understood, but doesn't perform the best). The verbosity of it does make it easier to discuss in technical meetings (on slides, etc). So for "show" XML gets a 10, for "work" it gets a 3. And since we're talking "real world" I do want to point out that since XML has become so widely adopted, I do think it is important that all vendors have ways to move their data into it. Why? Because of future conversion issues. When MS finally dies (please let it be in my lifetime), being able to take Word/SQL Server/Excel/blah blah files, get them into XML, and then back into the software-of-the-day will be important and a great boon to consumers. But it is stupid for vendors to use XML as their actual data storage format. One example I know of if is Open Office. I'm not sure what is in the current 3.0 version, but I recall the 2.0 (maybe 1.1?) started storing docs using an "XML" approach. The result: much longer load/save times than MS Word. I can understand why OO wanted to encourage XML - it is and open standard after all - but they hurt themselves because most proprietary vendors define binary storage formats for speed/efficiency. Digression: right now, the "open" standard for word processing documents is ODF All computer professionals should be recommending only WP software that can convert documents into ODF. Any vendor not supporting it should be dropped. As other open standards become available, the same should be done. The "safest" way to get companies on the correct track is to simply get them to drop MS Office and use Open Office. There may be some other open suites, but MS Office simply should not be used if the long-term is important to a company. Back to the topic: Partly because of "XML", web pages today truly suck. The ones that I find are tolerable are the ones that are simply publishing articles (which, interestingly enough, is pretty much what the "Web" was designed to do). Bank sites suck. "Business sites" suck. And now that I've been seeing more and more .aspx (.Net?) sites up, it's getting worse and worse. Some idiots apparently think that when I want to get data, that I'll be happy seeing 10% of it at a time. And if I want to resort or do special processing on the data I'm asking for I gotta "refresh" my request, taking more and more time. Freaking morons. But hey, I'm just a consumer trying to get information and do analysis. I'm sure I don't know what I want to do as much as the, uh, web page gurus do. And it's almost laughable to see how some developers get excited when they get their web page working... just working... while the performance for every operation by the user is multiple-seconds (or way worse under load). Sheesh this industry is going down the drain. Maybe now that SSL was hacked some folks may start re-thinking their "web-everything" mentality.... but I'm probably too optimistic. Next, I'd like to comment on the concern about using XML when "both ends" of the pipe are controlled. My recommendation is to simply not use XML. Period. Your system will perform better, be easier to maintain, and be more flexible to YOUR needs if you don't use it. All that being said, if there is a possibility of "part" of your system being accessed by "non-controlled" sources, supporting XML may be worth it. For example, if you have a rich client piece that sends requests to a central "service" and no one else is expected (or allowed) to talk to that service, then using XML to exchange data is not very good (ok, it'd be STUPID). But if that central service is supposed to be able to respond to requests from other places, then XML is probably what they would want. Of course, if the latter occurred, I'd most likely retain my "binary" exchange with my "ends" of the pipe and expose a different call for those that wanted to consume XML (wouldn't be that much additional code). Lastly, as you can tell, living through decades of the travails of various "industry paradigm shifts" (so-called) I've gotten pretty jaded. It seems very few computer professionals really understand the actual workings of computers any more. They want to take the easy way out, collect their paycheck, and go their merry way. To hell with technological advancement, to hell with consumers, to hell with what is right and wrong. XML in and of itself is good for what it was designed for. But as usual, proprietary vendors and self-serving individuals have tried to push it where it doesn't belong. This is what happens to every "new" idea in the computer industry. We can't do much about the self-serving individuals, but as concerned "professionals" we certainly could and should do what we can to speed the end of proprietary software solutions/vendors. If they didn't exist, true computer industry advancement may start happening again. -Charlie _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/profox OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/[email protected] ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

