BOSTON—Leading Microsoft architect Don Box said the world of services and service-oriented architectures will eclipse object-oriented programming as more developers become familiar with the technology.
Taking a cue from Brad Cox (inventor of the Objective C language), Box, XML architect with Redmond, Wash.-based Microsoft, likened objects to software-based integrated circuits and said programmers would do better to focus on services. Box spoke at the XML Web Services One conference here.
“Very few people work in a chip plant, and they all wear hairnets,” Box quipped. “There are so many more people who are needed to take the chips and put them onto boards.”
Box said object orientation is characterized by a managed development and test cycle, abstraction-driven integrated development environments (IDEs), platform constraints, and a focus on compiler technology. Service orientation is characterized by factors such as unknown integration partners. The tooling is primitive, the target platform is unknown, and it has intense security requirements, he said.
“Objects are great; theyre based on trying to put as much of the programmers thinking into the code” as possible, Box said.
Then “in 1998 we tried this thing called SOAP [Simple Object Access Protocol],” he said. Box said SOAP is “part of a larger move toward service orientation.”
Box said unlike objects, services try to introduce very few abstractions. Services assume a minimal stable and shared kernel, “and in the world of Web services, thats XML 1.0, HTTP and SOAP,” he said. In addition, service orientation assumes high-latency, low-fidelity connectivity; services composed of coarse-grained message boundaries; and services that share schemas and contracts but not types, he said.
“SOAP and service-oriented programming and service-oriented architectures all this stuff shifts the focus from types and abstractions to contracts and schemas,” Box said. “That is, we move from the world of ideas to the world of electrons.”
For Box, “Objects are to services what ICs [integrated circuits] are to devices. And were moving into this world where we want services to be replaceable, we want services to be deployed independently from other parts of the application, and theres a lot of work to be done in this space.”
Momentum for Service Orientation
Industry-wide momentum will improve current service-oriented tools and platforms, Box said. “We can do better than the current JVM [Java virtual machine] and Common Language Runtime,” he said. “Simplicity and minimalism rule the day … and services orientation kind of forces you to look at that and take it seriously.”
Box said time, distance, extensibility and standardization make abstraction expensive.
On the issue of standardization, Box said: “If I have to get two from every vendor to get onto my ark and sign up for things other than just exactly whats on the wire, Ive got a really hard problem. Its a much harder thing to sell someone on ideas and beliefs—and fictions, which is what abstractions are—versus actually talking about things that are measurable.”
Speaking of the work Microsoft has done with IBM Corp. on Web services standards, he added: “I was astonished at how long it took us to agree on so little.” Box joked that maybe the work “should have been done behind the scenes, and we shouldve gone into a smoke-filled room” to hammer out the specifications.
Box said he based his presentation on a new book he has in the works.