Saturday, March 19, 2005

Component-Based Business

My book on the Component-Based Business was published in 2001. At that time, Component-Based Software Engineering (CBSE) was all the rage (kindof) and I wanted to demonstrate that the same principles could be applied to the design and construction of business as to the design and construction of software.

At that time, there was a fundamental tension in the CBSE world, which I can very crudely characterize as follows: On the one hand, there were OO people who, when they thought of components at all, saw them as glorified objects. On the other hand there were the ODP/CORBA people who thought of components as inherently distributed service packages, but who were often prevented from implementing interesting and viable solutions by the prevailing technological state-of-the-art. (I did say this was a crude characterization, I know there are loads of exceptions, but still ...)

My own alignment was always with the service-oriented rather than the object-oriented. (Historical note: I worked on ANSA/ODP in the early 1990s, participating in the Enterprise Computing Project within the ODSA programme.) In my book, I talk about the fundamental principles of decomposing business into independent chunks, from a component perspective, but I also devote a great deal of space to the (sociotechnical) relationships between the chunks, and to the emergent properties of the whole ecosystem that is composed of these chunks.

In the past few years, there has been some huge shifts both in the technology itself, and in the way people are thinking about the technology. People are starting to become much more comfortable in thinking about service-orientation, and the technology is becoming more credible. For my part, I have started to talk less about the Component-Based Business and more about the Service-Based Business, but I see this as a shift in emphasis rather than a fundamental shift in perspective.

Elsewhere, some people are starting to take much more interest in the potential business impact of web services and SOA. (In terms of RM-ODP, this is a perfectly valid separation of concerns: other people can worry about the Technology and Engineering viewpoints, leaving me to devote my attention to the Enterprise and Information viewpoints.) As one indicator of this, we can see people starting to talk seriously about the component-based business as well as the service-based business. For example, IBM has been promoting a method called Component Business Modeling (CBM), which serves as a front-end to its Service-Oriented Modeling Approach (SOMA). However, based on the materials I have seen, I don't think that IBM's CBM represents the full power of the component-based business approach. (See separate posting on my Software Industry Analysis weblog.)

In my view, the main challenges of the component-based (/service-based) business include those of governance. A component-based approach must have a clear strategy for managing complexity, not just denying or suppressing complexity, and is probably going to draw ideas from complex systems engineering (systems, not software). This calls, among other things, for new kinds of modelling and new approaches to architecture.

There are two reasons why it might be a good time for me to produce an updated edition of my book.
  • This topic is now getting much hotter, and I think people may be more ready to accept some of my more radical suggestions.
  • I am now in a position to update some of the material, reference more recent technological opportunities and threats, and introduce a lot of practical business examples.
Or perhaps I should devote my energies to writing the sequel, with entirely new material, based on my more recent work. Please let me know what you think.

No comments: