Each Customer's SOAP Server Process runs continuously on the machine containing the customer's MMS data files. We call this the "Server Machine" running mmsbrick.
The SOAP Client Process runs every 15 minutes on the machine containing the shopping cart database files. We call this the "Client Machine" running mmsclick.
As much of the design as possible is shopping cart agnostic. In theory we can interface with several different shopping carts in a similar way. In the real world we will avoid supporting more than one shopping cart if at all possible.
For our initial shopping cart implementation we selected X-Cart Gold, a full featured, robust, well supported product that runs under Linux. It uses MySQL for its database and it uses the PHP Smarty templating system which makes customization easy. X-Cart has a large user base which will be a resource for us if we have customization questions.
The Client Process runs directly against the MySQL tables, so there is no customization of the X-Cart source code needed.