Could we go further?
The CDK features themselves should be services.
Notifications, policy-retries, etc. should be services.
A component should be able to register or unregister a given service.
The activation or not of a service may impact the configuration (jbi.xml) of the SU and the component.
Besides, there should be for each CDK service a default handler.
For notifications, almost (if not) everyone will keep it activated and use the default handler.
But for policy-retries, we would simply have a default handler that does nothing. Implementing it for a component would consist in writting and registering a different handler.
WSDL management, component native services, timeout management, consume management could be other services.
The default consume management would be to use the jbi.xml parameters to get the operation and the MEP. For some components, like the SOAP, we would simply override the handler to guess it from the request message.
Eventually, the CDK should provide a way to send the right configuration parameters to the associated handler.
Maybe each handler should pick up its parameters in the configuration. Regarding this last part, things are not completely clear in my mind. And Petals configurations is a big issue I will have to split in several topics.
Why not? We can provide both approaches...