Περίληψη σε άλλη γλώσσα
The Internet’s explosive growth motivates a shift from standalone single−purpose applications tonetwork−centric software systems that consist of independent and widely distributed components. Such systems use open protocols to combine the services of components in the context of workflow processes, with multiple participants utilizing diverse resources to perform tasks with data and temporal dependencies. Workflow process support is the application domain of workflow management systems, which however, due to their rigid client/server structure and their implicit assumption that they are the sole governing authority in charge of operations, fail to provide the flexibility required in order to support processes involving autonomous participants with a severely limited degree of control over each other’s internal state and procedures. In open systems, explicit agreements are required in order to establish communication channels and other necessary arrangements for co−operation. Such agree ...
The Internet’s explosive growth motivates a shift from standalone single−purpose applications tonetwork−centric software systems that consist of independent and widely distributed components. Such systems use open protocols to combine the services of components in the context of workflow processes, with multiple participants utilizing diverse resources to perform tasks with data and temporal dependencies. Workflow process support is the application domain of workflow management systems, which however, due to their rigid client/server structure and their implicit assumption that they are the sole governing authority in charge of operations, fail to provide the flexibility required in order to support processes involving autonomous participants with a severely limited degree of control over each other’s internal state and procedures. In open systems, explicit agreements are required in order to establish communication channels and other necessary arrangements for co−operation. Such agreements should also cover service−level aspects, such as access control policies, exception handling behavior, and performance−related attributes. This thesis presents the Aurora infrastructure, a step towards integrating service−level agreements in a framework that represents resources, tasks and work sessions among autonomous service−provisioning authorities. By shifting the focus from managing component state transitions, as in most previous systems, to managing asynchronous requests for performing services, the Aurora infrastructure preserves the autonomy of service providers and facilitates the composition of services without requiring tight coupling of the systems that need to be integrated for composing a service. The Aurora infrastructure supports service−level agreements that describe attributes of components related to access restrictions, exception handling capabilities, and expected performance. Service−level agreements are explicitly represented as run−time objects that encapsulate references to components that implement services. Service−level agreement objectsmediate all interactions between service providers and their customers, allowing reliable tracking of the interaction state, monitoring of conformance to commitments on service−level attributes, and automated reaction upon detecting deviations from the expected behavior. Support for service−level management in an open distributed run−time environment is the main contribution of this thesis. The OMG CORBA platform for distributed applications was used as the implementation basis. This platform was extended with a CORBA−based component model, a container execution framework, event notification services, an access control framework, and a logging/monitoring service. A directory service was developed to maintain metadata that describe components made available by independent providers and their service−level attributes. This directory service complements the functionality of the OMG CORBA Interface Repository. A scripting language, HERMES, was developed as an extension of the popular scripting language Tcl. The HERMES interpreter is a tool to assist in component configuration and interconnection, offering primitives for obtaining and managing references to CORBA objects and components, invoking state monitoring and control operations, issuing and tracking asynchronous requests, and managing asycnhronous event notifications. These extensions to the OMG CORBA platform for distributed applications are a requisite step towards an open distributed platform for service composition. Service−level agreements and the component/container framework are utilized in the development of a work session framework. Work sessions are managed collections of resources made available by autonomous providers, and enforce an access control policy specified by the collection owner. Thus, work sessions provide a resource sharing context that respects the autonomy of providers. Session resources encapsulate references either to components that directly implement services, or to service−level agreement objects that mediate the sequencing of service performance under the terms promised by autonomous service providers. In this framework, work is carried out by issuing asynchronous requests for service performance. Composite tasks that require several resources can be explicitly represented in this framework, allowing for explicit representation of the producer/consumer dependencies between session resources. This work session framework, in conjunction with the component/container framework and the service−level agreement framework, demonstrates a viable alternative to the currently predominant architecture of workflow management systems. Two case studies demonstrate the functionality offered by the Aurora infrastructure. A WWW Link Recommendation service was developed by composition of two popular WWW services, to highlight the requirements of network−centric applications, and pinpoint missing functionality in existing distributed object infrastructures. A case study from the domain of electronic commerce was developed so as to demonstrate the proposed approach in supporting interactions between service providers and customers based on service−level agreements. This case study also provided the basis for a qualitative comparison with the OMG jointFlow framework for workflow based on distributed objects.
περισσότερα