PultrackBlog
TR
Çevrimdışı İlk POS: Neden "Yerel Varsayılan" Küçük Dükkanlar İçin Doğru Mimaridir

Çevrimdışı İlk POS: Neden "Yerel Varsayılan" Küçük Dükkanlar İçin Doğru Mimaridir

ÖzetSon zamanlardaki çevrimdışı satış noktası sistemleri hakkındaki teknik yazılar aynı değişimi anlatıyor: yerel cihazı kayıt sistemi olarak değerlendir ve bulut senkronizasyonunu her satış için zorunlu olmaktan ziyade isteğe bağlı, otomatik bir arka plan görevi olarak düşün. Gelişmekte olan pazarlardaki küçük perakendeciler için bu mimari seçim, bir kesintide açık kalmak ile müşterileri geri çevirmek arasındaki farktır. Küçük dükkanlar için POS uygulaması olan Pultrack'ı geliştiriyoruz, bu yüzden bu kaynakları dikkatle okuyor ve kalıbın iyi mühendislik olduğunu düşünüyoruz, ancak bunun çoğu bağımsız araştırmadan ziyade uygulayıcı bloglari ve hobi projesi yazıları halindedir.

Pultrack'ı geliştiriyoruz; bu, gelişmekte olan pazarlardaki küçük perakendeciler için satış noktası ve envanter uygulamasıdır. Bu yüzden internet veya elektrik olmadığında bir dükkanın kasasını çalışır tutmak gibi aynı sorunu nasıl çözdüğünü öğrenmek için çok fazla zaman harcıyoruz. Son birkaç ay içinde bir dizi mühendislik yazısı ve bir uzun yazılım mimarisi tartışma dizisi, POS yazılımı için "çevrimdışı ilk" nın ne anlama gelmesi gerektiğine benzer bir açıklama sunmuştur. Ne dediklerini, nerede hemfikir olduklarını, kanıtın nerede daha ince göründüğünü ve bir dükkan sahibinin ne satın alacağına karar verirken ne anlama geldiğini açıklamak istedik.

Bir POS için "çevrimdışı ilk" gerçekte ne anlama geliyor?

En net teknik açıklama, çevrimdışı ilk bir POS oluşturmak hakkında bir üretim soruşturmasından geliyor ve yerel cihazı — bulut değil — birincil kayıt sistemi olarak çerçeveliyor; senkronizasyon bir bağlantı döndüğünde devam eden otomatik bir arka plan işlemidir.[1] Bu yazı yerel saklama (IndexedDB veya SQLite dayanıklı veri katmanı olarak), her işlem için senkron ağ çağrıları yerine sıraya alınan yazılar, bir bağlantı yokken aynı kayıtları güncelleştireceği durumlar için çakışma yönetimi ve hiç ağ olmadan çalışmaya devam etmek için makbuz/yazıcı iş akışlarını açıklamaktadır.[1]

Kaynaklanmayı doğrudan açıklamaya değer: bu uygulama detay seviyesi, bir sistemin tek bir uygulayıcısının açıklamasından geliyor ve bunu yerleşik bir standart değil, bir veri noktası olarak ele alıyoruz. Paralel, daha mimari odaklı bir tartışma Software Engineering Stack Exchange'de altta yatan tasarım sorusunu doğrudan soruyor — çevrimdışı modu olan bir POS için iyi yazılım mimarisi nedir — ve topluluk yanıtları aynı uygulama özellikleri olmadan bile aynı temel şekle yakınsıyor: devam eden satışlar için yerel bir işlem saklama alanını otorite olarak tut ve daha sonra, bir canlı bağlantıda ödemeyi engelleme yönetim yerine, yalnızca bundan sonra merkezi bir sistem ile uzlaştır.[2] Aynı sonucun bir uygulayıcı blogunda ve daha geniş bir mühendislik tartışma dizisinde bağımsız olarak göründüğünün, iki farklı bağlamdan aynı mimari içgüdüye ulaşan mütevazı ama gerçek bir doğrulamadır.

Bu özellikle gelişmekte olan pazarlarda neden daha fazla önem taşıyor?

Güvenilmez bağlantısı veya güvenilmez gücü olan bir pazardaki bir dükkan için, bu mimarinin değeri kolaylık değil, satışların sürekliliğidir. Çevrimdışı POS sistemleri hakkında bir satıcı yazısı pratik durumu açık seçik koymaktadır: nokta, bir buluta bağlı uygulamayı incelikle düşürme değil, internet başarısız olduğunda satmaya devam etmektir.[3] Diğer satıcı malzemesi "çevrimdışı" ı kenar durumlar için yalnızca bir geri dönüş modu olarak değil, ölçekte bir POS'un ihtiyaç duyduğu bir şey olarak çerçeveleniyor — güvenilirliğin, özelliklerin değil, bir dükkanın sisteme her satışı yaptırması için yeterli kadar güvenip güvenmediğini belirler.[4]

