...
- Static domain - where all composites are present before nodes are started
- as now composites will automatically be configured with unwired bindings
- 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
- 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
- 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
Endpoint and EnpointReference creation algorithm
...
Results expected in itest/builder
Scenario | CAS1 | CBS2 | CCS2 | CDS3 | Endpoints at CB | Endpoints at CD |
---|---|---|---|---|---|---|
1 Binding | binding.ws |
|
|
| Ignored in SCA v1.1? | Ignored in SCA v1.1? |
2 Binding |
| binding.ws |
|
| CD/S3/binding.sca |
|
3 Binding |
|
| binding.ws |
| CD/S3/binding.sca |
|
4 Binding |
|
|
| binding.ws | CD/S3/binding.sca |
|
Detailed Model
The EndpointReference and Endpoint have a number of fields and a status which indicates what they are connected to and how they will be processed. Both structures are externalizable. In the Endpoint case this allows a distributed registry of endpoints to be maintained. In the EndpointReference case this allows ServiceReferences to be serialized between remote components as called for in the SCA specifications.
TBD
Old Material
Scenario | CAR1 | CBR2 | CCR2 | CDR3 | EndpointReferences at CD |
---|---|---|---|---|---|
5 Binding | binding.ws uri= |
|
|
| Ignored in SCA v1.1? |
6 Binding |
| target=CFS3 |
|
| CD/R3/target=CFS3 |
7 Binding |
|
| target=CFS3 |
| CD/R3/target=CFS3 |
8 Binding |
|
|
| target=CES3 | CD/R3/target=CES3 |
Scenario | CAR1a | CBR2a | CCR2a | CDR3a | EndpointReferences at CD & CG |
---|---|---|---|---|---|
9 Binding |
|
|
| target=CES3 | CD/R3a/target=CES3 CB/R3b/target=CES3 |
10 Binding |
| target=CFS3 |
| target=CES3 | CD/R3a/target=CES3 CD/R3a/target=CFS3 CB/R3b/target=CFS3 |
11 Binding |
| target=CFS3 |
| target=CES3 | TBD as 10 |
12 Binding |
| target=CFS3 |
| target=CES3 | TBD as 10 |
13 Binding |
|
|
| target=CES3 | TBD as 9 |
Creation and Activation
Event | Action |
---|---|
Create/Start Node | Read Model |
Message through reference | (if not resolved) EndpointReference resolution |
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:
|
Activate Runtime | Create the runtime infrastructure. Includes:
|
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 specified but unresolved | unresolved | unresolved |
Wired - service resolved - binding not matched | resolved | unresolved |
Wired - service resolved - binding matched | resolved | resolved |
Unwired | resolved | resolved |