Rehber

Offline Çalışma Senaryosu: İnternet Kesilince Ne Yapılır?

Koray Çetintaş 10 Şubat 2026 15 dk okuma


Offline-First Mimari Nedir?

Network Infrastructure ve Offline Sistemler

Bağlantı sorununu sahada değil, tasarım masasında çözmek

Geleneksel web ve mobil uygulamalar “online-first” mantığıyla çalışır: kullanıcı bir işlem yapar, sunucuya istek gider, yanıt döner, sonuç ekrana gelir. Bu modelin sessiz varsayımı şudur; internet her zaman vardır ve güvenilirdir. Sahada çalışan hiç kimse bu varsayımın doğru olmadığını size uzun uzun anlatmaya gerek duymaz.

Offline-first mimari ise varsayımı baştan tersine çevirir: uygulama, internet olmadan da temel işlerini yapabilecek şekilde kurgulanır. Bağlantı geldiğinde veriler arka planda sessizce senkronize edilir.

Offline-First’un Temel Prensipleri

  • Local-first veri: Veriler önce yerel cihazda (telefon, tablet, yerel sunucu) saklanır
  • Asenkron senkronizasyon: Bağlantı varken veriler arka planda merkeze iletilir
  • Çakışma yönetimi: Aynı veri farklı noktalarda değişirse, önceden tanımlı kurallarla çözülür
  • Progressive enhancement: Online iken ek özellikler devreye girer, offline iken çekirdek işlevler çalışmaya devam eder

Neden Offline-First?

Offline çalışma yalnızca internet kesintileri için değil, şu durumlarda da hızla kritik hale gelir:

  • Düşük bant genişlikli bölgelerde çalışan saha ekipleri
  • Yeraltında ya da metal yapılar içinde RF sinyali tutmayan depolar
  • Uzak lokasyonlarda (şantiye, maden, tarım alanı) operasyon yapan ekipler
  • Yurt dışında roaming maliyetini kısmak isteyen, seyahat eden personel
  • Kesintisiz çalışmanın zorunlu olduğu üretim hatları

Sektör bazlı uygulamalara baktığınızda, özellikle üretim, lojistik ve perakendede offline yeteneklerin artık bir “iyi olsa güzel olur” konusu değil, doğrudan bir standart beklenti haline geldiğini görürsünüz.


Local Caching Stratejileri

Data Storage ve Cache Yapıları

Cache kararı, offline deneyimin belini tutan yer

Offline çalışmanın kalbi yerel veri saklamadır. Kullanıcının ihtiyaç duyacağı veri önceden inmiş olmalı, ürettiği işlem sonuçları da kaybolmadan güvenle saklanmalıdır. Bu iki cümle basit görünür ama uygulamada işin çoğu buradadır.

Browser Tabanlı Cache Seçenekleri

localStorage ve sessionStorage

Basit key-value depolama için uygundur. Sınırları belli: 5-10 MB kapasite, yalnızca string veri, senkron API. Yeri: kullanıcı tercihleri, son görülen öğeler, form taslakları.

IndexedDB

Büyük hacimli, yapılandırılmış veri için tasarlanmış bir NoSQL veritabanı. Yüzlerce MB kapasite, indeksleme ve sorgulama, asenkron API sunar. Ürün katalogları, müşteri listeleri ve offline işlem kuyruğu için doğru adres burasıdır.

Cache API (Service Worker)

HTTP yanıtlarını önbelleklemek için kullanılır. Statik dosyalar (HTML, CSS, JS, görseller) ve API yanıtları için biçilmiş kaftandır; PWA’ların temel taşıdır.

Mobil Uygulama Cache Seçenekleri

SQLite

Hem iOS hem Android’de native desteklenen ilişkisel veritabanı. SQL sorgu desteği, transaction garantisi, büyük veri setleri… Kurumsal mobil uygulamaların büyük çoğunluğu bunu kullanır, boşuna değil.

Realm Database

