[thelist] Loosely coupled systems

Christopher Mahan chris_mahan at yahoo.com
Wed Jun 9 12:27:50 CDT 2004

--- Les Lytollis <leslytollis at dimensions-corporatewear.co.uk> wrote:
> Hi all,
> I am after some best practice advice. I hope it's not too
> off-topic.
> I am building a web based ordering system that will integrate with
> an
> existing order fulfillment system. 
> The integration is loosely coupled in that orders are held in a
> "Recent
> Order" table and sent as flat files from the web app to a holding
> area
> and picked up by the fulfillment system at regular intervals.
> The order info will get back out to the web by regular extracts of
> the
> fulfillment system's order tables and placed into "Order History"
> tables
> in the web app.  
> My questions is about managing the relationship between the Recent
> Order
> and Order History tables. So far, I have consdidered the following
> options:
> 1. Make sure a unique reference is sent to the fulfillment system
> and
> match these in a scheduled task after the order history tables are
> updated.
> 2. Remove the orders from Recent History at regular intevals
> provided
> the status of the order is "sent for fulfillment".
> 3. Don't show orders "sent for fulfillment" until they show up in
> Order
> History (eg "Thank you your order has sent for fulfillment. You can
> view
> the status of your order in one working day from the Order History
> section")
> 4. Don't manage them at all and let the user see overlapping
> records in
> the Recent Orders and Order History  functions.
> Any input would be appreciated.
> Cheers
> LezL

what I would do is timestamp in the Recent Orders the following
--Sent to fulfillment folder as file
  (note file name to check if still there or similar mechanism)
--Noticed picked up by Fulfillment 
  (assuming fulfilment system removes the file)
--Notice Appeared in Order History
  (this means the Recent Orders record is now archived. I would still
keep them in there for a while)

Keep in mind that you need to plan for failures (lost files,
fulfillment system problem after file picked up). This is why
timestamping is important. Set up management exception reports so
they can find late/missing orders.

For the customer, show current status and ETA of next step. Also show
a chronology of events. For example:

5:45 Am Received your order for X gizmos.
5:51 AM Confirmed order via email/phone conversation (if needed)
5:57 AM Order sent to fulfillment system
6:15 AM Order picked up by fulfillment system
11:43 AM Fulfillment system reports order will be shipped prior to 3
2:12PM Fulfillment system reports order has been shipped via UPS.
Tracking # is 987654321
2:27PM Order entered in Order History. Visit
www.somecompany.com/myorder/ and login to see all your orders.


Christopher Mahan
chris_mahan at yahoo.com
818.943.1850 cell

Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.

More information about the thelist mailing list