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

Compare with Current View Page History

« Previous Version 14 Next »

Contribution Preparation

Description:

Helps prepare contributions/composites for running across the nodes in a domain. Steps here could all be done manually by editing of the individual composite files.

input:

run the workplace
add contributions

steps:

  1. add/list/remove contributions/composites/nodes
  2. analyze/resolve/validate contributions and their dependencies
  3. include composite (from the contributions above) in a domain
    1. A matter of selecting which composites will be top level composites in the domain
  4. associate composites with nodes/apply physical binding defaults/propagate physical addresses based on domain level wiring
    1. Read in node model - which provides
      1. Mapping of composite to node
      2. Default configuration of bindings at that node, e.g. the root URL required for binding.ws
    2. For each composite in the domain (assuming I have access to the resolved composite model)
      1. Find, from the node model, the node which will host the composite
      2. for each service in the composite
        1. find each binding in the service
          1. Take the default binding configuration and apply it to the binding
          2. What to do about URLs as they may be either
            1. Unset
            2. Set absolutely
            3. Set relatively
            4. Set implicitly (from WSDL information)
  5. read/compile-build/write composites without requiring a runtime

output:

contributions/composites configured for running on nodes

Node Start

input:
run the node.exe

steps:
Load extensions
create runtime artifacts (builders, activators etc)
Load definitions.xml

output
running node awaiting contribution/composite to run

Process Contribution

input:
a contribution jar or file system directory

steps:
Contribution Read

  1. Find all artifacts in the contribution
  2. Read each artifact and create a model (apart from composites which are done later)
  3. Aggregate all definitions.xml files
  4. Read composites
  5. Enhance composite with policy sets based on appliesTo information
    1. For each composite file read the xml content first...
      1. For each policyset in the domain...
        1. Extract the value of 'appliesTo' attribute with is an xpath expression
        2. Evaluate this expression against the composite xml
        3. For each node that results out of the above evaluation
          1. if the node contains an attribute named 'applicablePolicySets'
            1. concatenate to its value, the name of the PolicySet
          2. else
            1. create an attribute named 'applicablePolicySet' and set its value to the name of the PolicySet
    2. Wherever applicable the composite's elements will have the additional attribute name 'applicablePolicySets'.
  6. Parse composites into in memory assembly model

Contribution Resolution

  • resolve the contribution models against the physical artifacts available in the contribution.

output:
a contribution model in memory containing composite assembly models in memory

Model Build

Model Activate

Composite/Component Start

  • No labels