Realizing e-Business with Components
By Paul Allen
|Value for money||7/10|
|Did it do what it said on the box?||8/10|
A very good, practical book
This is a very good, practical book. I found it very readable, with just an appropriate level of textual detail in most cases. It’s the first book I read which tries to tackle the problem of modelling and understanding Enterprise-level system interactions (this predated Tony Britton’s excellent book). If anything, Paul sells it a bit short by tying it to "e-Business", since a lot of the ideas and disciplines can apply to less forward-looking Enterprises who are trying to solve traditional integration problems but who may not identify with the e-Business tag.
The early part of the book discusses the principles of component-based development (CBD), and how this can be combined with process modeling to both help improve the business, and to provide a clear model for the systems needed to support it. Importantly, Paul sees the development of both business processes and systems as something which must happen progressively, so neither has to be the subject of "big bang" changes.
The next section of the book discusses the different types of components, and their role in a typical architecture comprised of both new and legacy systems. Paul then introduces his "CBD Process Framework", a way of defining components and then "provisioning" then by the most appropriate combination of new development, purchasing and re-using existing assets.
The core of the book takes a typical business process (car rental) and develops a worked example of the various business, logical and physical models which are required to define the component architecture. The models are each taken through several stages, corresponding to an evolving e-Business process and a system which is growing incrementally. This is much more realistic than presenting the final model "as is", and allows much better understanding of how the model develops. In many ways this is the part of the book which delivers the greatest real value.
The final part of the book discusses different provisioning and funding strategies for CBD, and how an e-Business team should be structured. There’s a lot of good stuff here, which may be very useful to someone new to object- and component-based development. However if I’m honest I found this less useful, since there are better specialist books on this subject and it doesn’t hold the interest as well as some of the earlier sections.
As an Appendix, Paul presents descriptions of all the major component technologies, and all the major UML-based modelling techniques. This could be a valuable reference for anyone.
I have one slight reservation on the book’s core – Paul follows a convention in which an "interface" is a collection of types, and says that "by convention" the interface includes access to all the types. This is a bit different to the Microsoft model, for example, and may make it more difficult to establish good navigation around the object model, or to support "stateless" models. However, this is something to be aware of rather than something which should detract from what is otherwise a very useful tutorial.
I like this book. The worked examples of developing the e-Business model are excellent, so much so that I now recommend this book to anyone trying to model such things using UML.