| ||||||||||||
New!
Reliable Recruitment and Assembly of Services using Peer-to-peer Computing and Distributed WorkflowPresented is a scalable workflow pattern designed to support reliable assembly of services within a distributed publish/subscribe framework. This technology is introduced in the context of a distributed node-based infrastructure which is capable of robustly organizing distributed services across broad range of operating environments, and network profiles. The BBN-DASADA "Service and Contract" "language" is a technical style for dynamically discovering and assembling services into "workflow-styled" service architectures. A core feature of its design is to use feedback from DASADA gauges to adapt workflow service selections. Gauges and Services are treated alike - this permits an organic means of representing, adding to, and adapting workflows on-the-fly. The Service and Contract (S+C) workflow mediates the interactions between components, DASADA gauges and tasks. Tasks are user or application requests for service: they are the stimulus for creating/using dynamic service workflows. The S+C language consists of a workflow Logical Data Model (LDM) applied to a distributed blackboard plus the publish/subscribe events related to their use. Figure 1. illustrates the Service and Contract workflow LDM. Components may be localized to a single node or distributed across many nodes. Component interactions are managed by a distributed blackboard infrastructure (DARPA's Cougaar agent-based infrastructure). However, the pattern or interaction "language" should be portable to other event-based frameworks. The role of the Service and Contract workflow is to coordinate invocation of software components and services within a dynamic multi-node environment. Service Providers are modelled using Cougaar "PlugIns". A Cougaar PlugIn API provides to the service a publish/subscribe interface to the agent blackboard. Cougaar agents in turn link their blackboards into a large distributed "society" of blackboards. Services at nodes can be flexibly added and subtracted via the Cougaar "plug'n play" component model. Java PlugIns can be selected to customize agent/node behaviors. PlugIns can be Java components or can be proxies for local services, Gauges (which measure something about the application, the operating environment etc.), external services, processes, etc. The "Service and Contract" workflow framework is externally accessible via HTTP (XML/HTML) (for integration and visualization etc.). XML import/export capability enables transformations of workflow models into range of export/import representations (Architecture Description Languages etc.): integration and monitoring. Services are described within the system using an ontology describing services in a Resource Description Format (XML, W3C). The ontology description language is the DARPA Agent Markup Language (DAML). A benefit of using DAML is that services can be hierarchically related. This is useful in matching services at different levels of abstraction. So, for example, a request for a "Search Engine" service might be matched with a "GOOGLE Search Engine" service, etc. Service Providers are discovered, assembled, and invoked by request. An incoming task is the stimulus by which a distributed "chain of events" is started leading to the composition and invocation of a distributed workflow. A Gauge is a service that can validate application and system properties against constraint expressions. Distributed Service and Contract workflows can use gauge services to test "cross-cut" service constraints across distributed nodes. This permits adaptive "distributed service workflows" which can balance diverse and interdependent measures of performance (e.g. component, application, and system properties). The Cougaar agent infrastructure is an Open Source, DARPA funded technology with a proven track-record. Services and Service Providers (components, gauges, webervices, etc.) are modeled using a common PlugIn interface using agreed-upon language (Logical Data Model, publish/subscribe patterns) to interact. Services are described using a Resource Description Format (XML, W3C) service ontology. The ontology format has been specialized to use DARPA Agent Markup Language (DAML) language - notably Service Providers are discovered, assembled, and invoked by using a task-based workflow. | ||||||||||||
|