Policy Interceptors
Using binding.ws this figure shows where interceptors are currently added to the invocation and binding chains and some of the problems we have (as discussed recently on the ML)
Policy Summary
TBD - list of all the intents and policys that are supported by extension
binding.ws HTTP basic authentication
Phase | Extension | Intent | PolicyModel | Builder | Provider | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|---|---|
Component Impl | Java |
|
|
|
|
|
|
|
|
Reference Wire |
|
|
|
|
|
|
|
|
|
Reference Binding Wire |
|
|
|
| BasicAuthenticationReferencePolicyProvider |
| BasicAuthenticationReferencePolicyProvider | BasicAuthenticationReferencePolicyInterceptor |
|
Reference Binding/EPR | WS | authentication | BasicAuthenticationPolicy |
|
|
|
|
|
|
Service Binding/EP | WS | authentication | BasicAuthenticationPolicy |
|
|
|
|
|
|
Service Binding Wire |
|
| BasicAuthenticationServicePolicyProvider |
| BasicAuthenticationServicePolicyProvider | BasicAuthenticationServicePolicyInterceptor |
| ||
Service Wire |
|
|
|
|
|
|
|
|
|
Component Impl | Java |
|
|
|
|
|
|
|
|
binding.ws HTTP ssl confidentiality - 1 way SSL
Phase | Extension | Intent | PolicyModel | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|
Component Impl | Java |
|
|
|
|
|
|
Reference Wire |
|
|
|
|
|
|
|
Reference Binding Wire |
|
|
|
|
|
|
|
Reference Binding/EPR | WS | confidentiality | HTTPSPolicy | HTTPSPolicyProvider |
|
|
|
Service Binding/EP | WS | confidentiality | HTTPSPolicy | HTTPSPolicyProvider |
|
|
|
Service Binding Wire |
|
|
|
|
|
|
|
Service Wire |
|
|
|
|
|
|
|
Component Impl | Java |
|
|
|
|
|
|
Note. The provider is is possibly badly named as it configures the trust/key store for the whole JVM. If you define two policy sets with different trust/key store configuration then only one will be used. Should the provider be more generically named/located to indicate this?
binding.ws HTTP ssl confidentiality and client authentication - 2 way SSL
...
Phase | Extension | Intent | PolicyModel | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|
Component Impl | Java |
|
|
|
|
| TBD - impl specific defaults |
Reference Wire - Impl |
|
|
|
| TransactionImplementationPolicyProvider |
| look at policy list and add appropriate defaults |
Reference Binding Wire - Ref |
|
|
|
| TransactionReferencePolicyProvider |
| look at policy list and add appropriate defaults |
Reference Binding/EPR | WS |
|
|
|
|
| TBD - binding specific defaults |
Service Binding/EP | WS |
|
|
|
|
| TBD - binding specific defaults |
Service Binding Wire - Svc |
|
|
|
| TransactionServicePolicyProvider |
| look at policy list and add appropriate defaults |
Service Wire - Impl |
|
|
|
| TransactionImplementationPolicyProvider |
| look at policy list and add appropriate defaults |
Component Impl | Java |
|
|
|
|
|
|
...
TBD - impl specific defaults |
Note. Subsequently the following will process the new intents that have been added
Policy Transaction Managed Global Propagates
Phase | Extension | Intent | PolicyModel | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|
Component Impl | Spring Java | managedTransaction.global | TransactionPolicy |
|
|
|
|
Reference Wire |
|
|
|
|
|
|
|
Reference Binding Wire |
|
|
|
|
|
|
|
Reference Binding |
|
|
|
|
|
|
|
Service Binding |
|
|
|
|
|
|
|
Service Binding Wire |
|
|
|
|
|
|
|
Service Wire |
|
|
|
|
|
|
|
TBD | TBD |
| |||||
Component Impl | Java | managedTransaction.global | TransactionPolicy |
| TransactionImplementationPolicyProvider |
|
|
binding.ws HTTP ssl confidentiality - 1 way SSL
TransactionInterceptor | Seems odd that there is only one interceptor | ||||||
Reference Wire - Impl |
| ||||||
Phase | Extension | Intent | PolicyModel | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|
Component Impl | Java |
|
|
|
|
|
|
Reference Wire - Ref |
|
|
|
| TransactionReferencePolicyProvider | TransactionInterceptor |
|
Reference Binding Wire /EPR | WS | propagatesTransaction | TransactionPolicy |
| ? | TransactionReferenceBindingWSInterceptor |
|
Reference Binding/EPR | SCA WS | confidentiality propagatesTransaction | HTTPSPolicy TransactionPolicy | HTTPSPolicyProvider |
|
| Is interceptor required? |
Service Binding/EP | SCA WS | confidentiality propagatesTransaction | HTTPSPolicy TransactionPolicy | HTTPSPolicyProvider |
|
| Is interceptor required? |
Service Binding Wire /EP | WS | propagatesTransaction | TransactionPolicy |
| ? | TransactionServiceBindingWSInterceptor |
|
Service Wire |
|
|
|
| TransactionServicePolicyProvider | TransactionInterceptor |
|
Component Impl | Java |
|
|
|
|
|
|
binding.ws HTTP ssl confidentiality and client authentication - 2 way SSL
TBD
Policy Transaction Default
managedTransaction.global | TransactionPolicy |
| TransactionImplementationPolicyProvider | TransactionInterceptor |
| ||
Component Impl | Spring | managedTransaction.global | TransactionPolicy |
| TBD | TBD | |
Phase | Extension | Intent | PolicyModel | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|
Component Impl | Java |
|
|
|
|
|
|
Reference Wire |
|
|
|
|
|
|
|
Reference Binding Wire |
|
|
|
|
|
|
|
Reference Binding |
|
|
|
|
|
|
|
Service Binding |
|
|
|
|
|
|
|
Service Binding Wire |
|
|
|
|
|
|
|
Service Wire |
|
|
|
|
|
|
|
Component Impl | Java |
|
|
|
| |
|
Policy runtime template
Phase | Extension | Intent | PolicyModel | Builder | Provider | Interceptor | Notes |
---|---|---|---|---|---|---|---|
Component Impl | Java |
|
|
|
|
|
|
Reference Wire |
|
|
|
|
|
|
|
Reference Binding Wire |
|
|
|
|
|
|
|
Reference Binding/EPR |
|
|
|
|
|
|
|
Service Binding/EP |
|
|
|
|
|
|
|
Service Binding Wire |
|
|
|
|
|
|
|
Service Wire |
|
|
|
|
|
|
|
Component Impl | Java |
|
|
|
|
|
|