Sanjiva Weerawarana wrote: > Sorry, your history is simply wrong. Microsoft made sure XML succeeded, without microsoft driving it as the only way that they would "talk" to the world, it would not of gotten near as much attention because everyone else had already solved the communication problems with things like CORBA and lots of other RPC/IPC stuff that did work for the languages involved.
> IBM (lead by Charles Goldfarb) created something called GML - > Generalized Markup Language in the 70s (or maybe 80s I'm not sure). > Pretty much the same concept as XML except tags started at the start of > a line with :foo and ended for :end foo This is all interesting history, some of which I do know about, but I wasn't trying to draw any attention to that, only point at that only Microsoft's efforts to make XML the only way that they would "talk" to the world was the driving force behind the momentum that XML has. > SGML (late/mid 80s > IIRC) was the standardized version of that and introduced DTDs and more. Specifically, I was referring to Pagemaker which was the most visible use of SGML as a documentation based use in the 1980's. Sure there were many other uses in secluded places as people gained more experience with it, but by and large, it was not visible in near the way HTML and XML are today. > Of course HTML is the most famous markup language created using SGML but > its primary success was for complex documentation systems. SGML > standardization created a whole host of companies. I don't know all the companies in the SGML marketplace from the 80's till now, but I did look around when AT&T/Lucent started talking about switching all of our NROFF/TROFF documentation use over to SGML based documentation using pagemaker as our authoring platform. There were many uses for "order forms", templating of "required contents" and other things which SGML excelled at. All of that was fine and dandy, and the DTD was a big part of the success because the people dealing with random, incomplete content in document exchanges finally felt like they could have control of their input and throw out the trash before it was their job to deal with it. > To the best of my > knowledge Microsoft was not involved. XML was an effort lead by Jon > Bosak (then at Sun) to reduce the complexity of SGML and make it usable. > For example, there was only one full implementation of an SGML parser > and a DSSSL engine (parent of XSLT) - by a young brilliant kid named > James Clark (later father of XPath and a lot of XSLT). Microsoft joined > into the XML party quite late - lead by Jean Paoli, a brilliant guy > who'd been doing markup language work for years (and was part of SGML). > Europe was the leader in markup work for many years. These things I do remember now that you remind me, my point was not microsoft driving the "research", but Microsoft driving the "use" and "expansion" by saying "We will talk to the world using XML". > Microsoft was absolutely the first (big) company that realized the value > of XML as a way to model data instead of documents. The original XML > working group was lead mostly by document heads, except for the MSFT > folks. Even inside MSFT, it was a major uphill battle to convince Bill > Gates (then active CTO / chief scientist / visionary) of the potential > of XML (is what I heard). Part of the XML vision (lead by the original > XML team) was always to simplify not only SGML, but also DSSSL and DTDs. > That's what created XSLT and XML Schema in the end. During the XSLT days > (which is when I joined - as the data side rep and there was another > IBMer for the document side), it was a coup by data-oriented people to > make XSLT more friendly for data transformation and not just formatting. > That's what lead to to the separation of XSL-T from XSL-FO (Formatting > Objects). Microsoft was the clear visionary in that transformation. By > the time it came to XML Schema, politics and diversity had set in .. and > it became a huge morass because all the query people got in and > basically needed all the SQL data stuff in XML Schema so that they could > build XQuery later. All of this recreation of semantic content and embedding it into the content of the data that is exchanged is what tightly couples XML into your application. There is no clean separation at all. You can feel completely immune to what is happening when you use XML, but you do have to have the XSLT filtering built in so you can "normalize" content to fit what you need when you need to do that. You have to have all the "language-X"->XML and XML->"language-X" marshalling and unmarshalling mechanisms. It's not free and it is tightly coupled because you have to have these things in your software, plain and simple. > Anyway, there's lots more to this history but by no means is it that > Microsoft defined XML to defend against Java. That is just silly to > think so; sorry. I didn't say this. I said microsoft made sure that there would not be a single standard. I was referring to J++ and now C# and .net as their way to denormalize the playing field to make sure that they are different so that you have to invest in their platform and you will be less interested in going somewhere else because of the huge cost that you've expended in "training to use .net languages" and "deploying microsoft systems" so that you can actually use "XML" to exchange data with "disparate" systems. The funny thing is, people still don't see to understand that if they had just chosen Java instead of .net, that the could exchange native objects with the other players and not have to "buy" any of the microsoft systems at all. But instead, they are buying the microsoft systems and using them all so that they can "exchange data" using XML. For me, that makes no sense at all. Why would you decide to pay to be different just so that you can pay more and more over time to be different, just so that you can "look" (use XML) the same? > There are many reasons why Java is a TERRIBLE way to serialize > information models IMO. For example, using the type system - named types > don't work anywhere as well as structured or duck typing because of the > looser coupling it enables. There is absolutely no lose coupling. If you can use the data, you have written code that understands the format it is in "now". If the format or use (new semantics) change, you have to write more code, plain and simple. When you use mobile code, the "new meaning" comes with what you download and you can then "use" the new data/interface that is in place, if you need it. Maybe you can explain to me what this data is? I specifically didn't include any typing nor any structure so that you could freely handle it. <data>63,7,29,46,3721,69</data> Let me know what you can do with this data and I'll be excited to know how you will use it. > That right there is a *fatal* flaw. Second > RPC and passing around object references?? Um, seriously? There is nothing in the Java language that passes anything by "reference". Every Java method call passes every argument by value. Those values can be proxy object that might use some kind of network connection to talk to something somewhere else. If you don't know how to design distributed systems, you might incorrectly do things that cause a lot of objects to be passed around as remote references to objects in other VMs. Java doesn't make you do this, it is a software design issue. > I know you're a passionate Java advocate so I'm not going to try to > convince you :). However, history is not something you can rewrite. Understand that I am not trying to rewrite history, I am trying to express the facts that I know and see that have driven things to the point that they are now. > OF COURSE there will be something better than XML and (hopefully WS-*). > This time, the improvement will come from creating a solution that > addresses XML + XSLT + XPath + XQuery + XML Schema + XML Namespaces + > ... all in one piece of technology instead of a design-by-committee > morass. It must be good at representing both structured data and > documents equally well, map to existing programming languages reasonably > well etc.. All these X* things don't really provide anything new or different. They create standards for doing things a different way, which you can already do without the expense and overhead of integrating these things into software systems. Again, why pay to be different so that you can look the same, when it is much cheaper to just be the same? > The only work going on that's that ambitious enough to even attempt to > solve such a massive problem right now (that I know of) is Microsoft's M > effort. And even that doesn't address the protocol aspects or the > challenges of considering security in the core of the data model. I > think we're going to need a few more iterations of fundamental concepts > before we really have a solid foundation for distributed computing. > Hopefully it'll happen in my lifetime :-). Today, the Jini platform provides security in data exchange. You can authenticate both ways, you can provide "constraints" to force both sides to agree on what authentication is required as well as what format data should be marshalled, as well as a wealth of other controls including only using tested software for the mobile code aspect and a wealth of other things. It's done, don't have to do it again, don't have to wait for it to happen... Peace, sorry this has gotten so heated, but the majority of this is about the fact that people are dissing Java and Jini and they really have no idea what's there and what's possible. Gregg Wonderly > Sanjiva. > -- > Sanjiva Weerawarana, Ph.D. > Founder, Director & Chief Scientist; Lanka Software Foundation; > http://www.opensource.lk/ <http://www.opensource.lk/> > Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/ > <http://www.wso2.com/> > Member; Apache Software Foundation; http://www.apache.org/ > <http://www.apache.org/> > Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/ > <http://www.cse.mrt.ac.lk/> > > Blog: http://sanjiva.weerawarana.org/ <http://sanjiva.weerawarana.org/> >