Mobil için optimize edilmiş bir nesne veritabanı. Hızlı okuma/yazma, reaktif sorgular ve otomatik senkronizasyon desteği sunar. Özellikle real-time uygulamalarda tercih edilir.

Core Data (iOS) / Room (Android)

Platforma özel ORM katmanları. Artısı platform entegrasyonu, bellek yönetimi ve migration desteği. Eksisi ise cross-platform kod paylaşımını zorlaştırması.

Cache Stratejileri

  • Cache-first: Önce cache’e bak, yoksa network’e git. Offline öncelikli uygulamalar için ideal.
  • Network-first: Önce network’e git, olmazsa cache’e dön. Güncel veri önemliyse tercih edilir.
  • Stale-while-revalidate: Cache’den hemen döndür, arka planda tazele. Hız ile güncelliği ortalar.
  • Cache-only: Sadece cache’den döndür. Statik içerik için uygun.
  • Network-only: Sadece network’ten al. Gerçek zamanlı veri için.

Senkronizasyon Mekanizmaları

Data Sync ve Senkronizasyon

Senkronizasyon doğru kurulmazsa, veri bütünlüğü ilk kurban olur

Offline senaryonun en kritik parçası, yerelde biriken değişikliklerin merkeze nasıl aktarılacağıdır. Senkronizasyon, bir yandan veri bütünlüğünü koruyacak, diğer yandan kullanıcıyı bekletip deneyimi bozmayacaktır. İnce ayar tam da burada başlar.

Senkronizasyon Modelleri

Full Sync (Tam Senkronizasyon)

Her senkronizasyonda tüm veri seti karşılaştırılır. Artısı basitlik; eksisi, büyük veri setlerinde yavaşlaması ve bant genişliğini yemesi. Küçük veri setleri ve nadiren değişen master data için uygundur.

Delta Sync (Fark Senkronizasyonu)

Yalnızca son senkronizasyondan bu yana değişen kayıtlar aktarılır. Takip, timestamp ya da versiyon numarası üzerinden yapılır. Kurumsal uygulamalarda fiilen standart yaklaşım budur.

Event Sourcing

Verinin son hali yerine olaylar (events) senkronize edilir; merkez sunucu bu olayları sırayla uygulayarak güncel durumu yeniden inşa eder. Çakışma çözümünü kolaylaştırır ve size hazır bir audit trail verir. Karşılığında implementasyonu karmaşıktır.

Senkronizasyon Tetikleyicileri

  • Bağlantı geri geldiğinde: Network durumu dinlenir, online olunca otomatik başlar
  • Periyodik: Belirli aralıklarla (örneğin her 5 dakikada) kontrol edilir
  • Kullanıcı tetikli: Manuel “senkronize et” butonuyla başlatılır
  • İşlem bazlı: Kritik işlemlerden hemen sonra senkronizasyon denenir
  • Background sync: Service Worker ile arka planda, uygulama kapalıyken bile çalışır

Kuyruk Yönetimi

Offline yapılan işlemler bir kuyrukta bekler. Bu kuyruğu yönetirken gözden kaçırılmaması gerekenler:

  • Sıralama: İşlemlerin doğru sıraya konması (önce müşteri oluştur, sonra sipariş gir)
  • Retry mantığı: Başarısız işlemlerin tekrar denenmesi, exponential backoff
  • Idempotency: Aynı işlemin birden fazla gönderilmesinin zarar vermemesi
  • Timeout: Çok eski işlemlerin iptali ya da uyarıya dönüşmesi

Conflict Resolution Yöntemleri

Data Conflict ve Çözüm Stratejileri

Çakışma olacak; mesele hangi kuralla çözüldüğü

Birden fazla kullanıcı ya da cihaz aynı veriyi offline düzenleyebilir. Bağlantı gelip herkes eş zamanlı senkronize olmaya çalıştığında bu değişiklikler çakışır. Conflict resolution, işte bu çakışmaların nasıl çözüleceğini önceden belirler.

Otomatik Çözüm Stratejileri

