Order Fulfillment process

Order Fulfillment process

The following list describes the control flow during the Order Fulfillment process:

 

  1. OrderFulfiller 接收一个SubmitOrder 消息,这个消息包含一个序列化的order的副本。order对象的所有者就是接收消息的组件。默认情况下就是OrderFulfiller
  2. OrderFulfiller传递使用FulfillOrderFragments配置的fulfillers的不同组件的控制。比如HardgoodFulfiller.注意:不同的fragments包含和不同items相关联的shipping groups,在fragment所列的shipping groups 现在就是有接收消息的组件所控制,比如现在就是HardgoodFulfiller控制着shipping groups
  3. HardgoodFulfiller控制shipping groups,所有的对shipping groups修改都是通过HardgoodFulfiller发生的,HardgoodFulfiller可以运行在不同环境下后台系统,如果没有其他组件需要修改shipping groups,ModifyOrder 请求将会forward 到HardgoodFulfiller.TheHardgoodFulfiller is responsible for making the requested changes to the shipping groups while they are
    under its control.注意所有的修改都是通过fulfiller调用pipleine chains
  4. 当shipping groups 发运,ModifyOrderNotification 消息会被发送,当消息发送HardgoodFulfiller会放弃对shipping groups的控制,控制权转移到OrderFulfiller,前提是没有其他的也在控制,且控制权维持到这个订单的完成。
  5. OrderFulfiller接收ModifyOrderNotification 消息,如果业务规则允许第一次发运支付需要结算,payment groups 主要负责items,shipment.,tax的成本
  6. order结算之后,OrderFulfiller将会改变他的状态成NO_PENDING_ACTION,并且不再控制这订单

The following diagram provides an overview of the flow of the JMS messages during the Order Fulfillment process:


Order Fulfillment process