3.4 MOM and POP They're so great together!
Classically, MOM and POP were radically different kinds of applications, each doing things its own way with different technologies and mental models. But POP applications frequently need to include database data in their document content think of an automotive maintenance manual that has to get the accurate part numbers from a database.
Similarly, MOM applications need to include human-written components. When the dealer asks for price and availability of the automotive parts you need, the display might include a description as well.
With the advent of generalized markup, the barriers to doing MOM-like things in POP applications began to disappear. Some of the POP-like applications you'll read about later in the book appear to have invented the middle tier on their own. And now, with the advent of XML, MOM applications can easily incorporate POP functionality as well.
What is now emerging is a new generation of composite systems, dynamically serving both persistent POP information and dynamic MOM data. They use databases to store information components so they can be controlled, managed, and assembled into end-products in the same way as components of automobiles, aircraft, or other complex devices. Think of them as the MOM and POP store (Figure 3-4).5 In fact, we'd go so far as to say there is no longer a difference in kind between the two, only a difference in degree. There really is "an endless spectrum of application opportunities". It is a multi-dimensional spectrum where applications need not be implemented differently just because they process different document types. The real differentiators are other document characteristics, like persistence, size, interactivity, structural complexity, percentage of human-written content, and the importance of eventual presentation to humans.6 At the extremes, some applications may call for specialized (or optimized) techniques, but the broad central universe of applications can all be implemented similarly. Much of the knowledge that POP application developers have acquired over the years is now applicable to MOM applications, and vice versa. Keep that in mind as you read the application descriptions and case studies.
Figure 3-4 Dynamic servers: The MOM and POP store.
That cross-fertilization is true of products and their underlying technologies as well. All of the tool discussions in this book should be of interest, whether you think of your applications as chiefly being MOM or being POP. It is the differences in functionality and design that should cause you to choose one product over another, not their marketing thrust or apparent orientation. As you read the tool category discussions, you'll find remarkable similarities among tools that were developed for entirely different purposes.