You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

This is a set of notes aimed at describing how we can update the Apache Tuscany Java SCA runtime to create an Endpoint structure to represent a configure reference or service binding.

Motivating mail thread http://www.mail-archive.com/dev@tuscany.apache.org/msg04531.html

Motivation

  1. The OSOA reference binding list was used to represent resolved/configured bindings which meant breaking the model to resolve references
  2. OASIS have a different approach to matching references/service so factoring out endpoint references/enpoints from references/services will allow a switchable algorithm to be deployed
  3. New policy model can use endpoint models as policy subjects
  4. Support late reference resolution

Scenarios

  1. Static domain - where all composites are present before nodes are started
    • as now composites will automatically be configured with unwired bindings
  2. Incremental deployment - where nodes are started with composites before the domain is complete
    • Endpoint logic will ask the domain for information required to resolve endpoint references with endpoints
  3. Service Location Transparency - a future scenario where nodes can be moved
    • Endpoint/binding logic can again be used to ask the domain for new endpoint information
    • Could just let each binding handle it but maybe some advantage to having the enpoint reference handle it by stopping/reconfiguring/starting the binding
  4. Dynamic Domain - in the future but some scenarios call for components to be reconfigured at runtime
    • Endpoint reference and endpoint concepts focus the effort of adding removing wires

Overview

Model

Callback

Promotion

Creation and Activation

Event

Action

Create/Start Node

Read Model
Resolve model
Build model
Activate Runtime
Start Runtime

Message through reference

(if not resolved) EndpointReference resolution
Build Reference Chains

Service Not Available

TBD - possible future event

Add Service

TBD - Possible future event

Remove Service

TBD - Possible future event

Action

Description

Read Model

read composite file into in-memory model

Resolve Model

resolve composite against other artifacts in the composite and domain

Build model

create the appropriate relationships between parts of the model bases on SCA validation rules, Inludes:

  • Endpoint creation
  • EndpointReference creation

Activate Runtime

Create the runtime infrastructure. Includes:

  • EndpointReference resolution
  • EndpointReference wire creation
  • Endpoint wire creation

Start Runtime

Start all runtime providers

EndpointReference resolution

Locate the services that endpoint references refer to

Build Reference Chains

use the wire configuration to build the runtime interceptor chains

EndpointReference States

State

EndpointReference

Endpoint

Wired - service unresolved

unresolved

unresolved

Wired - service resolved - binding not matched

resolved

unresolved

Wired - service resolved - binding matched

resolved

resolved

Unwired

resolved

resolved

  • No labels