Her ikisinin de kendi ürünlerini tanıtan satıcı blog yazıları olduğunu ve hiçbirinin bağımsız araştırma olmadığını işaretlemeliyiz — bu yüzden sürekliliğin neden önemli olduğu hakkında yaptıkları argüman için onları alıntılıyoruz, herhangi bir özel ürünün bunu teslim ettiğinin tarafsız kanıtı olarak değil. Bu ayrım önemlidir: bir POS satıcısının pazarlama kopyasında "çevrimdışı çalışan" iddia etmesi kolaydır, ancak altta yatan mimari hala bulutu yetkili olarak ele alıyor ve en son verileri ön belleğe alıyor. Uygulayıcı hesapları yukarıda daha kullanışlıdır, tam da çünkü faydaları değil, uygulama seçimlerini açıklarlar.

Hangi teknik kalıp tekrar ortaya çıkıyor?

Pazarlama dilinden sıyrılmış olarak, bu materyaldeki tekrarlanan mimari iddialar şunlardır:

  • Yerel bir veritabanı (SQLite veya eşdeğer bir gömülü mağaza), senkronizasyon tamamlanana kadar en azından o cihaz için işlem defteri olarak gerçeğin kaynağını tutar.[1][2]
  • Yazılar yerel olarak sıraya alınır ve bağlantı kullanılabilir olduğunda merkezi bir sisteme toplu olarak itilir; her satış bir gidiş dönüş gerektirmek yerine.[1]
  • Çakışma yönetimi, iki cihazın veya bir cihazın ve bulutun, çevrimdışı bir dönemden sonra anlaşmazlık yaşadığı durumda mevcuttur — bu göz ardı edilecek bir kenar durumu değil, tasarlanacak beklenen bir koşul olarak ele alınır.[1][2]
  • Makbuz yazdırma ve temel kasa matematiği tamamen cihazda bağımsız olarak, ağ durumundan bağımsız olarak çalışır.[1][3]

Bu listenin alanın düşüncesinin nereye iniş yaptığının makul bir özeti olduğunu düşünüyoruz, ancak çoğu doğrulayıcı detayın bir kaynakta oturduğunu açık olmak istiyoruz.[1] Stack Exchange dizisi argümanın yüksek seviyeli şeklini — yerel mağaza otoritesi, ertelenmiş uzlaştırma — destekliyor, ancak çakışma çözümleme stratejisi veya yazıcı işleme gibi her uygulama detayını bağımsız olarak onaylamıyor.[2] Belirli bir POS ürünü değerlendiren okuyucular, her "çevrimdışı ilk" etiketinin aynı mühendisliği ima ettiğini varsaymak yerine, satıcıya doğrudan çok cihazli çakışmaları ve kısmi eşitlemeleri nasıl işlediklerini sormalıdırlar.

Küçük bir dükkan sahibi satın almadan önce gerçekte ne kontrol etmeli?

"Çevrimdışı modu" etiketi ne kadar gevşek kullanıldığı göz önüne alındığında, bir dükkan sahibi veya dükkan teknolojisi alıcısı pazarlama sayfasına güvenmek yerine sistemleri karşılaştırırken birkaç somut soru sormalıdır:

  • Sıfır ağ bağlantısı ile bir satış kaydedilir, fiyatlandırılır ve makbuzlenirse, yoksa ödeme sunucu yanıtını bekleyen durdurulur mu?
  • Her ikisi de çevrimdışı durumdayken iki personel cihazı aynı stok öğesine karşı satış yapıyor — sistem bunları sessizce birleştirirse, yoksa birisi daha sonra el ile farklılığı uzlaştırmak zorunda mı?
  • Makbuz yazıcısı yerel uygulama tarafından bağlantılı mı, yoksa bulut yazdırma hizmetine bağımlı mı?
  • Dükkan bir şey kırılmadan önce ne kadar tamamen çevrimdışı çalışabilir — saatler, günler veya belirsiz, senkronizasyon yalnızca sıraya alındığından mı?

