Stickybit.← E-commercePortuguêsCase · WebContinental · 2019
Case · WebContinental · Black Friday 2019

Fourteen checkouts, one license.

Days before Black Friday, WebContinental was about to open 14 checkouts and found out that each would need a license for its management system, TOTVS. There was no time to negotiate and no budget for 14. A proxy written in Go made all 14 share a single license, with no change to the checkouts, and Black Friday went by without incidents.

Specimen · how many checkouts fit in one license?

14licenses without the proxy
1licenses with the proxy
…connection busy
…average wait in queue

Illustrative: a simple queue calculation, with numbers you choose. What comes from the real case: 14 checkouts, one license, queue and cache in the proxy, no change to the checkouts and no incidents on Black Friday 2019. Real queue times were not published.

In everyday life

One phone for fourteen clerks.

Picture an office with a single phone line and fourteen clerks. If each needed the line all the time, you would need fourteen lines. But each call lasts a few seconds and nobody talks all day. An operator who connects the calls in order solves it with one line, and nobody notices the wait.

A store's checkouts work the same way. Each sale makes short queries to the management system, the ERP: price, stock, invoice. Between sales, the checkout does not use the ERP. The ERP license, however, was counted per connected terminal.

The proxy is the operator: it sits between the checkouts and the ERP, keeps a single connection open and passes the requests in order, with a queue for peaks and a cache for what repeats.

14 × checkout proxy queue · cache ERP · 1 license
The 14 checkouts talk to the proxy; only the proxy talks to the ERP, over one license. The checkouts do not know the proxy exists.
The problem

The Black Friday sum did not add up.

It was not a performance problem. The ERP could handle the volume; what did not fit was the license-counting rule, in the budget and in the deadline. Without a technical solution, the store would open Black Friday with fewer checkouts.

The sum, days before

New checkouts14
Licenses needed14
Deadlinea few days
Negotiate with the vendorno time
Alternativecancel the expansion
Situationno commercial way out
From the store's account (2019).
What we did

A go-between nobody sees.

We learned the protocol the checkouts use to talk to TOTVS, mapped the critical operations and wrote a proxy in Go, a language good at many simultaneous conversations that compiles into a single program that is easy to install. It has four parts:

Single connection. The checkouts connect to the proxy as if it were the ERP; the proxy holds the licensed connection.

Queue. When two checkouts ask at the same time, one waits fractions of a second. The queue absorbs the peaks.

Cache and connection pool. What repeats (the same price looked up many times) comes back faster, and the connection is reused.

Monitoring and recovery. Every operation is logged, and if the connection drops the proxy reconnects on its own.

The checkouts were not changed. For them, nothing changed.

14 checkouts, each uses the ERP in short bursts the same bursts on one connection: busy ~36% of the time
Why it works: each checkout uses the ERP in short bursts (top). Added up on one connection (bottom), they still leave room. Illustrative drawing.
The numbers

From fourteen licenses to one.

14 → 1ERP licenses
13licenses that did not have to be bought
0changes to the checkouts
0incidents on Black Friday
daysfrom problem to solution in production

Without the proxy

Licenses14
License costprohibitive
Black Fridaywith fewer checkouts
Resultexpansion cancelled

With the proxy

Licenses1
Changes to checkoutsnone
Black Friday14 checkouts, no incidents
Resultpermanent solution
The proxy stayed in use after Black Friday.

In practice: the store kept the expansion and did not buy 13 licenses. The gain came from looking at how the checkouts use the ERP, not just how many there are.

“We were about to cancel the checkout expansion for Black Friday. In a few days, Stickybit solved what seemed impossible.”

IT, WebContinental (translated)
For another store

When a queue in front solves it.

It works when

  • operations are short and use is intermittent;
  • the protocol between terminals and the system can be understood;
  • the license contract allows sharing the connection;
  • peaks are predictable and the queue can absorb them.

It does not work when

  • each terminal uses the system all the time (the queue only grows: see the specimen);
  • the contract forbids this kind of sharing;
  • the real problem is ERP capacity, not the number of licenses.

The same design comes back with AI assistants. When they start querying stores for price, stock and shipping, the questions will arrive in bursts, from many agents at once. A layer in front of the ERP, with a queue, a cache and a log of every query, protects the management system and answers fast. That is our reading, not part of the 2019 case; it is what the page on WebMCP discusses.

Three words on this page
Proxy

A go-between. It sits between two systems and passes requests from one to the other, and can organise, cache and log what goes through.

Queue

The waiting order when several ask at the same time. It handles short peaks; it does not fix continuous use above capacity.

ERP

The company's management system: stock, prices, invoices, finance. Here, TOTVS.

Limits

Where this could be wrong.

No published times

The case reports zero incidents but did not publish how long each sale waited in the queue. The specimen shows the calculation, not the measurement.

Read the contract

How licenses are counted varies by vendor and contract. Before repeating the idea, check what your contract allows.

A queue has a ceiling

If the checkouts use the ERP more than the connection can handle, the wait grows without end. The design holds for intermittent use.

One point in the middle

Everything goes through the proxy. It recovers on its own, but it is one more piece that has to be up.

Is there a sum that does not add up in your store?

We start with the free reading: within 24 hours, what an AI assistant finds when it visits your store. If the problem is something else, we talk from there. (Service in Portuguese, for Brazilian stores.)

See also

← Agent-ready e-commerce · stickybit.com.br

Sources