Pieces of the puzzle

This month I've been immersed in the idyllic (if not yet widely populated) world of component-based development (CBD)—where writing code is expected to become as easy as plugging in pieces of a jigsaw puzzle. Of course, who ever said putting together a jigsaw puzzle was easy? I remember struggling for hours trying to find that last, elusive piece to fill a hole.

One trick is working from the overall image and, knowing how things are supposed to look, linking all the pieces together. Another is to break that image down into sectors based on evident properties, and work on each chunk separately. It's not so different with software development. This issue of ADT looks closely at some related methods of putting the software puzzle together.

In our cover story, "Building on Patterns," Robert Hartman looks at Pattern-Oriented Software Architecture (POSA), which provides a structured way of conceptualizing complex software systems. Hartman wrote, "To software engineers, [patterns provide] a structure within which components can be assembled meaningfully. To those responsible for system design it provides a reasoned way of stepping from requirements to design, eliminating the leap in logic that often occurs in that move. For all these players, software architecture provides a means to communicate the overall design of a system to others." In short, POSA lets us build upon the puzzle-solving skills of software developers of the past.

And in the first story in our two-part EJB Update, Peter Fischer explains how EJBs and the Java 2 Enterprise Edition (J2EE) framework can give organizations the ability to create and package integration points in an enterprise. The second, by Kamesh Namuduri and Palani Ram, looks at how designing component-based, scalable architectures using technologies that allow for code reuse can help prepare e-businesses for future growth and success.

ADT's Editorial Director, Mike Bucken, returns to our pages with a special report on Rational Software Corp., which has followed a strategy of acquisition and internal development to provide a single tool set to make figuring out each part of the software development puzzle less challenging. Its Rational Suite addresses each facet of the software development life cycle—modeling, analysis, design, content and configuration management, testing and maintaining.

We hope that this issue of ADT provides you with some ideas for your software development puzzles. Next month we'll bring you even more. See you then!