Last-Write-Wins (LWW)

En son yapılan değişiklik kazanır. Uygulaması kolaydır ama veri kaybı riski taşır. Yeri: kritik olmayan veriler, log kayıtları, tercih ayarları.

First-Write-Wins (FWW)

İlk yapılan değişiklik geçerli olur, sonrakiler reddedilir. Yeri: önce gelenin kazandığı senaryolar; tipik örnek stok rezervasyonudur.

Merge (Birleştirme)

Her iki değişiklik de korunur ve birleştirilir. Field-level merge ile farklı alanlardaki değişiklikler otomatik olarak yan yana durur. Yeri: doküman işbirliği, listeye ekleme işlemleri.

Version Vectors / CRDT

Conflict-free Replicated Data Types, matematiksel olarak çakışmasız birleştirme garantisi verir. Otomatik ve tutarlı bir sonuç sunar; karşılığında her veri tipine oturmaz ve implementasyonu karmaşıktır.

Manuel Çözüm Gerektiren Durumlar

Bazı çakışmalar otomatik çözülemez; kullanıcının araya girmesi gerekir:

  • Aynı alana farklı değerlerin yazılması (örneğin iki farklı fiyat girişi)
  • İş kurallarının ihlal edildiği durumlar (örneğin stoktan fazla satış)
  • Kritik finansal ya da yasal sonucu olan değişiklikler

Conflict Prevention

En iyi çakışma çözümü, çakışmayı en baştan engellemektir:

  • Pessimistic locking: Kayıt düzenlenirken başkası düzenleyemez (online gerektirir)
  • Optimistic locking: Kayıt versiyon numarasıyla kontrol edilir
  • Partition by user: Her kullanıcı yalnızca kendi verisini düzenler (çakışma ihtimali yok)
  • Append-only: Veri güncellenmez, yeni kayıt eklenir (log yaklaşımı)

Mobil Uygulamalarda Offline Mod

Mobil Uygulama Offline Capabilities

Offline çalışmanın en görünür sahnesi mobil

Saha ekipleri, teslimat personeli, satış temsilcileri, teknik servis… hepsi mobil cihazla çalışır. Bu kullanıcılar için offline çalışma lüks değil, doğrudan iş sürekliliği demektir.

Native vs Hybrid vs PWA

Native Mobil Uygulama

Artıları: tam donanım erişimi, en iyi performans, gelişmiş offline yetenekler. Eksileri: iOS/Android’i ayrı geliştirme, mağaza onay süreci, güncelleme dağıtımı derdi.

Hybrid Uygulama (React Native, Flutter)

Artıları: tek kod tabanı, native’e yakın performans, olgun bir offline plugin ekosistemi. Eksileri: native kadar esnek olmaması, bazı platform özelliklerine sınırlı erişim.

Progressive Web App (PWA)

Artıları: kurulum gerektirmez, otomatik güncellenir, cross-platform çalışır. Eksileri: sınırlı donanım erişimi, iOS’ta kısıtlı Service Worker desteği ve büyük veri setlerinde performans sıkıntısı.

Offline Mobil Uygulama Özellikleri

  • Background sync: Uygulama arka plandayken senkronizasyon
  • Push notification queue: Offline iken gelen bildirimlerin kuyruklanması
  • Selective sync: Yalnızca ihtiyaç duyulan verinin seçilerek indirilmesi
  • Bandwidth-aware sync: Bağlantı türüne göre (WiFi/mobil veri) değişen senkronizasyon davranışı
  • Offline indicator: Bağlantı durumunun kullanıcıya net gösterilmesi
  • Pending operations display: Bekleyen işlemlerin listesi ve durumu

Mobil Offline Best Practices

  • Kritik verileri önceden indirin (pre-cache)
  • Büyük dosyaları (resim, PDF) lazy-load yapın
  • Offline işlem limitlerini belirleyin ve kullanıcıya bildirin
  • Pil tüketimini optimize edin (sync sıklığı, arka plan aktivitesi)
  • Depolama kullanımını izleyin ve eski verileri temizleyin

