Open Distributed Processing Davide Rizzo Open Distributed Processing
Open Distributed Processing Davide Rizzo Open Distributed Processing
Summary l l Why ODP? What is ODP? Reference Model for ODP Consistency of Viewpoint Specifications Open Distributed Processing
Why ODP? l Open l Distributed l Processing Open Distributed Processing
Integration among services and resources Open Distributed Processing
A possible solution l l l Capture the representation form of data, the transport protocol for that data, the location algorithm of a service provider etc. Common services: by grouping together the properties of different services and gaining an agreement on these, the amount of heterogeneity in a distributed systems can be structured in a controllable way A framework for system specification is needed that supports such a structuring of the features of distributed systems into common services: this is provided by ODP standardization Open Distributed Processing
What is ODP? l l l Anaarchitectural framework describes method foran object Is standardization activity by ISO aproviding designing reference an information system terms of a set of building oriented model for in open distributed system blocks, and for showing how the building blocks fit together. It Its objective enablevocabulary the construction of distributed should provideisa to common systems in a multi-vendor environment through the provision of a general architectural framework that such systems must conform to Describes systems that support heterogeneous distributing processing both within and between organizations through the use of a common interaction model (Reference Model of ODP - 1995) Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess • portability : i. e. , the ability to execute Integration different components on different processing nodes without modification Flexibility • interworking : i. e. , the ability to Modularity support meaningful interactions Federation between components, possibly residing in different systems Manageability Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess • Incorporating various systems and Integration resources into a whole without costly ad-hoc developments Flexibility • It covers, for example, integration of Modularity systems with different architectures, Federation different resources of different performance. Manageability • Helps to deal with heterogeneity. Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess • Supporting a system’s evolution, Integration including the existence and continued operation of legacy systems Flexibility • An open distributed system should Modularity be capable of being dynamically Federation reconfigured to accommodate changing circumstances. Manageability • Helps to deal with mobility. Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess Integration • Parts of a system are autonomous, Flexibility but interrelated Modularity • It is the basis for flexibility Federation Manageability Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess Integration • Combining systems from different Flexibility administrative or technical domains to Modularity achieve a single objective Federation Manageability Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess Integration • monitoring, controlling and managing Flexibility system’s resources in order to support Modularity configuration, Qo. S and accounting policies. Federation Manageability Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess Integration • Meeting a set of quality Flexibility requirements on the system’s Modularity behaviour Federation Manageability Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess • Ensuring that system facilities and data Integration are protected against unauthorised Flexibility access. • The security requirements are made Modularity more difficult to meet by the remoteness Federation of interactions and the potential mobility Manageability of parts of the system and of the system users. Provision of quality of service Security Transparency Open Distributed Processing
Properties of ODP systems l ODP standardization enables the building of distributed systems with the following properties: • • • Openess • Masking from applications the details Integration and the differences in mechanisms used to overcome problems caused by Flexibility distribution. Modularity • This is a central requirement that arises Federation from the need to facilitate the Manageability construction of distributed applications. Provision of quality of service Security Transparency Open Distributed Processing
Realization of ODP l l l There cannot be an single, common infrastructure that provides all of the properties that distributed systems require There is also a need for a framework describing infrastructure components and showing how they fit together The development of a framework for system specification and the corresponding infrastructure components is the general goal of the ODP standardization Open Distributed Processing
Principals Concepts of the ODP • Transparencies: determine how the end users • Implement • see the system, or more precisely, what they don’t see of the system Viewpoints: a division of system specification in order to simplify the description of complex systems Functions: mask the complexity of a distributed system both user and programmers and connect processes and services Open Distributed Processing Use
Transparencies – general concepts l l l The programmers and end users should not need to be concerned with the nature and means of distribution Programming and use of a distributed application appears exactly the same as if the application were not distributed at all Uniform view of a system for the end users It’s ODP’s abstraction mechanism Presents a view of what is happening, but hides the how it is happening Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • Masks the differences between • failure transparency two or more communicating • location transparency objects • The differences could be in the • migration transparency data representation or in the mechanism between • persistence transparency invocation the objects. • relocation transparency • Is provided by an ODP • replication transparency engineering channel • transaction transparency Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • Enables fault tolerance in an • failure transparency object or shields an object from • location transparency failures in the objects environment. • migration transparency • Can be implemented by several One such function is • persistence transparency functions. the replication function wich • relocation transparency replicates an object • replication transparency • transaction transparency Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • Masks the location of an object • failure transparency in space. • location transparency • Depends on chosing a location independent naming scheme. • migration transparency • Enables the named entities to moved, without notifying all • persistence transparency be parties who carry a reference to • relocation transparency the entity of the changed • replication transparency reference • transaction transparency Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • failure transparency • location transparency • migration transparency • persistence transparency • relocation transparency • replication transparency • transaction transparency • Masks changes of location of an object • Depends on the migration function • Before migration, an object will be checkpointed, and deleted from its original location • Once the object is moved, other objects depend on the relocation transparency to find the object again Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • failure transparency • location transparency • migration transparency • persistence transparency • relocation transparency • replication transparency • transaction transparency • Mask from an object the deactivation an reactivation of objects including itself • An object does not need to be concerned with loading an object from persistent store before using it • Depends on the deactivation and reactivation function Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • failure transparency • location transparency • migration transparency • persistence transparency • relocation transparency • replication transparency • transaction transparency • Masks the relocation of an object from other objects that are referring to it • If objects are connected via a channel, and one object is relocated, the channel is reconfigured to the new location of the object • Is provided by the relocation function Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • failure transparency • location transparency • migration transparency • persistence transparency • relocation transparency • replication transparency • transaction transparency • Replicates objects in different locations to provide fault tolerance and enhanced performance by better access of data • Is provided by the replication function Open Distributed Processing
ODP Transparencies l l Are implemented by ODP functions The ODP transparencies are: • access transparency • failure transparency • location transparency • migration transparency • persistence transparency • relocation transparency • replication transparency • transaction transparency • masks the coordination between a set of objects required to achieve consistency properties of the objects • Is provided by the transaction function Open Distributed Processing
ODP Viewpoints l l l Provide a framework for specifying ODP systems They are not of concern to end users (viewpoint have nothing to do with the end users view of a system: transparencies provide this) Are not independent, but partial view of the complete system specification Distributed system are viewed to be so complex that a process of separation of concerns must be employed when describing such system (“Divide and conquer”) Multiple viewpoint enables different partecipants each to observe a system from a suitable prospective and a suitable level of abstraction Open Distributed Processing
Viewpoints Languages l l l Are associated with a viewpoint They may utilises a different notation, that is best suited for describing a particular area They consist of: • • a set of definitions a set of rules, wich constrain the ways in wich the definition can be related Open Distributed Processing
Development by viewpoints • Embraces all techniques that involve adding more detail to the specification • For example, by including more requirements or by resolving implementation choices Open Distributed Processing
Development by viewpoints • A specification in one viewpoint may need to be translated into a specification in another viewpoint. • This is because each viewpoint may utilises a different notation or language, that is best suited for describing a particular area Open Distributed Processing
Development by viewpoints • Is a relation between specification at the same level of abstraction. • Two specifications are equivalent in case they capture precisely same requirements Open Distributed Processing
Development by viewpoints • A collection of viewpoint specifications may be integrated into one specification • Each viewpoint presents a partial description of the implementation • The ultimate aim is to develop an implementation that satisfies all viewpoints Open Distributed Processing
Development by viewpoints • Is a relation between any number of specifications, not necessarily at the same level of abstraction • Specifications are consistent with each other, whenever it is possible to find at least one implementation that satisfies them simultaneously Open Distributed Processing
The RM-ODP framework Open Distributed Processing
ODP Viewpoints l l l enterprise viewpoint concerned with the business activities of the specified system information viewpoint concerned with the information that needs to be stored and processed in the system computational viewpoint concerned with the description of the system as a set of objects that interact at interfaces – enabling system distribution engineering viewpoint concerned with the mechanism supporting system distribution technology viewpoint concerned with the components from which the distributed system is constructed Open Distributed Processing
ODP Functions l l l Provide some building blocks to assemble ODP systems They are a collection of functions expected to be required in ODP systems to support the needs of the computational language (e. g. trading function) and engineering language (e. g. the relocator) There is not a simple mapping between transparencies and functions • l For example, the relocation transparency is exactly what tje relocation function provides, but some transparencies are more implicit in an ODP system, and do not require the support of a function Similarly, many functions provide functionality that is not necessarily a transparency Open Distributed Processing
ODP functions l The ODP functions are categorised into four groups: • management functions • coordination functions • repository functions • security functions Open Distributed Processing
ODP functions l The ODP functions are categorised into four groups: • management functions • Node management function • Capsule management function • Cluster management function • Object management function • coordination functions • repository functions • security functions Open Distributed Processing
ODP functions l The ODP functions are categorised into four groups: • • management functions coordination functions • • • Event notification function Checkpoint and recovery function Deactivation and reactivatin function Group function Replication function Migration function Engineering interface reference tracking function Transaction function ACID transaction function repository functions security functions Open Distributed Processing
ODP functions l The ODP functions are categorised into four groups: • management functions • coordination functions • repository functions • Storage function • Information organization function • Relocation function • Type repository function • Trading function • security functions Open Distributed Processing
ODP functions l The ODP functions are categorised into four groups: • • management functions coordination functions repository functions security functions • Acces control function • Security audit function • Authentication function • Integrity function • Confidentiality • Non-repudation function • Key management function Open Distributed Processing
Software development process in ODP l l The development process is decomposed according to viewpoints Each viewpoint deals with a particoular area of concern and, therefore, focuses on those aspects of the system under development that are relevant to that area of concern Open Distributed Processing
Consistency between viewpoints l l The five viewpoints specifications must be linked by defining the relations between key terms in them. It is these statements of the relationships between veiwpoints that make them specifiy a single system, rather than being completely independent documents Many of the links will be provided implicity by the notations used, resulting from correspondence between names. However, some of the key constraints need to be stated explicitly Constraints are placed on the relations between terms in the viewpoint language themselves, establishing some limits on the mappings which can be established Most of the constraints placed are between terms in the computational and engineering languages Open Distributed Processing
Example of consistency between viewpoints If such correspondence cannot be established, then the two different description are not consistent, and should be refined untile a correspondence can be demonstrated Open Distributed Processing
Enterprise viewpoint consistency vs. other viewpoints l l l The enterprise language should serve as the basis for specifying enterprise goals which must be reflected directly or indirectly in all other viewpoint specifications. The enterprise viewpoint describes, explicitly, the objectives of the system in the context of the organization in terms of members, roles, actions, purposes, usage and policies. Therefore, an information, computational, engineering or technology viewpoint specification is consistent with an enterprise specification if all the roles, activities, and policies described in the enterprise specification are correctly reflected. For instance, dynamic schema defined in an information specification must obey the policies described in the enterprise specification. Different roles identified in the enterprise specification may be supported by different computational objects, having different transparency requirements. Thus, transparency needs for each role in the enterprise specification should be reflected by the use of the corresponding transparency mechanism in the engineering specification Open Distributed Processing
Correspondence between computational and engineering viewpoints Open Distributed Processing
Other concerns in ODP System l l Formal Descriptions Consistency between viewpoints described with different notations Conformance assessments Other ODP projects: • INTAP, which uses UML Profile for EDOC • (Enterprise Distributed Object Computing) from OMG and RM-ODP viewpoints ATA, architecture which respect ODP standards Open Distributed Processing
INTAP: example of enterprise viewpoint Open Distributed Processing
INTAP: example of enterprise viewpoint Special icon is used to represent role of the community in the diagram Open Distributed Processing
INTAP: example of enterprise viewpoint The behavioral part of the community could be specified with UML Collaboration. Open Distributed Processing
INTAP: example of information viewpoint Instance model description Open Distributed Processing
INTAP: example of information viewpoint Structured class diagrams for instance model Open Distributed Processing
INTAP: example of information viewpoint Dinamic schema Open Distributed Processing
References l l l ODP Reference Model ftp: //ftp. dstc. edu. au/DSTC/arch/RM-ODP/PDFdocs/ Reference Model of Open Distributed Processing (RM-ODP): Introduction Kerry Raymond - kerry@dstc. edu. au http: //archive. dstc. edu. au/AU/research_news/odp/ref_model/papers/icodp 95. ps ODP: Unplugged! Ian Joyner http: //homepages. tig. com. au/~ijoyner/ODPUnplugged. html RM-ODP: The ISO Reference Model for Open Distributed Processing Antonio Vallecillo - av@lcc. uma. es ETSI Informática. Universidad de Málaga http: //www. enterprise-architecture. info/Images/Documents/RM-ODP. pdf FDTs for ODP Howard Bowman, John Derryck, Peter Linington and Maarten Steen Computing Laboratory, University of Kent, Canterbury http: //www. cs. kent. ac. uk/research/groups/tcs/consistency/talk. ps. gz Applying EDOC and MDA to the RM-ODP Engineering and Technology Viewpoints An Architectural Perspective David Frankel Consulting http: //www. net. intap. or. jp/e/odp-techguide. pdf Open Distributed Processing
- Slides: 54