Overlap: Handling Business Transactions


Use Case: Buy two books from a bookseller, but only if both are currently in stock.

Web Services: needs API to booksellers sales database which supports this combination activity

   booksellar = wsdl("http://barnazon.example.com/salesAPI");
   shoppingCart = booksellar.getCart();
   shoppingCart.add(book1);
   shoppingCart.add(book2);
   if (shoppingCart.stockCheck(book1) &&
       shoppingCart.stockCheck(book1)) {
     shoppingCart.makePurchase(customerInfo);
   } else {
     shoppingCart.abandon();
   }

RDF Databases: needs RDF exposure of bookseller's sales database with support for transactions

  introduce id1, id2;
  insert into <http:://barnazon.example.com/salesDatabase> {
      id1 sales:sku book1; 
          sales:customer customerInfo;
	  sales:source sales:InStock.
      id2 sales:sku book2; 
          sales:customer customerInfo;
	  sales:source sales:InStock.
  }