Edge Computing ve Yerel İşlem

Edge Computing Infrastructure

İşlemi merkeze taşımak yerine, verinin yanına götürmek

Edge computing, veri işlemlerini merkezi bulut yerine kullanıcıya yakın noktalarda yapar. Offline senaryoda edge node’lar, internet gitmiş olsa bile yerel operasyonu ayakta tutan düğümlerdir.

Edge Node Türleri

On-Premise Mini Server

Fabrika, depo ya da mağaza içine konumlanan küçük bir sunucu. Yerel ağda çalışır; internet kesildiğinde yerel işlerin tamamını sürdürür, bağlantı gelince merkeze senkronize olur.

IoT Gateway

Sensör ve makinelerden veri toplayan, ön işleme yapan cihaz. Offline durumda veriyi yerelde biriktirir, bağlantı gelince yığın halinde gönderir. Üretim ve lojistik ortamlarında sık görülür.

Thick Client

Kullanıcının çalışma istasyonunda çalışan, kapsamlı iş mantığı barındıran uygulama. Browser tabanlı thin client’in aksine offline’da tam işlevsellik sunar. ERP masaüstü istemcileri bu kategoridedir.

Edge Computing Avantajları

  • Düşük latency: Verinin merkeze gidip gelmesi gerekmez
  • Bant genişliği optimizasyonu: Merkeze yalnızca özet/aggregated veri gider
  • Offline dayanıklılık: İnternet olmadan da çalışabilme
  • Veri mahremiyeti: Hassas veri yerelde kalabilir
  • Regülasyon uyumu: Bazı verilerin ülke/bölge dışına çıkamaması gerekliliği

Edge-Cloud Hibrit Mimari

Modern offline mimarisi, edge ile cloud’u birbirine bağlar:

  • Edge katmanı: Gerçek zamanlı işlemler, yerel cache, offline yetenek
  • Cloud katmanı: Merkezi veri deposu, analitik, raporlama, yedekleme
  • Sync katmanı: Edge ile cloud arasında güvenilir veri aktarımı

Sahadan Örnek: Dağıtım Firmasının Offline Dönüşümü

Gerçek Vaka (Markasız)

Dağıtım ve Lojistik Offline Senaryo

Durum

120 araçlık dağıtım filosu olan bir FMCG distribütörü. Günde ortalama 8.000 teslimat noktası. Sürücülerin elinde sipariş/teslimat uygulaması yüklü el terminalleri. Sorun şuydu: kırsal bölgelerde internet kesildiğinde siparişler kayboluyor, gerçek zamanlı stok takibi tutmuyordu.

Uygulanan Adımlar

  1. Offline-first yeniden tasarım: Mobil uygulama SQLite tabanlı yerel veritabanıyla yeniden yazıldı
  2. Günlük rota pre-cache: Her sabah sürücü, o günün müşteri listesini, fiyat ve stok bilgisini indiriyor
  3. Offline sipariş girişi: İnternet olmadan sipariş alınıyor, yerelde saklanıyor
  4. Akıllı sync: WiFi’a girince (depo, mağaza) otomatik senkronizasyon
  5. Conflict policy: Stok çakışmalarında “ilk gelen kazanır”, fiyat çakışmalarında merkez fiyatı esas
  6. Edge server: Her bölge deposunda yerel sunucu, bölge içi offline çalışmayı destekliyor

Sonuç (Temsili)

  • Kaybolan sipariş oranı: %3,2’den %0,1’e düştü
  • Sürücü üretkenlik artışı: %18 (bekleme süresi azaldı)
  • IT destek çağrıları: %45 azaldı (bağlantı sorunları için)
  • Gerçek zamanlı stok görünürlüğü: %94’e yükseldi

Offline Senaryoda En Sık Yapılan 7 Hata

1. Offline Durumu Test Etmemek

