
Please feel free to forward this newsletter to as many friends as possible. I have a personal goal of having one million readers. I can achieve it with your help
the Software View: XML marks up the spot
Welcome back, gentle readers. For those of you with Web access, please click here:
http://www.softwareview.com/
Scroll down the page and you will notice a link entitled, "Daily view weblog". The daily news page is also known as a "web log". It is en vogue and the fashion of these days to call it that. Click on the link, click "reload" on your browser or clear your browser cache to ensure that you always receive the freshest, hottest daily news concerning JavaTM, Linux®, XML, and the software industry! The link never changes, but I will be updating the HTML file page behind it every day. Please, do take a gander at it every day.
Also, gentle readers, the Software View is an Associate Internet World Wide Web site of Amazon.com. I'd like to extend my sincere, heartfelt gratitude and thanks for your patronage. I'm offering links to books, et cetera that you can purchase from my web site. I'd greatly appreciate it if you would purchase software industry books from my web site. Help support my newsletter and web site by purchasing items from Amazon.com from my web site. Here is the URL (Uniform Resource Locator):
Click here
Now, dear readers, on with this week's episode of the Software View!
I'm going to lead off at the top of the show with some software jokes:
Is e-commerce actually another term for "not for profit?"
Is this technology moving us forward or are we spending too much time backing it up?
Do we surf the Internet or have we become "serfs" to the Internet?
The Internet is altering commerce: a customer can now make a purchase without any assistance from a salesperson, much like shopping at a large department store.
The Net's also changing the nature of journalism so that the media is now breaking news beyond repair.
There's such an obsession for better performance that there's even a new product called "Cyagra." It claims to enhance your computer by turning your floppy into a hard drive."
While book stores are filled with titles on "Computers for Dummies," it should be "Computers by Dummies."
I've always wanted to put together a list of Microsoft's red headed stepchildren. You know, those products or projects that Microsoft released with great fanfare and then later disowned. Those products or projects that were forever banished or shunted into anonymity. Here's a short list: Microsoft Bob. Remember Microsoft's PCT encryption "standard" which they tried to position against and compete with Netscape's SSL (Secure Sockets Layer)? Remember how everyone thought that MSN was going to kill the Internet? Remember the "Blackbird" online media development package in early 1996? Blackbird was the long-promised tool which was going to make developing for MSN simple and provide all kinds of advanced media authoring capabilities. Whatever happened to all the online media and entertainment shows that used to be on MSN? Whatever happened to Microsoft's hallowed Internet technologies named ActiveX? Mercifully, they were shot in the head and are now being renamed COM+ (Component Object Model).
Steven Wright is a comedian known for his wry sense of humor, puns, and plays on words. Here are some jokes he would tell about Microsoft:
"Why do I have to click the "Start" button to "Shut Down" Windows?"
"Windows 98, an operating system with the Year 2000 bug already built in ... "
"Why does function code 9 (in QDOS and still in MS-DOS, more than ten years later) end in a dollar sign?"
"If a tree fell at the Microsoft Visual J++ Developers' Conference, which no one attended, would it make a sound?"
Their software has more bugs than a cheap motel.
A "General Protection Fault" means your computer will claim it is your fault whenever something goes wrong.
One of my readers, Joe Gilbreth, had a funny response to the last episode of the Software View. "Mark, a few weeks ago I read an article in InfoWorld or PC Week quoting a Microsoft wheel touting Windows 98. According to him, one of the great things about it is that it fixes over 5,000 bugs in Windows 95! Is there a message there or what?"
THE X FACTOR
Do you XML? Come on, dear reader, and agents Mulder and Scully. On with this week's episode of the "XML-Files"! Caution! This week's episode of the Software View is rated XML. I will give you a general overview of XML and then close with my thoughts on how XML relates to Microsoft and JavaTM.
InfoWorld's Jeff Senna writes, "XML (eXtensible Markup Language) is a markup language derived from SGML (Standard Generalized Markup Language), and akin to HTML. XML documents are ASCII files containing both text as well as tags identifying structures within that text. However, unlike HTML, XML lets you define your own custom tags and attributes, but without SGML's inherent complexities. That enables XML documents to include meta data - data about the content in the document, including hierarchical relationships." XML is a data format for structured document interchange on the Web. Peter Flynn writes, "XML itself is not a single markup language: it's a metalanguage to let you design your own markup language. A regular markup language defines a way to describe information in a certain class of documents (e.g. HTML). XML lets you define your own customized markup languages for many classes of document. It can do this because it's written in SGML, the international standard metalanguage for markup languages."
XML can be used as a meta language because you can create an entirely new programming language using XML syntax, as well as combine it with client-side scripting languages like JavaScript. However, HTML will continue to play an important role because the presentation and linking components within XML haven't matured as quickly - and many complexities still need to be worked out. In an enterprise context, XML is already useful. It can replace "home-brewed" production processes, working behind the scenes to transfer and organize data on the server or in a middleware layer.
XML can serve as a data format for structured document interchange on the Web. XML documents, unlike HTML pages, can carry vast amounts of well-organized data, along with descriptors of what data elements and structures the documents contain. XML exceeds HTML's limitations in three areas: extensibility, structure, and validation.
XML allows you to define your own tag sets, and is thus extensible." XML is extensible because, unlike HTML, the markup symbols are unlimited and self-defining. XML describes the content in terms of what data is being described. For example, on a web site that dealt with chemistry, a MOLECULE tag could indicate that the data that followed it was a particular combination of atoms. This means that an XML file can be processed purely as data by a program or it can be stored with similar data on another computer or, like an HTML file, that it can be displayed. For example, depending on how the application in the receiving computer wanted to handle the molecule, it could be stored, displayed, or manipulated.
Senna writes, "Unlike HTML, XML document structure is mandatory. Each XML document requires a root element, and subsequent tag sets must be properly nested, resulting in a data hierarchy.
XML documents can be validated by external DTD (Document Type Definition) files. This ensures that each tag set is properly defined and valid. XML adheres to rigid guidelines in order to work properly. For example, XML tags must be declared before they can be used to mark up text elements. These element declarations are usually contained within DTDs separate from the data documents. These files establish the "vocabularies" that specify how each tag should be used. When XML is used as a meta-data language, DTDs can serve as a type of data dictionary."
XML is a flexible way to create information formats and share both the format and the data on the World Wide Web, intranets, and elsewhere. For example, computer makers might agree on a standard or common way to describe the information about a computer product (processor speed, memory size, and so forth) and then describe the product information format with XML. Such a standard way of describing data would enable a user to send an intelligent agent (a program) to each computer maker's Web site, gather data, and then make a valid comparison. XML can be used by any individual or group of individuals or companies that wants to share information in a consistent way. It is expected that HTML and XML will be used together in many Web applications.
"When used as an automation tool, XML can transform a variety of manual processes - such as managing vast amounts of dynamic content - into automated functions. In the enterprise, XML's real significance may emerge as a means for making it easier to create, deploy, and manage middleware messaging architectures over the Internet. XML-enabled solutions can help you manage content and integrate data from disparate systems throughout your company.
Because XML is ASCII-based, it promises to make deploying Internet-based distributed applications easier than is possible with binary-based messaging technologies like DCOM (Distributed Component Object Model) or CORBA (Common Object Request Broker Architecture). But, this doesn't mean that binary-based architectures should be tossed in favor of XML - they often work very well together. XML is a means of providing more efficient data exchange. The ultimate goal is to eliminate data redundancy and foster data reuse."
Dale Dougherty writes, "XML helps to establish documents that can function independently of the server. Documents can reside locally once downloaded and continue to function. For instance, if you download the document to a laptop, you can use the document effectively while not connected to the network."
Shelley Powers writes, "XML is similar to SQL in a number of ways; SQL is also an example of a multi-purpose language used to define data structures and query those same data structures without concern as to how the information is displayed or used. The only guarantees are that the information is defined in structures, the structures follow certain rules, and the information contained within the structures can be accessed automatically or manually. Both SQL and XML define structures for information in the form of elements, element attributes, and element content. The main difference is that instead of defining data that is stored in a physical storage medium usually only accessible by a database engine, XML describes data that is stored and accessed from within documents."
Tim Bray writes, "The people who are working on XML talk about "automating the Web" -- what does that mean? XML is designed to do some jobs that HTML isn't built to handle but that really need doing. If you just want to display text, there's nothing wrong with HTML, but for automated Web processing -- enriching documents in a way that enables computer programs (like Web robots) to do something with them -- what's needed is XML.
Michael Floyd writes, "The idea behind XML is that it decouples markup syntax from presentation semantics. Combining XML with a style-sheet language like XSL allows you to overcome HTML's primitive page-layout features. If you've ever tried wrapping text around an image, creating a drop cap at the opening of a paragraph, or flowing text into a two-column format, you know what I mean. This is also the reason we haven't seen good Web page-layout tools - there's no easy or reliable way to reproduce these effects in different browsers. By separating document markup from visual presentation, XML tools can now be developed that overcome HTML's inadequate page layout."
KNOWING XML FROM XYZ
How does XML relate to Java? Jon Bosak, from Sun Microsystems, writes, "The ability of Java applets to embed powerful data manipulation capabilities in Web clients makes even clearer the limitations of current methods for the transmittal of document data. XML enables distributed processing and gives Java something to do. It is now recognized that this approach is a perfect fit with the concept of distributed Java applets, and the vision of the near future is one in which engineers can access a manufacturer's Web site and download not only viewable data on particular integrated circuits but also a Java applet that allows them to model those circuits in various combinations. HTML functions well as a markup for the publication of simple documents and as a transportation envelope for downloadable scripts. However, the need to support the much greater information requirements of standardized Java applications will necessitate the development of a standard, extensible, structured language and similarly expanded linking and stylesheet mechanisms."
Miko Matsumura, Sun's Java evangelist, writes, "Java and XML complement each other. Java provides platform-independence, XML provides application-independence; Java gives the consumer a choice of platforms, XML gives the consumer a choice of applications. XML furthers the cause of Java by furthering the cause for consumer freedom. Java provides a platform-independent coding environment, and XML provides a similar universality in terms of how it expresses and formats data. In essence, XML provides a grammar that can be used to create self-describing data file formats. Thus Java can be viewed as the universal Virtual Machine, and XML can be viewed as the universal Virtual Document. Java is a perfect architecture and vendor-neutral language for processing these architecture and vendor-neutral documents. If XML is the universal data formatting grammar, it is only proper that a universal language like Java should be used to process this data. Much in the same way that Java is the Web's powerful and universal code description language, XML is the Web's powerful and universal data grammar and syntax language, and as such, many fruitful partnerships will develop between the two. If Java is a hungry dog, XML is a meaty bone. The natural synergy of the two should provide lots of programming opportunities for Java developers."
XML has the potential to end the browser wars by giving developers the ability to create content once and distribute it anywhere.
Finally, dear reader, in closing, I will give comments on my own personal thoughts concerning XML, Microsoft and XML, and XML and Java. One of my readers believes XML is a solution in search of a problem. As you, no doubt, can perceive ... I am a big XML booster. But I see the potential for an XML Tower of Babel. A plethora, a geometric expansion of future XML DTD's, each slightly different and speaking different languages. A situation that could possibly be resolved by the entry of big players like Sun and Netscape. They would be able to resolve this by rationalizing common, standard DTD's among vertical industry groups.
Microsoft has seized upon the combination of Dynamic HTML and XML to try to somehow blunt the future success of Java as a universal programming language. Microsoft labors under the misguided notion that this combination is an attractive alternative. They're searching for anything. First of all, Microsoft abhors Java because they don't own it. They crave control, so, at this point, they're grabbing for straws. They love XML, because it is a W3C technical recommendation. Because the W3C is an international standards organization, Microsoft can flood their meetings with blue badge carrying employees spreading FUD (fear, uncertainty, and doubt) and obfuscation. I have nicknamed Microsoft "FUDzilla", in honor of a big movie this summer.
So, how does XML relate to Java? Well, all those Java applets, applications and JavaBean components now are free to munch on data transported to them via XML
Sincerely,
Mark Kuharich
Join my free e-mail newsletter called the Software View by clicking here or by sending an e-mail to thesoftwareview-owner@west-point.org