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."