Friday, March 23, 2007 12:01 PM
mbaladi.net
SHP #7: Let’s go shopping…
Scenario #4: Order fulfillment and order management in the store front and provisioning for new application tenants (subscribe)
When & who?
Once there’s something in the catalog to sell, the store front companies expose public facing order fulfillment web site(s). These sites are used by potential application tenants to browse plans, options, price and eventually sign-up for plan or “try-before-you-buy” offer.
How?
The plans that were created in the catalog in the previous scenario are queried using a call to the catalog service and the result is displayed on a customer facing web site. Using a sign-up wizard, the potential application tenant can then select and deselect options and the system keeps track of dependencies as well as what parameters the user must supply for each selected software item. Example: if the potential application tenant selects the dental booking module priced by number of dentist, the order fulfillment wizard must ask for the number of dentists, know that this is a numeric and validate user input agains possible ranges (the knowledge of these parameters came from the ISV provided application manifest via the platform service). In the final stages of the sign-up wizard, the potential application tenant is asked to supply company information, billing information etc and submit the order.
The order fulfillment wizard sends customer and order data to CRM/ERP and asks platform service to initiate an application tenant provisioning sequence supplying the data from the wizard. This provisioning sequence was designed and the scripts where verified and approved during design-time (as described in scenario #2 in a previous post). Now, at run-time, the platform service does some book keeping and asks the provisioning service to execute:
Image 1: Order fulfillment and per application tenant provisioning
Looking at it in terms of call sequences, order fulfillment and per application tenant provisioning looks like this:
Image 2: Sequence diagram for order fulfillment and per application tenant provisioning
In our sample implementation we focused on getting the interaction with the SHP right and not on the details of a specific ERP/CRM system. Therefore the order fulfillment sample simply dumps customer and order data into an XML file to be picked-up, mapped/transformed and imported by some CRM/ERP directly or using products like [insert your favourite ESB product here] BizTalk Server ;-)