POS Customer Interactions with EIM Complex Events Processing


XTIVIA’s client is a supermarket chain operating 340+ stores in Mexico and the US. More than 100,000 employees service their core grocery market services as well as a specialty organic and fine foods brand. The client’s mantra is focused on accessible locations, friendly employees, extensive offers, and low prices. The client needed a partner to maintain their lead in customer satisfaction while increasing customer recommendations to others. Their vision is leadership in digital product strategy and the development to deliver a cutting-edge digital experience to their customers.


The client’s Point of Sale (POS) solution was restricting their ability to provide personalized customer service of their business strategy. Likewise, other in-store services to differentiate them from competitors in a modern retail environment. The resulting problems included:

  • The POS could not handle the peak time load of 70–90 million daily
    hits and an average 1.6 million sales orders per day.
  • The existing POS system’s Items Per Minute algorithm (a metric used
    to measure cashier performance) was inconsistent and potentially
  • The store and cashier IPM service performance was very slow.
  • Cache engines were taking four hours to refresh during maintenance periods.

Strategically, the client’s POS system backlog needed to be addressed in quick order:

  • Fraudulent transaction detection.
  • Product recommendations to boost sales based upon related items.
  • Mobile and email digital receipts.
  • Identify VIP customers and push notifications to store managers.


XTIVIA implemented an event-enable Service Oriented Architecture (SOA) solution to improve customer interactions both in-store and online. Utilizing TIBCO Business Works and Complex Events Processor, XTIVIA implemented an Enterprise Service Bus (ESB) pattern that efficiently published messages for asynchronous service consumption. The solution included the following:

  • A system to publish real-time events, such as scanning each item at the POS.
  • Building subscription services to consume one event for multiple purposes. For example, calculate the exact IPM of the cashier and store using centrally managed business rules
  • A fraud detection service at the point of credit card and debit card swipe with specific business rules.
  • A recommendation engine that suggests alternate products based on items purchased once a sales order is completed (offering customers better savings).
  • A VIP identification engine to inform the store manager regarding VIP customers’ in-store location so to better serve highly valued customers.
  • An in-memory datastore cluster using ActiveSpaces to optimize performance.
  • Several integration tools to improve customer service:
    • Social Media Integration (Twitter) using TIBCO BW Plug-in 1.0 for Twitter.
    • SPLUNK integration with custom Java code.
    • Weather Services Integration and Salesforce integration using TIBCO BW REST and JSON plug-in.


By integrating their operational enterprise systems with a proven SOA ESB pattern, our client implemented a top-of-the-line POS system, secure fraud detection, and customer data analysis in quick succession. The most pertinent benefits included:

  • Successful fraud detection.
  • Digital notifications to the customer and VIP Identification.
  • Improved the accuracy of IPM calculations: Sales, Idle, Tender, and Total Order Time.
  • Performance-tuning of Cache Engines Startup by 94% to 15 minutes.
  • Performance-tuning of all Store & Cashier Services by 85% to 4 seconds.
  • 95 percent of the Business Events (BE) application were rewritten within two weeks.
  • BE application upgrade and migration from 5.2.2 to 5.3 and 5.4.

The Sales Order Collection engine is divided into two technical layers and four functional sub-layers as follows:

Technical Sub-Layers:
Application and Router
Functional Sub-Layers:
Processing, Grid, Proxy, and Datastore

During Disaster Recovery, the agents will use their logs to compare created sales order collections to those stored in the duplication log — if collection and log IDs match then the payload has already been delivered and the collection is deleted. Log entries get removed using a sliding window mechanism with a period equal to (T + D) where “T” is the inbound POS queue TTL setting and “D” is an additional time to account for any delay caused by the POS event going through the processing system.


XTIVIA is a proven technology integration and innovation company known for delivering leading-edge technology solutions to our clients’ specific requirements, regardless of project complexity. We bring next-level business operations to reality through Application Development, Business Intelligence, Data Warehousing, Database Support & Management, Enterprise Information Management, Digital Experience Solutions and Enterprise Resource Planning. Our success stems from a demonstrated ability to deliver deep expertise via professional services, empowering clients to leverage their chosen technology successfully, competitively and profitably. XTIVIA has offices in Colorado, New York, New Jersey, Missouri, Texas, Virginia, and India.

Download the Case Study PDF here

Let's Talk Today!

No obligation, no pressure. We're easy to talk with and you might be surprised at how much you can learn about your project by speaking with our experts.

304 South 8th Street, Suite 201
Colorado Springs, CO 80905 USA

Additional offices in New York, New Jersey,
Missouri, Texas, Virginia, and Hyderabad, India.

USA toll free: 888-685-3101, ext. 2
International: +1 719-685-3100, ext. 2
Fax: +1 719-685-3400