The architecture required for applications on the Web

Adam Bosworth, General Manager, Microsoft and Weblications Team


This talk focuses on why XML makes sense as a basic building block for applications on the Web and what things remain to be done. Areas covered include:
XML provides an extraordinary opportunity to build the right sort of RPC for the Web; one that is open, easy, asynchronous, and coarse grained. All that is required is a standard grammar for marshalling the arguments and describing the return strategy.
Applications require in addition to the application specific grammars some standard generic XML grammars, which are listed below.
The World Wide Web Consortium is trying to finalize a recommendation on an API known as the DOM (Document Object Model) for accessing XML data. This API must be ubiquitous, optimizable, and efficient to implement.
XML will frequently be cached on machines either in queues or in stores that allow more intelligent and rapid access. Some of these stores will need to seem to the client code to be virtual XML documents. Others will appear to be traditional queues.
XML will act as an abstraction layer or logical view layer between the implementation and other interested parties. As such mapping engines or converters are required between the actual implementation and the XML itself. There will need to be at least three types of converters:


Adam Bosworth started at Microsoft in 1989 as a group program manager. During his tenure at Microsoft, he was instrumental in building Microsoft Access, he ran ODBC for a period of time, and he developed the Database Outliner that shipped with Access Developer's Toolkit. Recently, he led the development effort for Forms3 96, the HTML forms technology for Microsoft Office '97 and the HTML Layout Control. In the prior year, Adam was been the General Manager of the Trident (DHTML in IE 4.0) project. Before coming to Microsoft, Adam built a set of VAX-based MIS systems at Citicorp, started a company, Analytica, and built Reflex (which was sold to Borland), and built Borland's first version of Quattro. Adam graduated from Harvard with a degree in Far Eastern and American History. Currently Adam is the General Manager of Weblications which builds core technology for building applications for the web and among other things is shipping XML and XSL technology for Microsoft.

On What He Thinks of Microsoft: "Microsoft is run by a smart, pragmatic guy and there isn't any bureaucracy. You get things done the best way you can with minimal nonsense. And with minimal tolerance for prima donna attitudes. And it's surprisingly entrepreneurial considering its size. It has given me the freedom to build what I envision and the staff to get it done. If I needed to build a team, I could-I've never had trouble getting resources for a good idea."

On Microsoft Excess: "If people have to work extended hours to get their jobs done, we generally allow them to order dinner on the company. Usually it's pizza or sandwiches and that's reasonable, but one time a group of maybe 14 people worked late and ordered $600 worth of sushi. Microsoft did NOT foot the bill on that one. Another manager and I split the bill. The perpetrators heard about that one-and it never happened again."

On Those Crazy Microsoft Hours: "I try to keep things balanced in my group. We try to keep a 55 hour per week model and keep crunches to a minimum. I think that's because I have an experienced team. Forty percent of our people have under five years experience and the rest all have in excess of ten years. We're unusual for Microsoft in that respect - we have lots of senior people in this group. The increased experience level increases the discipline. And most team members have one or two small children, which gives them maturity and makes it necessary for them to have some sort of equilibrium in their lives. This is a marathon team, not a sprint team."

What Adam Likes About Programmers: "They're smart. With room to run, they're incredibly creative. They can be civilized to work as a team. And forming a solid team is important to product success. Programming is a purely creative skill - it includes design and engineering. Small, creative teams that produce something that impacts a great many people. In this group, we have the opportunity to impact an incredible number of people. Especially with the Internet.

What Excites Him About His Current Project: XML is very exciting. It makes it possible to share information on the web as easily as HTML made UI. This will radically change people's ability to find and share information. We're making it possible to build pages that do all the things that applications do today. The page IS the game; no embedded control is required. It will be possible to create pages that truly feel like server apps and that live on the server, but require minimal "round trips" back to the server for more information. It provides a standard way to pour information into a client. We're working with the World Wide Web Consortium to ensure that what we do is standards-based. This stuff will make the Internet a much richer platform. Data access will be much faster and much more fun, and it will all be standards based through XML. And it will be easy to do. This will make XML the next major revolution after GUI."

Adam's Take-Home Message: XML's approach will leverage the power of the net. Distribution, reach won't be a problem. The application playing field will be leveled for the small shop developers. It will grow the PC market incredibly."