A Distinguished Engineer at IBM Rational software, Alan Brown is responsible for future product strategy of IBM Rational's Design and Construction products. He defines technical strategy and evangelizes product direction with customers who want to improve software development efficiency through visual modeling, generating code from abstract models, and systematic reuse. Java Pro editors talked with Brown recently about his views on the major themes in software and system modeling for 2005. (For a link to the full interview, see Resources.)
I've been spending a lot of time looking at patterns in our tooling lately—the idea of how we codify knowledge more effectively and reapply it consistently from one domain to the next. That's important because how people are going to be successful in service-oriented solutions, for example, will be based on several things, and one of those will be a successful example of how people have built services-oriented solutions. We'll try to extract some of the key ideas behind those successes and then make them available to others in usable forms.
Of course, the whole idea of patterns fits in very nicely here. What we've been looking at is, can we begin to describe both the key elements of these solutions as patterns, but also, how we plug these patterns together to solve broad problems. You can use various names for these things, so one name might be a "recipe," for example, which is a collection of interesting ingredients that you put together to solve a broader problem. We're looking at those ideas of patterns and collections of patterns that you might informally call recipes and how they would solve these problems, particularly in the space of developing service-oriented architectures.
– Alan Brown