The Send Adapter commits changes per message and per object. This means commits cannot span messages. Within a message, changes to an object are all committed together. To ensure changes are all or nothing, therefore, the strategy you need to use is one message per object.
See the entire answer
Both. The query is sent out by the send adapter. The actual querying is done by components of the receive adapter. Therefore, to be licensed to create Solicit-Response send ports, you need to be licensed for both the ActiveADAPTER send and receive adapters.
See the entire answer