Delivery method

12
Delivery Method Integration Conrad Koppitz [email protected]

description

 

Transcript of Delivery method

Page 1: Delivery method

Delivery Method Integration Conrad Koppitz

[email protected]

Page 2: Delivery method

Vendors share •  Similar goods •  Similar pricing

Differentiators •  Customer experience •  Delivery

Delivery Matters

Page 3: Delivery method

•  Links stores and couriers

•  Handles the hard stuff •  Courier selection •  Price calculation •  Lead times

•  Exposes a simple API

Shutl

Page 4: Delivery method

•  Shutl Now •  Rapid delivery, as soon as possible •  Can be as fast as 15 minutes

•  Shutl When •  Delivery within a specified hour

Shutl services

Page 5: Delivery method

•  Built by neoworks

•  Data model and business services •  Location service •  Delivery service

•  CS cockpit widget

Shutl Hybris Extension

Page 6: Delivery method

locs = ls.getNearbyShutlLocations( cart.getDeliverAddress(), 20.0);

Quote = ds.getDeliveryQuotation(cart,

locs.get(0), cart.getDeliveryAddress(), null);

cart.setDeliveryQuotation(quote);

conf = ds.bookDelivery(cart);

For a demo, go to thetoyshop.com

Shutl Now Example

Page 7: Delivery method

•  Cancel quote •  Failure in process after quote was booked

•  Preview quotes •  Rapid, approximate

Feature wish list

Page 8: Delivery method

•  Separate retrieval of data and processing

•  Retrieved data leaves audit trail •  Good for debugging

•  No need to refetch data if the error was local

•  Remember to clean up

•  Some data expires

Message Caching

Page 9: Delivery method

•  Add file end points for inbound data interfaces

•  Allows for easy production fixes

•  Remember to track the source of the data

•  Spring integration is good for this

File Endpoints

Page 10: Delivery method

•  Atomicity, Consistency, Isolation, Durability

•  Stock example •  Stock numbers guaranteed by ACID properties •  What happens when some stock is destroyed?

•  Downside: bottleneck due to locking

Database Transactions

Page 11: Delivery method

•  Stock example •  Many people buy the same goods •  Web applications are very concurrent

•  Single SQL statement •  UPDATE StockLevel SET qty = 98 WHERE

qty = 100 AND sku = 1234

•  Retry if no rows updated

No transactions?

Page 12: Delivery method

[email protected]

Thank you