Web Services and XML Archives
Is binary XML an oxymoron?
Posted by jbob on March 23, 2005 at 12:53 PM | Permalink
| Comments (13)
news.com recently reported that A W3C committee is recommending that the group create a standard for a binary XML format. The problem they are trying to solve is the inherent inefficiencies of text.
Is this a memory lapse?
It seems we've forgotten what the notion of a Markup Language is all about. XML, like other markup languages such as HTML and WML, tag portions of text documents for one reason or another. HTML marks up text for formatting purposes and XML marks up text to make data embedded in a text document more machine readable.
All of these things are about making documents more useful. Formating documents, embedding data in documents, etc, is the purpose of markup languages.
The other thing we are forgetting is that binary formats are platform optimized. This optimization is a leading cause for incompatibility between dissimilar systems.
Finally, does anyone actually expects there to be a single binary standard if the WC3 actually pursues this? Many in the industry, including Microsoft, are already calling for multiple binary standards for XML.
Multiple binary standards for XML?! This whole thing is becoming a mess before it gets out of the gate.
I like XML. I think it's useful for certain purposes and use it myself for configuration files and for storing offline data. The things that make XML particularly useful are that it's human readable and that it is a standard. Daniel Steinberg provides an excellent example of why human readable data is valuable in his 2003 article on transforming iCal files with Java on O'Reilly's Mac Dev Center site.
I believe the problem with Binary XML movement is that, once again, we are looking for a silver bullet. There are no silver bullets and XML is also not one. Rather than embracing a wonderful technology for what it's good for, we will wind up jeopardizing it as we try to get it to do things that it isn't well designed for. The Fast Infoset Project (FI) provides some immediate relief for document size and performance. I think FI is solving the problem correctly.
All of this reminds me of when the whole Web Services craze started. Everyone just stopped thinking. Everything needed to be XML and everything needed to be Web Services. It was crazy.
During the early years of web services I would give talks to people deciding when and if to adopt emerging technologies. I typically praised XML and warned against what I thought was inefficient use.
4+ years later, my position remains the same. Given the current state of Internet and Wireless bandwidth along with text processing performance, it just doesn't seem desirable to use text as the basis for high volume data transmissions. Text is fat and inefficient for high volume use. Additionally, to secure that text, you must encrypt it which adds additional bandwidth, processing, and memory overhead.
I think the FI project is fixing the problem in the right place and is better than pretending we can all agree on a single binary format for XML. Eduardo Pelegri describes Fast Infoset in his blog as "GZIP for XML" and I think this is the right approach.
Let's use XML for what's it's good at and get better at using it. This includes more efficient document design. Don't put everything including the kitchen sink in your messages/documents and learn to normalize your documents and messages. I believe the answer is a new efficient standard or improvements in text compression and processing.
Whatever happens, I'm counting on Java to continue to make it easy for me to manage and process XML.
Thanks for reading.
The java.net Fairness Board
Posted by jbob on June 17, 2004 at 10:35 AM | Permalink
| Comments (0)
Nominations begin this Sunday for a seat on the java.net Fairness Board. Here is a description of the Fairness board and how the election process works.
What is the Fairness Board?
java.net's governance defines several Boards to help ensure the community runs smoothly and fairly. One of them is the java.net Fairness Board.
The java.net Fairness Board consists of three (3) members and provides oversight for critical java.net activities to ensure that java.net operates in a fair way and follows the java.net Guiding Principles. Their responsibility and authority includes:
- Settle any dispute between members of java.net regarding the application of the Guiding Principles.
- Review java.net processes and policies to make sure they are consistent with the Guiding Principles.
- Review all changes to java.net Governance.
- Manage an appeals process for members who dispute a decision made by the Community Manager.
One seat on the Fairness Board is appointed by Sun and is currently filled by Ron Goldman. The remaining two seats each have two year terms and are elected by the community. The terms of the elected seats are staggered so that only one of them is up for election each year. Rob Clark and Ken Arnold were invited to fill these seats when java.net launched last June.
As announced in a previous weblog, one of the two elected seats is up for election this year.
How will the election be run?
This is the first election on java.net and here is some important information on how it will run:
- java.net Elections will follow this time line:
- Week 1: Election Announcement (Week of June 14)
- Week 2 & 3: Nomination Period (June 20 - July 3)
- Week 4: Candidates Announced (Week of July 5)
- Week 5: Election (July 11 - July 17)
- Only java.net members can vote and be nominated. Any java.net member can be nominated and all java.net members are encouraged to vote.
- A voting project has been created to facilitate all elections.
- Nominations will be done by posting the name and java.net ID of the nominee to a specified forum in the voting project during the nomination period.
- java.net Members will vote for candidates by emailing the name and java.net ID of a candidate to the vote mail list.
- The candidate that receives the most votes during the Election period will be declared the winner.
- Election results will be announced the week after the Election period has passed.
More information on the upcoming election can be found in the voting project. You can also learn more about the Fairness Board in our governance.
Visit our Voting on java.net page to understand more about voting.
java.net Monthly Report - March 2004
Posted by jbob on April 01, 2004 at 08:59 PM | Permalink
| Comments (0)
Starting today you can find monthly reports for java.net in the java-net project's file sharing section in the Monthly Reports folder. Here are some highlights:
- Membership has been increasing in an ongoing and steady pace. In March java.net membership grew by 4,794 new members for a total of 41,661. That is one of our best monthly increases so far!
- Will Iverson and Michael Champion have agreed to join the Java Web Services and XML community as community leaders. Look for some cool changes and additional activitiy there.
- O'Reilly and Associates was a finalist in the recent JOLT! awards for the outstanding job they are doing for java.net.
- Thanks to everyone who has helped revise our initial governace. The revisions are currently being reviewed. The 2.0 release will be posted soon.
The March monthly report also includes other statistics, news, events, and a look at the month ahead. Please check it out.
Web Services: The glue or just more rock and scissors?
Posted by jbob on September 23, 2003 at 09:45 AM | Permalink
| Comments (5)
XML and SOAP messages may mask the the underlying infrastructure from developers but the data center still needs to be brand aware.
There are many conversations on the topic of Java vs. .NET and how Web Services might be the holy grail or glue to bring it all together. Philip Brittan points out some interesting things in his Microsoft and Web Services weblog entry that got me to thinking about this.
At the end of the day, customers need to do 2 things:
- Run application X (In a typical enterprise, it is more like application X to some power)
- Better manage the cost of the infrastructure required to run application X
The sheer number of applications needed within the enterprise brings with it complexity and integration issues that are daunting. Enter Web Services. The nice thing about Web Services is that application X and application X' (along with their developers) do not need to know that much about the other in terms of language or Operating System, or platform. In theory, as long as all applications can send a receive SOAP based XML messages intelligently they should have no opinion regarding how the other applications are constructed.
So, In the B2B world, Web Services makes it easier to connect applications in the same way that TCP/IP made it easier to connect systems (This analogy will be important later). Internally, Web Services just gave your developers a reason to "roll their own" and not standardize on a middleware platform. Applications no longer need to be on the same platform to work well together, so, developer's can go back to picking the OS or platform de Jour that will best pad their resume.
Enter the datacenter. Nothing has changed for these underdogs. They still need to figure out how to get all of these incompatible brands to work together. What is important to them is:
- Reduce the cost and wide variety of skill sets required to support application X
- Standardization of infrastructure to reduce duplication
Web Services, today, does not help the datacenter. It does not drive standardization across infrastructure. I think it does the opposite because developers no longer have a catalyst to use a common platform. They can get their applications to work together regardless of what they are written in or what they run on.
So, if you think that Web Services removes the burden of picking a platform you are dead wrong. The .NET middleware stack and the J2EE middleware stack do not integrate (easily or without a lot of voodoo). At the very least, it's safe to say that "Web Services infrastructure" does not connect as easily as TCP/IP infrastructure.
Using both .NET and J2EE, as I hear so many enterprises claim, will actually drive up costs because there will continue to be silos and duplication across platforms. It will also be the leading cause of suicides among datacenter managers.
Ironically, Microsoft (who's solution is based on .NET) and IBM (who's solution is based on J2EE) love telling people how they work together to solve customers issues using Web Services as the glue. I'd say they are rock and scissors. The only question is which will cut you and which is the blunt object.
-jbob
|