Geliştirme ve test ortamlarında internet hep açıktır. Gerçek offline durum simüle edilmeden canlıya alınan uygulamalar sahada tökezler. Chrome DevTools’un “Offline” modu tek başına yeterli değildir; işi gerçek cihazda görmeniz gerekir.

2. Sınırsız Offline Süre Varsaymak

Sistem 1 saat offline çalışabilir, peki 1 hafta offline kalırsa? Biriken veri hacmi, stale data riski ve senkronizasyon karmaşıklığı önceden hesaplanmalı. Makul bir offline süre limiti koymadan yola çıkmayın.

3. Conflict Resolution Planlamamak

“Çakışma olursa bakarız” yaklaşımı. Çakışma senaryoları tasarım aşamasında belirlenmeli, her veri tipi için çözüm stratejisi yazıya dökülmeli. Yoksa kullanıcı bir gün tutarsız veriyle yüz yüze gelir.

4. Kullanıcıya Bilgi Vermemek

Kullanıcı offline çalıştığını bilmiyor, işlemlerinin beklemede olduğunu görmüyor. Net bir offline indicator ve pending operations gösterimi şart. Belirsizlik, doğrudan güven kaybına yol açar.

5. Tüm Verileri İndirmeye Çalışmak

100.000 ürün, 50.000 müşteri… hepsini mobil cihaza indirmek hem gereksiz hem imkânsız. Selective sync ile kullanıcının gerçekten ihtiyaç duyduğu veri seti belirlenmeli. Aksi halde depolama ve performans birlikte çöker.

6. Senkronizasyon Hata Yönetimi Eksikliği

Sync başarısız olursa ne olacak? Retry mantığı, hata loglama, kullanıcı bildirimi ve manuel müdahale seçeneği planlanmalı. “Sessizce başarısız olan” bir senkronizasyon, en sinsi veri kaybı sebebidir.

7. Güvenlik İhmali

Offline saklanan veri şifreli mi? Cihaz kaybolur ya da çalınırsa ne olur? Yerel veritabanı şifrelemesi, secure storage ve remote wipe yeteneği offline uygulamalarda pazarlık konusu değildir.

Offline Sistem Hata Önleme

İyi planlama, offline senaryoda veri kaybının önündeki en sağlam bariyer


Offline Çalışma Başarı Metrikleri

Aşağıdaki metrikler, offline çalışma senaryosunun başarısını ölçmek için işe yarar (değerler temsilidir):

Metrik Hedef Kritik Eşik Ölçüm Yöntemi
Offline işlem başarı oranı %99+ < %95 Offline queue completion rate
Senkronizasyon başarı oranı %99,5+ < %98 Sync success/failure logs
Conflict oranı < %1 > %5 Conflict resolution logs
Ortalama sync süresi < 30 sn > 2 dk Sync duration metrics
Veri tutarlılık oranı %100 < %99 Data integrity checks
Maksimum offline süre 8+ saat < 2 saat Operational requirements
Kullanıcı memnuniyeti (offline) %85+ < %70 Kullanıcı anketi

Offline Hazırlık Kontrol Listesi (16+ Madde)

Aşağıdaki liste, offline çalışma senaryosunu planlarken ve hayata geçirirken elinizin altında tutabileceğiniz kapsamlı bir rehberdir:

A. Mimari Tasarım

  • Offline-first mimari kararı verildi ve dokümante edildi
  • Offline çalışacak ve çalışmayacak işlevler belirlendi
  • Yerel veri depolama teknolojisi seçildi (IndexedDB, SQLite, vb.)
  • Senkronizasyon modeli tasarlandı (delta, event sourcing, vb.)
  • Edge computing gerekliliği değerlendirildi

B. Veri Yönetimi

  • Offline saklanacak veri setleri tanımlandı
  • Selective sync kriterleri belirlendi (kullanıcı, bölge, tarih)
  • Veri boyutu ve depolama limitleri hesaplandı
  • Eski/stale veri temizleme politikası oluşturuldu

