About this book
Business applications are designed using profound knowledge about the business domain, such as domain objects, fundamental domain-related principles, and domain patterns. Nonetheless, the pattern community's ideas for software engineering have not impacted at the application level, they are still mostly used for technical problems.
This book takes exactly this step: it shows you how to apply the pattern ideas in business applications and presents more than 20 structural and behavioral business patterns that use the REA (resources, events, agents) pattern as a common backbone. If you are a developer working on business frameworks, you can use the patterns presented to derive the right abstractions (e.g., business objects) and to design and ensure that the meta-rules (e.g., process patterns) are followed by the developers of the actual applications. And if you are an application developer, you can use these patterns to design your business application, to ensure that it does not violate the domain rules, and to adapt the application to changing requirements without the need to change the overall architecture. As with patterns in general, this approach allows for both more flexible and more solid software architectures and hence better software quality.
"It's a great book, marvelous in breadth and depth. An impressive achievement. I particularly liked the modeling handbook examples." Bob Haugen, Business Technology Consultant and Contributor to REA standardization in ISO, UN/CEFACT and ebXML, UK
"I enjoyed reading it very much, it gave many new insights into REA and its applications." Paul Johannesson, Stockholm University and Royal Institute of Technology, Sweden
"This book by Pavel Hruby is destined to become a landmark in business modeling. Pavel heralds the replacement of traditional workflow-oriented modeling with a new breed of approaches that focus on delivering change-resilient and highly reusable business models. I highly recommend this book to you!" Krzysztof Czarnecki, University of Waterloo, Canada