Voyce.com: A Drupal Commerce / Services / SSO integration Case Study
Voyce.com contains several Drupal 7 sites mixed into its overall enterprise architecture. In this session we'll walk through what the overall architecture looked like, how utilized an enterprise service bus (ESB) to facilitate communication between systems, and some of the custom integrations that Drupal allowed ICF Olson to develop.
MuleSoft was used to provide the ESB architecture. Through the custom APIs, each independent system was able to communicate with other systems without needing any knowledge of how those other system APIs worked.
A custom module was written that wrapped the Pest REST client php library. This allowed us to add additional logic / error handling around the use of Pest and gave us future opportunity to replace Pest if the need arose. The custom module was originally written for the Drupal commerce site, however it was eventually rolled out to the remaining Drupal sites.
Our main responsibility was the Drupal Commerce site (buy.voyce.com). We made heavy use of the commerce_bundle (no full release yet) along with custom discounts and custom integration with Vindicia's cashbox to provide a secure checkout. Service endpoints were created on the Drupal Commerce site to allow the ESB to query and update the Drupal Commerce site. The Services module and custom endpoints were utilized.
One of the other requirements we were asked to fulfill was providing SSO between the various Drupal sites. We researched several options and eventually selected the bakery module. It provided most of the features we needed and we only needed to connect existing Drupal sites.
In the end the project team was able to contribute two commerce contrib and 30+ patches back to the Drupal community.