Buradaki kaynakların hiçbiri belirli ürünlerin bağımsız laboratuvar testleri değildir; bunlar mühendislik yazıları ve bir tartışma dizisidir. Bu, mimari kalıbı anlamak için makul bir temeldir, ancak herhangi bir tek uygulamanın çevrimdışı davranışının doğrulanmış kıyaslaması ile aynı şey değildir ve herhangi bir satıcının "yüzde 100 çevrimdışı" iddiasını yukarıdaki soruları sormadan kendiliğinden doğru olarak ele almamanızı uyarırız.

Bu küçük dükkan dijitalleşmesini nereye bırakıyor?

Dürüst özet, "yerel ilk varsayılan" ın güvenilmez bağlantılı ortamlar için POS için açıklanan en iyi uygulama olarak ilgi kazanıyor, mütevazı ama tutarlı bir uygulayıcı hesapları kümesine ve daha geniş bir mühendislik tartışmasına dayanarak — geniş ölçekli bağımsız çalışmalara değil.[1][2][3][4] Bu gerçek bir sinyaldir, ancak mütevazı bir sinyaldir ve "endüstri karar verdi" ye çok şişirmek yerine adlandırmaya değer.

Pultrack'taki kendi çalışmamızda gördüğümüz düz bir neden için doğru mimari olduğunu düşünüyoruz: bir gündüz bağlantısını kaybeden bir dükkanın hala tezgahta müşterileri var ve canlı bağlantı olmadan bir satışa toplam veya makbuz yazdırmasını yapamayan bir POS bu müşterileri geri çeviriyor. Her satışın yerel bir kaydı etrafında tasarlama, senkronizasyon bağlantı geri gelince otomatik olarak gerçekleşen bir şey ise, kötü altyapı için bir geçici çözüm değildir — inşa ettiğimiz pazarların çoğu için, gelişmiş bir özellik değil, temel bir gereksinimdir.

Sıkça Sorulan Sorular

Bir POS sistemi için 'çevrimdışı ilk' tam olarak ne anlama geliyor?

Yerel cihazın, merkezi bir sunucuya canlı bağlantı gerektirmek yerine, bir satış gerçekleştiğinde kendi veritabanını bir satışın yetkili kaydı olarak ele aldığı anlamına gelir. Buluta senkronizasyon daha sonra gerçekleşir, otomatik olarak, bağlantı mevcut olduğunda.

Çevrimdışı ilk, 'çevrimdışı modu' olan ile aynı şey mi?

Zorunlu değil. Çevrimdışı modu olan olarak pazarlanan birçok sistem yine de bulutu birincil gerçeğin kaynağı olarak ele alır ve kısa kesintiler için en son verileri ön belleğe alır. Gerçek çevrimdışı ilk tasarım bu önceliği çevirir, böylece yerel mağaza yetkili ve senkronizasyon ikincil, en iyi çaba süreci olur.

Çevrimdışı ilk sistemler iki cihaz çevrimdışı durumdayken çakışan değişiklikleri nasıl işliyor?

Bu, alan içinde daha zor mühendislik problemlerinden biridir ve mevcut yazılar bunu açıkça tasarlanması gereken bir şey olarak açıklamaktadırlar — örneğin, zaman damgası tabanlı birleştirme kuralları veya manuel uzlaştırma — varsayılan değil. Alıcılar satıcılara doğrudan bu durumu nasıl işlediklerini sormalıdırlar.

Çevrimdışı ilk endüstri standardı olmaya başlamış olduğunun güçlü bağımsız kanıtı var mı?

Mevcut kanıt, bağımsız pazar araştırması yerine, bireysel sistemleri açıklayan uygulayıcı blog yazıları artı daha geniş bir yazılım mimarisi tartışma dizisidir. Bu, bu sorunu çözmek için mühendislerin açıkladığı şekilde gerçek ve tutarlı bir kalıbdır, ancak bunu kanıtlanmış bir endüstri çapında değişim değil, ortaya çıkan bir mühendislik mutabakatı olarak okunmalıdır.

Çevrimdışı güvenilirlik neden gelişmekte olan pazarlardaki dükkanlar için daha fazla önemlidir?

Çünkü güvenilmez internet veya elektrik, birçok bu pazarda nadir bir olay yerine rutin bir işletme durumudur. Bağlantı olmadan çalışamayan bir POS etkili bir şekilde kesintiler sırasında satışları durdurur, yerel ilk tasarım ise bir dükkanın hizmet döndüğünde kayıtları uzlaştırmasını sağlar ve çalışmaya devam ettirir.

Kaynaklar

Pultrack'ı deneyin✈ Telegram