RM-ODP defines and resolves many of the challenges faced by systems architects and engineers architecting a distributed computing system, large or small. This ISO standard offers powerful solutions to complex structural and semantic issues while encouraging cost-effectiveness and reusability.
Architecting with RM-ODP is a complete guide to the International Standard for software architecture of distributed systems. This book identifies the available tools that currently support RM-ODP, and paves the way for new tools that are under development in the vendor community. It also covers:
Architecting with RM-ODP provides a best-practice approach to the creation of an architectural specification using both current practices and RM-ODP. A pair of real-life case studies uniquely illustrates the principles of project development as they teach:
Systems architects, engineers, developers, program managers, and researchers will all find this definitive book an invaluable guide to the standard and its use in architecting a distributed system, testing that system, and choosing technologies for implementation that adhere to the business rules.
Click here for a sample chapter for this book: 0130191167.pdf
I. ARCHITECTING DISTRIBUTED PROCESSING SYSTEMS PRIMER.1. Open, Distributed Processing, Architecture, and Architecting.
Open System. Distributed Processing. Architecture and Architecting of Software-Intensive Distributed Processing Systems. Architecture Specification. Reference Model of Open Distributed Processing. Summary.2. RM-ODP Manager's Primer.
Motivation for RM-ODP. Benefits Achievable from Using RM-ODP. Where RM-ODP Fits in the Lifecycle. How RM-ODP Is Used. How RM-ODP Facilitates Business Specification. RM-ODP Elements for Use. Prerequisite Skill Base. Investment Needed. Summary.3. RM-ODP Architect's Primer.
More About RM-ODP. RM-ODP Concepts and Techniques for Use. How RM-ODP Is Used. Summary.4. Tools, Relationships, and RM-ODP Standard.
Tool Support and Limitations. Maturity of Use. RM-ODP Support. Relationship with OMG. RM-OSI and RM-ODP. Parts of the Standard. Summary.
II. RM-ODP CONCEPTS AND RULES, AND THEIR USES.5. RM-ODP Architecture Model.
RM-ODP Architecture Model Overview. RM-ODP Viewpoints Overview. Using RM-ODP from a Domain-Specific Perspective. Use of RM-ODP Viewpoints. Distribution Transparency. ODP Functions. Essentials of the RM-ODP Object Model. Specification Concepts and Rules. Structuring Concepts and Rules. Conformance Concepts and Rules. Summary.6. Separation of Concerns: Using RM-ODP Viewpoints.
Overview of Separation of Concerns. Using the Enterprise Viewpoint. Using the Information Viewpoint. Using the Computational Viewpoint. Using the Engineering Viewpoint. Using the Technology Viewpoint. Summary.7. Architecture Specification and Representation.
Overview. Architecture Model. Specification, Representation, and Differences. RM-ODP Architecture Specification Concepts. Summary.8. Composition and Semantics: Quality Composition Minimizing Architectural Mismatch.
Overview. Semantic Behavior. Abstraction and Refinement. Components, Composition, and Decomposition. Architectural Mismatch. Minimizing Mismatch through Behavior Specification. Summary.9. RM-ODP Functions.
Purpose of the RM-ODP Functions. Open Specification: RM-ODP Component Standards. RM-ODP Function Categories and Function Dependencies. Management Functions. Coordination Functions. Repository Functions. Security Functions. Summary.10. Hiding System Complexities: Distribution Transparencies.
Purpose. Examples. Distribution Transparencies. Viewpoint Mechanisms. Summary.11. Architecture Analysis and System Conformance Evaluation.
Purpose of Consistency. What Is Meant by Consistency. Why Consistency Is Important. RM-ODP Consistency Rules. Conformance and Compliance Testing. Summary.
III. PATTERNS FOR DISTRIBUTED PROCESSING CONCERNS.12. Enterprise Business Specification.
Importance. Using RM-ODP. Process of Specifying a Business. Healthy Hospital Enterprise Business Example Extended. Summary.13. Interaction Framework: Interoperability.
Motivation for the Interaction Framework. Interaction Framework Overview. About Interoperability. About Software Architecture Connectors. Interaction Framework. RM-ODP Definitions. Relationship Framework. Interfacing Framework. Binding Framework. Interception Framework. Behavioral Semantics Framework. Summary.14. Policy Framework.
What Is a Policy. Revisiting RM-ODP Concept of Policy. Examples of Policy Use. Policy Framework for Specifying a Policy. Tools to Represent a Policy. Summary.15. Federation.
What Is Federation. Why Federation Is Important. Considerations for a Federation. RM-ODP Constructs for Use in Specifying a Federation. Where Technology Is Today. Summary.16. RM-ODP Fault Tolerance Framework.
What Is Fault Tolerance. Importance of Fault Tolerance. Considerations to Achieve Reliability, Dependability, and Availability. RM-ODP Fault Tolerance Pattern of Reasoning. Fault Tolerant Model in UML and OCL. Summary.17. Quality of Service Model.
Purpose and Motivation. Quality of Service Example. What Is Quality of Service. Meeting QoS in Architecture. Emerging QoS Reference Model for RM-ODP. Work in the Area. Summary.
IV. ARCHITECTING FRAMEWORKS, ARCHITECTING HEURISTICS, AND CONCLUSIONS.18. Frameworks and Other Methods of Architecture.
Architecture Methodology Selection Criteria. Architecture Methods. Summary.19. Architecture Heuristics and Conclusion.
Summary of the Contents of the Book. Concepts of Architecture. Heuristics to Remember. Emerging Technologies. Some Warnings. Comparison with Other Architecture Approaches. Wrapping Up.Glossary.
To understand anything, you should not try to understand everything.
The whole is greater than the sum of the parts; the part is greater than a fraction of the whole.
Architecting is a challenging process of abstraction, composition, modularity, and simplification to create an architecture specification. An architecture specification captures the essence and definition of the system: understanding, parts, and the relationships among the parts. An architecture specification defines how a system solves a business problem within the scope of the business.
Leave the beaten track occasionally and dive into the woods. You will be certain to find something that you have never seen before.
Alexander Graham Bell
There are large gaps in the theory and practice of software architecture and engineering. Much is published about the representation of a software architecture, such as the Unified Modeling Language (UML), but little is available about the specification for a software architecture. Software engineering methods of domain engineering, process modeling languages, and well-formed patterns of reasoning aid in the specification of an architecture.
The Reference Model of Open Distributed Processing (RM-ODP) defines the standard reference model for distributed software systems architectures, based on object-oriented techniques, accepted at the international level. RM-ODP is a standard adopted by the International Standards Organization (ISO) and the International Telecommunications Union (ITU). RM-ODP is embedded and used actively in mission-critical systems industries such as in telecommunications, in health care, on Wall Street (financial services industry), in various Government systems (Logistics), in European Government Agencies such as UK Aviation control systems, as a foundation for the Object Management Group (OMG) Object Management Architecture (OMA), for defining enterprise architectures, and for defining software architectures.
The software systems architecture work that is emerging, and is focused either at the component level or at the systems level, provides a key resource for architecting. This is enhanced by the architecting techniques of RM-ODP. This book assembles these great ideas, explains what they mean, and shows how to use them for practical benefit, along with real-world case study examples. By using the RM-ODP specification constructs, associated languages, architecture patterns of reasoning, semantic behavior specification, and conformance testing abilities, readers will be able to architect their specific systems based on the RM-ODP specification foundations, and specify architectures that work.
One of the purposes of this book is to provide the approach to using the RM-ODP foundations in architecting and specifying a distributed processing system that addresses such key properties as interoperability, dependability, portability, integration, composability, scalability, transparency, behavior specification, quality of service, policy management, federation, and conformance validation.
Another purpose of this book is to explain the underlying foundations for creating an architectural specification. These foundations come not only from RM-ODP, but also from the current work in software systems architecture.
Another purpose is to guide the reader to understand the importance and benefits of creating an architecture specification for an enterprise.
Yet another purpose is to provide the reader with the principles to construct software systems architecture (at both introductory and in-depth levels).
By applying the proven techniques of RM-ODP for what makes a good architecture, readers will be able to build their own tailored architectures, and clearly represent them in UML or some other tool, with an understanding of the underlying principles.
Practitioners of RM-ODP have found that the standard is extremely beneficial in guiding architecture definition and providing standard terminology/principles for distributed object applications and infrastructures from an enterprise perspective.
This book is intended to provide valuable insight into successful architecture specification by describing an unprecedented foundation to accomplish this task, describing the use of the foundation, explaining the relationships of the concepts of architecting, explaining the relationships of the concepts of distributed processing, and identifying the right methods and possible tools for architecting.
All material for the book has been derived from actual experiences. A medical case study is used throughout the book in ever increasing detailed specification. This medical case study is based on actual experience of the author. In addition, many metamodels are provided to represent the concepts of RM-ODP. All of these metamodels are contributions from the author. This is information that readers can use and apply in their architecting today.
RM-ODP provides a reference framework, grammars, methods of abstraction and composition, and separation of concerns to achieve an architecture specification of the system. RM-ODP provides a framework for this separation, using viewpoints, as well as separating out certain decisions (e.g., product decisions) until later. Further, the reference model provides a set of definitions, which always aids in communicating with others.
There is little in the literature about RM-ODP or architecture specification, and certainly not a book dedicated as a tutorial of these subjects. Now there is. In summary, this book offers the following:
This book is designed for:
The expected audience will be novice and mid-level program managers, software engineers, those in the IEEE, DoD, research communities, consortia, and general architecture readers.
This book can be used as a textbook and reference book for studies in the methods of architecture; for graduate studies in software architecture specification; for training information about software architecture and RM-ODP; for further education of consultants, integration specialists, and acquisition managers who need to approve and fund such work; and for researchers who are expanding the discipline of software architecture.
The inclusion of RM-ODP will bring to the U.S., principally, the outstanding work that was accomplished by the international standards working group. In brief, the RM-ODP principles form a solution set and foundation for all software architecting endeavors. It is the formalized framework for this topic, and at the International Standard (IS) level of acceptance. It forms a solution set and foundation for reuse of design patterns to provide cost-effective software architecture. It is the process for this topic, but has never before been described in a book. Many program managers (who typically set the stage as to the methodology of choice for a project), software engineers, and researchers in academia and in DARPA are unaware of the power and solutions provided by the standard, or the process of identifying and instantiating reuse of all the expensive assets of architecture. Many do not realize that there is a language for specifying software-intensive distributed processing, and that language is precisely and rigorously defined in RM-ODP for reuse. Those debating definitions for architecture, system, interface, and others can reuse the internationally agreed upon definitions.
Finally, with the inclusion of RM-ODP and its relationship to other architecture frameworks, it is expected that many software engineers will benefit from reading this work, since it will be the first time these subjects are discussed in print.
This book is divided into four parts, aimed at increasing levels of detail.
The information contained in this book is organized in a manner that provides clear insight into the world of distributed software-intensive processing architecture for designers and developers who are familiar with information systems technology, but want to know more about how to build a good architecture. Starting with a tutorial about software architecture, and then a tutorial about the standard for software architecture, the reader need not be an expert in the area of international standards, RM-ODP, software architecture, or specific technologies. The book goes on to address the needs of the variety of readers for which it is intended.
Each chapter in the book provides an overview of the subject of the chapter, as well as a summary. For those who wish a broad brush exposure to RM-ODP, the primers of Part One provide this, as well as the overviews and summaries in each chapter of interest.
As each chapter progresses, in Parts Two and Three, more and more in-depth detail is provided. The readings of these chapters are aimed at those who wish to know the technical details of a topic.
There are two case studies used throughout the book, at various levels of detail. The primary case study is a Hospital enterprise, based upon the author's experience with the medical profession. A secondary case study is an airline reservation system, also based upon the author's experience. These case studies are used to describe the concepts of RM-ODP, and to show how they might be used.