My CBDI colleague Lawrence Wilkes has just posted a commentary (Proprietary or What?) on the Apple/Intel controversy, pointing out some of the SOA implications.
This example also illustrates something I've discussed before - that bundling/unbundling and questions of architectural flexibility look different from different stakeholder positions. Flexibility FOR WHOM. As Lawrence points out, Apple chooses its technical architecture not purely on abstract technical arguments, but according to its view of commercial forces.
Another colleague once had an expensive German car, where he needed to replace the entire engine to fix a wonky sparkplug (or something like that). I used this example in my 2001 book and elsewhere, because it nicely illustrated some important issues about the granularity of components and the potential architectural conflict of interest between supplier and customer. The supplier deliberately constrains the ability of the customer to reuse and reconfigure, and chooses an architecture that retains control over what the customer is able to do, in support of its own commercial objectives.
This entails a very strong link from the business modelling to the architecture. Where business situations are at all complex, architectural questions of granularity and coupling/decoupling may have real business significance, and cannot be determined purely on technical grounds.
Note also that for flexibility to be maintained, it has to be exercised. Upgrades are always a bit problematic for platform vendors with a large community of independent application developers. Apple developers who have used pre-OSX services are now apparently being forced to upgrade to Cocoa. Although there might be some short-term pain for some of them, the likely medium-term benefit would be an increase in the overall flexibility and robustness of the Apple ecosystem. Furthermore, Apple is sending an important message about change and flexibility to its developer community. Perhaps it should make a point of changing chip vendor more often.
Technorati Tags: Apple Intel SOA service-oriented