![]() ![]() |
the future of distributed services |
cbd = component-based development
|
four predictions for 2001
|
concepts | internet links |
Opportunities of distributed systems | RM-ODP ISO
10746: Reference Model for Open Distributed Processing
DSTC
RM-ODP Information Service
DSTC Enterprise
Distributed Computing page
|
Information distribution. Information is communicated between points in space-time. Delays in transmission and availability are caused by various obstructions, including: people, procedures, technology and security controls.
System distribution. Technical systems are composed of devices spread across multiple locations.
ODP represents a combination of two concepts - openness and distributed processing - seen by many as a significant aid to gaining the organizational flexibility that is sorely needed by today's business.
The vision of ODP is for an information technology which can support cooperation between geographically and organizationally distributed work groups, and which can adjust robustly to both internal pressures (business reengineering) and external pressures (environmental volatility, technological change).
For vendors, ODP offers an opportunity to provide the solutions to business problems that many of them have been striving to respond to for years but have not been successful in delivering
Business re-engineeringHe explains this in terms of the abandonment of the Adam Smith paradigm of task decomposition and supervision. |
Federation and subsidiarity |
Market transactions |
FlexibilityUse of IT to promote flexible management - 'managing by wire' [Haeckel & Nolan 1993]. |
Paradoxes of controlWhat he means by this slogan is that central top-down control in the modern corporation is an illusion. |
Simplicity |
Strategic FlexibilityInter-firm cooperation 'Liberation Management' (Tom Peters) |
Organizational FlexibilityTransient organization |
Technological FlexibilityCapability …bility |
ODP is also supposed to provide a mechanism for delivering a broad range of information services to the user, from inside and outside the enterprise to which the user belongs.
Object orientationVarious forms of transparency |
Distributed databasesMultiple ownership |
Client/server3-tier 4-tier |
Heterogeneous systems |
InteroperabilityBetween organizations |
Federated systems |
In effect, from the point of view of distributed systems, single monolithic centralized computing systems are a special case. Given sufficient knowledge, local optima may be engineered and assumptions can be relaxed but not as part of the program descriptions. Foremost is the assumption that the environment can no longer be considered to be homogeneous. The assumption that processes are remote entails an increase in the number of failure modes. It is no longer possible to consider a unified name space, and federated name spaces need to be constructed which mirror the administrative boundaries of remote systems. These considerations affect the way distributed systems are built, especially as they encourage notions of cooperation and the feasibility of constructing systems out of the requisite pieces of functionality rather than the development of massive systems with myriad options to cater for universal requirements.
Notions of openness can be divided into those that focus on technological openness, those that focus on organizational/management openness, and those that focus on market openness.
Technological openness can be characterized in the following ways:
Portability |
Interconnection |
Interoperability |
Distributability |
EvolutionSoftware engineers such as Manny Lehman have encouraged us to consider the information system, across its operational life-cycle, as an evolving object. |
UnboundednessThe ability of unexpected information, from unexpected sources, perhaps even in unexpected formats, to somehow enter the system. This relates to the notion of the open-ended incremental and continually evolving system discussed by Hewitt and de Jong. |
Low entry barriers
The ability of new competitors to 'freely' enter a market. |
Low exit barriers
The ability of competitors to 'freely' leave a market. |
In some markets (for example, banking), one of the functions of the regulator is to prevent players leaving the market without fulfilling existing obligations. This in turn may cause the regulator to restrict entry, only allowing those players whose untimely exit is improbable (or at least properly controllable).
In other markets (for example, IT), this regulatory function is performed by the companies themselves, in order to retain market respect. This is why, for example, IBM was for many years unable to withdraw commitment to the 360 architecture, or to the IMS database architecture. Such considerations in turn lead to entry inhibitions: a potentially high cost of exit may discourage entry into a high-risk market.
The assumptions about permanence and stability were certainly questioned especially in relation to problems of maintenance. The problems were, however, tackled more in terms of providing efficient tool chains based on the same paradigms rather than basing aids on a fundamental reappraisal of the purpose and policy of systems and the methods of development. Much the same comment can be made about the modifications suggested to the classic life-cycle development model.
The developer of a software artefact typically has incomplete knowledge of how it will be used, when, where, by whom, in what contexts, for what (business) purposes. Nobody has the complete picture: not the software tester, nor any individual end-user, nor any intermediary (planner, publisher, broker/trader, librarian, …).
In a closed non-distributed system, all enquiries have a definite answer. | For example, either the customer record is found, or it is not found. |
The behaviour of a component of such a system can therefore be specified using simple two-valued logic. | If condition is TRUE then action or outcome is X; if condition is FALSE then action or outcome is Y. |
In a distributed system, an enquiry may not have a definite answer. | One simple reason for this may be that a remote server containing customer data is currently unavailable. |
To specify the behaviour of a component of a distributed system, we may need to use three-valued logic. | If condition is TRUE then action or outcome is X; if condition is
FALSE then action or outcome is Y; and if condition is UNKNOWN then action
or outcome is Z.
(A logically equivalent alternative to using three-valued logic explicitly is to define lots of exception conditions. But this tends to make the specifications more complicated.) |
In an open distributed system, there are many other reasons why the results of an enquiry may be indeterminate. | For example, an Internet search using the same search engine with the same parameters may not yield the same results twice. |
Furthermore, ODP challenges the traditional double negative of testing: if a component fails to fail a test, then it must satisfy requirements.
Although often there is no fixed specification of what the software artefact is required to do, some limited testing is possible, for example:
The Open Distributed Processing standard is a reference model standard. That is it provides a framework in which component standards are placed. The framework provides concepts and languages for describing the functional components of an open distributed processing infrastructure. The same concepts and the terms of the languages are the basis of this report. Successful development of distributed applications requires more than an enabling infrastructure of computing and telecommunications. The opportunities and organizational changes consequent on the adoption of an open distributed processing approach need adjustment and rethinking of methods, design processes and tools. We use the concepts and languages from the Open Distributed Processing standard to develop a methodology of enterprise modelling and a business case methodology. to validate and quantify the options generated by the model. In a domain of distributed applications, models derived from other disciplines, but described using the concepts of open distributed processing, provide a suitable starting point for analysis.
The Open Distributed Processing standard was based on early work carried out by the Alvey project on Advanced Network Systems Architecture (ANSA) which used a notion of projections, to denote various areas of concern when describing a distributed system. In this case we are describing a system not the model of a system. The term 'projections' derives from the idea that a system is projected on to these various concerns, each having particular characteristics.
Projection |
Concern |
Enterprise
|
Purpose |
Information
|
Meaning |
Computation
|
Causality |
Engineering
|
Mechanisms |
Technology
|
Conformance |
In the Open Distributed Processing standard the projections are called 'viewpoints' and there is a strong presumption that these labels signify stages in a development cycle. It is clear that both ways of considering the viewpoints/projections are valid. Some care needs to be taken of the context or purpose in using the basic concepts.
Other application domains will make similar structured use of basic open distributed processing concepts though the actual set of concepts, models and mechanisms used are related to the domain. The domain concepts are constructed from the basic concepts. The basic notion of a distributed system is that it is a set of autonomous agents. A particular property of such agents is that they will seek information about the services carried out by other agents. A further property is that agents will seek to form co-operative alliances of various sorts with other agents. This co-operation implies that questions of legitimacy, liability, payment need to be considered together with the ability to negotiate and make binding contracts. Information about all of these issues needs to be available as part of the agent's capabilities. Information needs to be provided about the functioning of each service so that modifications can be negotiated.
open distributed processing | typical services |
We provide consultancy and training based on the SCIPIO method. Please contact us to discuss.
open distributed processing | white papers and other materials |
|
|
|
Component Ecosystems (HTML)
The context for CBD |
components, encapsulation, reuse, plug'n'play | April 1999 |
Patterns for Business, Distribution and Intervention (HTML) | patterns | March 1999 |
CBD and ODP Briefing (Acrobat file) | January 1999 | |
Software Component Quality (HTML) | quality, testing | February 1997 |
open distributed processing | recommended reading |
top | ![]() |
|
|
Copyright © 1997-2000 Veryard Projects Ltd http://www.veryard.com/CBDmain/odp.htm |