2. Vendors share
• Similar goods
• Similar pricing
Differentiators
• Customer experience
• Delivery
Delivery Matters
3. • Links stores and couriers
• Handles the hard stuff
• Courier selection
• Price calculation
• Lead times
• Exposes a simple API
Shutl
4. • Shutl Now
• Rapid delivery, as soon as possible
• Can be as fast as 15 minutes
• Shutl When
• Delivery within a specified hour
Shutl services
5. • Built by neoworks
• Data model and business services
• Location service
• Delivery service
• CS cockpit widget
Shutl Hybris Extension
6. 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
7. • Cancel quote
• Failure in process after quote was booked
• Preview quotes
• Rapid, approximate
Feature wish list
8. • 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
9. • 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
10. • 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
11. • 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?