C. Conflict Resolution

  • Her veri tipi için conflict stratejisi belirlendi
  • Manuel çözüm gerektiren durumlar tanımlandı
  • Conflict loglama ve raporlama mekanizması kuruldu

D. Kullanıcı Deneyimi

  • Offline indicator tasarlandı ve implemente edildi
  • Pending operations görüntüsü oluşturuldu
  • Offline/online geçiş bildirimleri tanımlandı
  • Kullanıcı dokümantasyonu ve eğitimi hazır

E. Test ve Güvenlik

  • Gerçek cihazda offline test senaryoları çalıştırıldı
  • Uzun süreli offline test (hedef süre) tamamlandı
  • Yerel veri şifreleme aktif
  • Cihaz kaybı/çalınma prosedürü belirlendi

Sıkça Sorulan Sorular (SSS)

Offline-first mimari, uygulamayı internet olmadan da çalışabilecek şekilde kurmaktır. Veriler önce yerel cihazda saklanır, bağlantı geldiğinde merkeze senkronize edilir. Özellikle saha operasyonları, depo yönetimi ve mobil satış ekipleri için hayati önemdedir.

Local cache genelde küçük boyutlu, key-value verilerde kullanılır (localStorage, sessionStorage). IndexedDB ise büyük hacimli, yapılandırılmış veriler için tasarlanmış bir NoSQL veritabanıdır. Offline senaryolarda binlerce kaydı saklamak ve sorgulamak için IndexedDB çok daha uygundur.

Temel stratejiler: Last-Write-Wins (son yazan kazanır), First-Write-Wins (ilk yazan kazanır), Merge (birleştirme) ve Manual Resolution (manuel çözüm). Seçim, veri türünüze ve iş kurallarınıza bağlıdır. Kritik finansal veride manuel onay, log kayıtlarında otomatik birleştirme daha mantıklıdır.

Edge computing, veri işlemlerini merkezi sunucu yerine kullanıcıya yakın noktalarda (edge node) yapar. Fabrikada yerel sunucu, mağazalarda mini server ya da IoT gateway’ler edge node görevi görür. İnternet kesildiğinde bu cihazlar bağımsız çalışır, bağlantı gelince merkeze senkronize olur.

PWA, Service Worker teknolojisiyle temel offline yetenekler sunar. Ancak karmaşık iş mantığı, büyük veri setleri ve ciddi çakışma çözümü söz konusu olduğunda ek bir mimariye ihtiyaç duyarsınız. PWA iyi bir başlangıç noktasıdır ama kurumsal uygulamalarda çoğu zaman native mobil ya da hibrit çözümlerle desteklenmesi gerekir.

Bu, operasyonel gereksinime bağlıdır. Tipik aralıklar: saha satış ekibi için 8-24 saat, depo operasyonları için 4-8 saat, üretim hattı için 2-4 saat. Kritik sistemlerde daha kısa süreler hedeflenir. Offline süre uzadıkça biriken veri hacmini ve artan senkronizasyon karmaşıklığını da hesaba katmak gerekir.


Yazar Hakkında

Koray Çetintaş, dijital dönüşüm, ERP mimarisi, süreç mühendisliği ve stratejik teknoloji liderliği alanlarında uzman danışmandır. Yapay zeka, IoT ekosistemleri ve endüstriyel otomasyon konularındaki saha deneyimiyle “Strateji + İnsan + Teknoloji” yaklaşımını uygular.

Yazar Hakkında

Koray Çetintaş, dijital dönüşüm, ERP mimarisi, süreç mühendisliği ve stratejik teknoloji liderliği alanlarında uzman danışmandır. Yapay zekâ, IoT ekosistemleri ve endüstriyel otomasyon konularında saha deneyimi ile "Strateji + İnsan + Teknoloji" yaklaşımını uygular.

Projeniz İçin Destek Alın

Dijital dönüşüm yolculuğunuzda size rehberlik edebilirim. Ücretsiz ön görüşme için randevu alın.