Praise for Enterprise Patterns and MDA
“I’ve never seen a system of business patterns as detailed as this one. The completeness that Arlow and Neustadt provide in these patterns is impressive. The explanations for why the patterns are formed the way they are and how they’re interconnected are incredibly thorough. The patterns presented here have the potential to impact business applications in the same way the ‘Gang of Four’ patterns have impacted general software development.”—Steve Vinoski
Chief Engineer of Product Innovation
“Enterprise Patterns and MDA is a detailed, yet very readable, guide to designing business applications using reusable model components and Model Driven Architecture. It deserves a place on every application designer’s desk.”—Andrew Watson
Vice President and Technical Director
Object Management Group, Inc.
“Design patterns are generally acknowledged as an effective approach to developing robust and highly reusable software. Now that Model Driven Architecture is raising software design to ever-higher levels of abstraction, it is only natural that pattern concepts should find application in advanced modeling techniques. With this book, Arlow and Neustadt have greatly advanced the state of the art of MDA by defining both a theory and a methodology for applying the concept of Archetype Patterns to business software modeling.”—John Poole
Distinguished Software Engineer
Hyperion Solutions Corporation
“The burgeoning field of Model Driven Architecture tools and worldwide support for the Unified Modeling Language are finally being met with high-quality books that explain standard modeling techniques in a way any developer can follow. This book meets an urgent need squarely and clearly, and explains with copious examples a powerful approach to building usable (and reusable!) assets and applications. Every enterprise developer needs this book.”—Richard Mark Soley, Ph.D.
Chairman and CEO
Object Management Group
This book is a practical guide to applying Model Driven Architecture (MDA) and patterns in order to create business applications more easily. It provides you with a proven catalog of archetype patterns: high-value model components that can be easily incorporated into Unified Modeling Language (UML) models. Each archetype pattern allows you to understand and model a specific part of an enterprise system.
Enterprise Patterns and MDA teaches you how to customize any archetype pattern—such as Customer, Product, and Order—to reflect the idiosyncrasies of your own business environment. Because all the patterns work harmoniously together and have clearly documented relationships to each other, you’ll come away with a host of reusable solutions to common problems in business-software design.
This book shows you how using a pattern or a fragment of a pattern can save you months of work and help you avoid costly errors. You’ll also discover how—when used in literate modeling—patterns can solve the difficult challenge of communicating UML models to broad audiences.
The configurable patterns can be used manually to create executable code. However, the authors draw on their extensive experience to show you how to tap the significant power of MDA and UML for maximum automation. Not surprisingly, the patterns included in this book are highly valuable; a blue-chip company recently valued a similar, but less mature, set of patterns at hundreds of thousands of dollars.
Use this practical guide to increase the efficiency of your designs and to create robust business applications that can be applied immediately in a business setting.
About the Author
Jim Arlow has been programming and designing object-oriented software systems since 1990. He has created object models for blue chip companies such as British Airways and M&G. He is a respected OO consultant in Europe and has written and delivered many training courses on object technology and Java. Jim is a regular speaker at conferences such as Object World, and has been an invited speaker at University College London, City University, and the British Computer Society.
Ila Neustadt has worked in IT for British Airways for more than twenty years and has experience of all parts within the IT development life cycle. She worked in the strategy department modeling the architecture process and developing architecture training, and acted as program head for the graduate business analyst program. Ila now coordinates skills development for BA s IT staff.
Table of Contents
1 Archetypes and Archetype Patterns.
2 Model Driven Architecture with Archetype Patterns.
3 Literate Modeling.
4 Party Archetype Pattern.
5 Party Relationship Archetype Pattern.
6 Customer Relationship Management (CRM) Archetype Pattern.
7 Product Archetype Pattern.
8 Inventory Archetype Pattern.
9 Order Archetype Pattern.
10 Quantity Archetype Pattern.
11 Money Archetype Pattern.
12 Rule Archetype Pattern.
About This Book
This is a practical book that we hope will save you a great deal of time and effort in your software development projects. It gives you a set of archetype patterns and the theory you need to use them effectively. We’re planning to publish some more volumes of archetype patterns over the next few years, and because this book is the first volume, it sets the theoretical groundwork for future work on archetypes.
Archetype patterns are high-value model components that you can easily use in your own UML models. Each archetype pattern provides a solution for understanding and modeling a specific part of a business system. These patterns are valuable—a similar, but much less mature, set of patterns was recently independently valued at about $300,000 by a blue chip company. Using any one of these patterns, or even a pattern fragment, may save you many days or months of work. Even more important than this saving is the fact that each archetype pattern may prevent you from making expensive mistakes! All of the patterns presented in this volume work together harmoniously and so provide a unified pattern language for talking about selling systems. This harmony greatly adds to their value.
We think that in the year 2003, we are at the start of a revolution in software development. Much as the 1990s saw an increase in the level of abstraction from procedural to object-oriented code, we believe that this decade will see a further, and more significant, increase in the level of abstraction. This will be a change from code-centric software development to model-centric software development through the OMG’s Model Driven Architecture (MDA) initiative. We hope that the concepts, techniques, tools and patterns that we describe in this book will help us all to make this revolution in software development a reality.
One of the reasons this book came about was through boredom! After modeling for many years, we decided that we were often just doing the same old thing over and over again. At their most abstract levels, most businesses seem to be made up of the same semantic elements—Customer, Product, Order, Party, etc. In fact, so pervasive are some of these elements, that it led us to the notion of business archetype patterns. We speculated that most business systems could be assembled, like Lego bricks, from a sufficiently complete set of archetype patterns.
The essence of our vision is that archetype patterns should be treated as a type of “model component” that can be taken off the shelf, customized and instantiated in your own models. This process can be done manually, but ideally should be automated to as high a degree as possible, by using an MDA (Model Driven Architecture) tool.
Today, you can use a GUI builder to create graphical user interfaces rapidly from GUI components. The work we describe in Chapter 2 enables you to construct semantically correct and verifiable UML models rapidly from platform independent, generic, model components with a high degree of automation. We believe that this may be the future of software development. We call this “component based modeling.”
This is reuse writ large—software systems are not considered to be composed of reusable classes, reusable code components, or even reusable subsystems, but rather from the reusable semantic elements that we call archetype patterns. In fact, to a great extent the essence of the business system lies in its archetypes and their patterns, rather than in any code or design artifacts. Coding practices, design practices and even architectures come and go with technology changes, but the archetypes survive, largely unchanged, sometimes over millennia.
Why We Haven’t Done It Sooner
We have wanted to write this book for several years but there have been obstacles that we have only recently overcome. These obstacles were:
- The state of the art of UML modeling. Until the OMG’s recent Model Driven Architecture initiative, we have not really had the conceptual tools necessary to describe archetype patterns in good form.
- The problem of pattern variation—business patterns often need to adapt their form to a specific business context. We have now formulated a simple solution to this problem that allows us to create archetype patterns that are adaptable to different business environments.
- The problem of communicating UML models to a wide audience. In fact, we’ve had a good solution to this for a few years now, in the form of literate modeling (described in Chapter 3).
- UML modeling tool support. It’s all very well presenting a theory of archetype patterns, but such a theory is useful to the average software engineer only if it can be put into practice. Modeling tools have recently come on to the market that can accommodate our requirements for archetype pattern automation.
The Structure of This Book
There are four main threads to this book:
- The theory of archetypes and archetype patterns (Chapters 1 and 2)
- Pattern automation using Model Driven Architecture (Chapter 2)
- Increasing the business value of UML models by making them accessible to a wide audience through literate modeling (Chapter 3)
- A valuable pattern catalog that you can use in your own models (Chapter 4 onward)
Chapters 1, 2 and 3 provide you with the theoretical basis for the rest of the book, and you will find that they cover a lot of new material. In Chapter 1 we describe a new approach to dealing with the problem of pattern variation—how to adapt patterns for different usage contexts. In Chapter 2 we show you how you can automate the process of using archetype patterns using an MDA-enabled UML modeling tool. The first two Chapters are intimately related. The pattern automation described in Chapter 2 depends on the theory of archetypes and archetype patterns presented in Chapter 1. Chapter 3 describes the technique of literate modeling that you can use to document your patterns. This chapter is pretty much self-contained. Literate modeling is a powerful way of communicating UML models to a wide audience.
Each of the first three chapters contains a summary that reiterates the key information in the chapter in a very concise outline form. This is great for revision and it is also a useful source of bullet points for presentations.
The pattern catalog can stand alone. If you choose to use the book primarily as a pattern catalog (Chapter 4 through Chapter 12), then you can skip much of the theoretical background in the first three chapters. Use the pattern catalog as a valuable resource for your own models. Each of the pattern chapters ends with a very brief summary that lists the key concepts and archetypes introduced in that chapter. Again, we do this in outline form.
Having said that the pattern catalog can stand alone, we believe that you will be able to apply the patterns much more effectively if you have at least a basic understanding of archetype theory first. You can find all you need to know in Chapter 1. All the patterns in the in the pattern catalog are a direct result of the application of the theories and techniques described in the first three chapters. The notions of archetypes, archetype patterns, pattern configuration and literate modeling have allowed us to create much more complete and robust patterns than would otherwise have been possible. Finally, we provide a glossary of archetypes, a bibliography and a complete index.
Most Helpful Customer Reviews
He sighs im just going to leave -cloud