The Batch functionality on server side is the ability to group the commands under a common batch ID. The group of commands can be either committed as a whole or rolled back as a whole.
Batch Functionality
The feature works as follows on the SOAP interface:
Call the StartBatch() to get a new batch with a batch ID.
Modify (update, delete, or create) entities, sending the batch ID for each request. This attaches the entities to the batch.
Either call completeBatch() with a commit or rollback parameter.
Commit removes the batch ID marker on entities.
Rollback removes the batch ID marker on entities and rollback changes on the entities (delete the ones created during the batch, recreate the ones deleted during the batch, or just get data back to its original value).
Both delete the batch.
Note: An entity that is attached to a batch cannot be modified outside of it. Trying to update or delete an entity outside of the batch results in an error.