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

Compare with Current View Page History

« Previous Version 9 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

Creation and Activation

  • Create
    • Endpoint reference and endpoint models are created at build time
  • Activate
    • Create the endpoint wires
    • Create the endpoint reference wires (eventual target service may not be known)
  • Start
    • Start bindings
  • Invoke
    • Endpoint - create chains when first message arrives
    • Endpoint reference
      • If endpoint resolved go ahead and created chains
      • If endpoint not resolved try and resolve it and then create chanings
  • ServiceUnavailable at endpoint reference
    • repeat the endpoint reference resolution step
  • Resolve
    • There is a separate phase that resolves endpoint references to endpoints in the domain this can be run at build time but may be required later also
  • No labels