You extend the schema by modifying the configuration object, and you can add executors for requests by changing the section. Using forms, you can map DSML to Views and back.
It is less obvious, but you can also replace the dispatcher, marshaller, and the UberExecutor, with those of your own devising.
If you do not want to use SOAP, replace the dispatcher in the first case.
If you do not want to use HTTP, replace the router with a different kind of servlet.
If you want different XML parsing, replace the marshaller with your own.
SPML 2.0 provides a wide-open array of pluggability, which is due to Identity Manager’s use of the OpenSPML 2.0 Toolkit. The following figure shows the OpenSPML 2.0 Toolkit architecture.