The Reference Model of Open Distributed Processing (RM-ODP) is an international standard that provides a solid basis for describing and building widely distributed systems and applications in a systematic way. It stresses the need to build these systems with evolution in mind by identifying the concerns of major stakeholders and then expressing the design as a series of linked viewpoints.
Although RM-ODP has been a standard for more than ten years, many practitioners are still unaware of it. Building Enterprise Systems with ODP: An Introduction to Open Distributed Processing offers a gentle pathway to the essential ideas that constitute ODP and shows how these ideas can be applied when designing and building challenging systems. It provides an accessible introduction to the design principles for software engineers and enterprise architects. The book also explains the benefits of using viewpoints to produce simpler and more flexible designs and how ODP can be applied to service engineering, open enterprise, and cloud computing.
The authors include guidelines for using the Unified Modeling Language (UML) notation and for structuring and writing system specifications. They elucidate how this fits into the model-driven engineering tool chain via approaches, such as Model-Driven Architecture® (MDA). They also demonstrate the power of RM-ODP for the design and organization of complex distributed IT systems in e-government, e-health, and energy and transportation industries.
All concepts and ideas in the book are illustrated through a single running example that describes the IT support needed by a medium-sized company as it grows and develops. Complete UML models and more are available at http://theodpbook.lcc.uma.es/
| List of Figures | p. ix |
| About the Authors | p. xiii |
| Foreword | p. xv |
| Preface | p. xxi |
| The Framework | p. 1 |
| What Is ODP About? | p. 5 |
| The ODP Reference Model | p. 8 |
| Viewpoints | p. 10 |
| Fundamental Concepts | p. 16 |
| Useful Building Blocks | p. 21 |
| Service Orientation | p. 22 |
| Human Computer Interaction | p. 23 |
| The Right Tools for the Job | p. 24 |
| The Viewpoints | p. 29 |
| Enterprise Viewpoint | p. 33 |
| Designing with Communities | p. 34 |
| Identifying Roles | p. 36 |
| Organizational Structure | p. 37 |
| Roles and Role Filling | p. 39 |
| More than One Community | p. 41 |
| Community Behaviour | p. 44 |
| Accountability and Related Concepts | p. 49 |
| Quality of Service and Other Constraints | p. 50 |
| Identifying the System's User Interfaces | p. 51 |
| Writing Enterprise Specifications | p. 52 |
| Information Viewpoint | p. 55 |
| The Primacy of Information | p. 56 |
| The Elements of the Information Language | p. 57 |
| Writing Information Specifications | p. 59 |
| Structure of the Information Specification | p. 64 |
| Relationship with Other Viewpoints | p. 65 |
| Computational Viewpoint | p. 67 |
| Designing with Computational Objects | p. 68 |
| Computational Objects | p. 69 |
| Bindings | p. 71 |
| Interactions between Computational Objects | p. 73 |
| Environment Contracts and Transparencies | p. 75 |
| Writing Computational Specifications | p. 76 |
| Relationship with Other Viewpoints | p. 86 |
| Engineering Viewpoint | p. 89 |
| What Is the Engineering Viewpoint For? | p. 90 |
| Objects and Distribution | p. 91 |
| Node Architecture | p. 93 |
| Channel Architecture | p. 96 |
| Common Functions and Processes | p. 98 |
| Writing Engineering Viewpoint Specifications | p. 101 |
| Incorporating Current Technologies | p. 102 |
| Relationship with Other Viewpoints | p. 102 |
| Technology Viewpoint | p. 105 |
| Linking to the Real World | p. 106 |
| The Elements of the Technology Language | p. 107 |
| Relationship with Other Viewpoints | p. 112 |
| Correspondences - Joining It All Up | p. 113 |
| The Need for Correspondences | p. 114 |
| Different Kinds of Correspondence | p. 115 |
| Correspondences Required by the ODP Architecture | p. 116 |
| Anatomy of a Correspondence Specification | p. 118 |
| Taking a Formal View | p. 119 |
| Examples of Correspondences | p. 122 |
| Tool Support for Specifying Correspondences | p. 122 |
| Using ODP | p. 125 |
| Conformance - Does It Do the Right Thing? | p. 129 |
| Compliance and Conformance | p. 130 |
| A Conformance Community | p. 131 |
| Types of Reference Point | p. 133 |
| Conformance to Viewpoint Specifications | p. 135 |
| Claiming Compliance or Conformance | p. 137 |
| Transparencies - Hiding Common Problems | p. 139 |
| What Is a Transparency? | p. 140 |
| Types of Transparency | p. 142 |
| Transparencies and Viewpoints | p. 144 |
| Policies - Tracking Changing Requirements | p. 147 |
| Why Do We Need Policies? | p. 148 |
| What Is a Policy? | p. 149 |
| Implementing Policy | p. 152 |
| Federation - Talking to Strangers | p. 155 |
| How Does Interoperation Work? | p. 157 |
| Interpreting and Sharing Information | p. 159 |
| The Basis of Interoperation | p. 160 |
| Engineering the Federation | p. 162 |
| Federating Type Systems | p. 164 |
| Federating Identity | p. 164 |
| Legacy Systems | p. 165 |
| Interoperability or Integration? | p. 165 |
| Using Existing Products | p. 167 |
| What Does This Product Do for Me? | p. 168 |
| Supplier and User Views | p. 169 |
| Competing Sets of Viewpoints | p. 172 |
| System Evolution - Moving the Goalposts | p. 175 |
| Coping with Change | p. 176 |
| The Importance of Tool Support | p. 176 |
| Making Changes to Viewpoints | p. 177 |
| Avoiding Synchronized Transitions | p. 178 |
| Evolution of the Enterprise | p. 180 |
| Version Control | p. 181 |
| Moving On | p. 183 |
| Modelling Styles | p. 187 |
| The Importance of Formal Models | p. 188 |
| What Is a System? | p. 189 |
| Modelling Open or Closed Worlds? | p. 190 |
| Capturing Requirements | p. 192 |
| Expressing Obligations | p. 193 |
| Expressing Semantics | p. 194 |
| Sharp Tools | p. 195 |
| What Should a Tool Do? | p. 196 |
| Model Editors and Analysis Tools | p. 197 |
| Model-Driven Approaches | p. 198 |
| Model Transformations | p. 200 |
| Languages for Transformations | p. 201 |
| Viewpoints and Transformations | p. 202 |
| More Integration | p. 205 |
| A Broader View | p. 207 |
| Where to Look Next | p. 207 |
| Integration of Other Standards | p. 208 |
| Uses of ODP | p. 208 |
| Tools | p. 211 |
| Comparing Enterprise Architectures | p. 212 |
| Coda | p. 215 |
| Appendices | p. 217 |
| The PhoneMob Specifications | p. 221 |
| Enterprise Viewpoint Specifications | p. 222 |
| Information Viewpoint Specifications | p. 226 |
| Computational Viewpoint Specifications | p. 227 |
| Engineering Viewpoint Specifications | p. 228 |
| Technology Viewpoint Specifications | p. 230 |
| Correspondences | p. 231 |
| Selected Exercises | p. 235 |
| Selected Scenarios | p. 235 |
| Some Additional Questions | p. 237 |
| Bibliography | p. 239 |
| Index | p. 247 |
| Table of Contents provided by Ingram. All Rights Reserved. |
ISBN: 9781439866252
ISBN-10: 1439866252
Series: Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series
Audience:
Tertiary; University or College
Format:
Hardcover
Language:
English
Number Of Pages: 284
Published: 1st September 2011
Dimensions (cm): 23.5 x 15.6
x 2.2
Weight (kg): 0.518