İnternet olmasa da işinize devam edin.

Desteklenen mobil işlemlerde görevleri görüntüleyin ve sonuçları internet olmadan kaydedin. Bağlantı geldiğinde kayıtlar gönderilir; bekleyen işlemleri uygulamada görebilirsiniz.

Yazan: Faromo · Ürün ve denizcilik domain ekibiİnceleme: Faromo · Teknik ve mevzuat incelemesiSon inceleme:

İnternet olmadığında da çalışmaya devam edin.

Geminin bağlantısı yavaşladığında veya tamamen kesildiğinde günlük bakım, kontrol listesi ve operasyon kayıtları yine devam eder. Sistem yalnız çevrimiçi forma dayanıyorsa ekip kağıda döner ve daha sonra çift veri girişi oluşur.

Faromo bu problemi tek bir “offline” anahtarıyla değil; mobilde SQLite, webde IndexedDB ve sunucuda tenant kapsamlı olay geçmişinden oluşan katmanlı bir akışla ele alır. Yerel kayıt, aktarım kuyruğu ve sunucu sonucu aynı şey değildir; her durum kendi kontrol noktasıyla izlenir.

“Kaydedildi” ile “ofise ulaştı” aynı durum değildir.

IMO, gemi–kara dijital sistemlerini operasyonel dayanıklılık ile verinin kullanılabilirliği ve bütünlüğü bağlamında ele alır. Faromo bu çerçeveyi yerel, kuyrukta ve sunucuda uygulanmış durumları ayıran bir ürün mimarisine dönüştürür. Bu eşleme bir mevzuat onayı değildir.[1][2]

YEREL

Bağlantıdan bağımsız çalışma

Önceden alınmış kayıtlar mobilde SQLite, webde IndexedDB üzerinden kullanılabilir; yeni sonuç bağlantı gelmesini beklemeden yerel olarak saklanır.

KUYRUK

Aktarım durumunu ayırın

Bekleyen ve başarısız yazmalar görünür kalır. Mobil fotoğraflar önce yüklenir; güncellenen kuyruk verisi tekrar denemede aynı dosyanın yeniden gönderilmesini önler.

SUNUCU

Ortak duruma kontrollü geçiş

Sunucu yazmayı giriş yapan şirket kapsamında uygular; cursor, olay durumu ve kayıt türüne özgü tekrar oynatma sonucu tanı ve izleme için korunur.

UYGULANMIŞ MİMARİ

İstemci ve senkron katmanları matrisi

Faromo’nun çevrimdışı davranışı istemciye ve işlem yoluna göre değişir. Bu matris, her katmanın neyi sakladığını, ne zaman gönderdiğini ve kontrol sınırını ürün kodundaki mevcut davranışla açıklar.

KatmanYerel kayıtGönderim tetikleyicisiBaşarısızlık davranışıKontrol sınırı
NATIVE APPSQLite önbelleği ve cihaz içi yazma kuyruğuBağlantının dönmesi, uygulamanın öne gelmesi veya kullanıcının manuel eşitlemesiArtan bekleme süreleriyle yeniden dener; kayıt bekleyen veya başarısız durumda kalır.Kapsam ekran ve aksiyon bazında açılır. REST tekrarında mükerrer kayıt kontrolü her endpoint için doğrulanmalıdır.
WEB PWAIndexedDB sorgu önbelleği ve REST yazma kuyruğuÇevrimiçi olma, 12 saniyelik periyot veya manuel eşitlemeKalıcı istemci hatası ya da beş deneme sonrası kayıt başarısız durumunda kalır.Kimlik ve senkron endpoint’leri kuyruğa alınmaz; çıkışta yerel önbellek ve yazma kuyruğu temizlenir.
SYNC EVENT LOGSunucuda yalnız eklemeli olay kaydı ve monoton cursorPush/pull çağrıları ve dakikalık tekrar oynatma işçisiSonuç replayed, skipped, conflict veya rejected olarak olay geçmişinde kalır.clientEventId tekilleştirmesi sync event endpoint’indedir; her genel REST yazmasına otomatik uygulanmaz.
CROSS-DEVICE PULLKayıtlı cihaz, son cursor ve son başarılı pull zamanı15 saniyelik periyot, pencere odağı veya bağlantının geri gelmesiCursor korunur; sonraki başarılı pull değişen kayıt gruplarını yeniden sorgulatır.Kayıt türü ve gemi filtreleri yalnız kayıtlı cihazlarda ve desteklenen olay tiplerinde uygulanır.

Çevrimdışı destek tüm ürün için tek bir evet/hayır özelliği değildir. Her kritik aksiyon; okuma önbelleği, yazma kuyruğu, ek dosya, tekrar deneme, çakışma ve mükerrer kayıt davranışıyla birlikte doğrulanmalıdır.

PİLOT GEMİ KONTROLÜ

Bir gemiyi çevrimdışı kullanıma almadan önce ne doğrulanmalı?

IMO’nun dayanıklılık, iş sürekliliği ve kurtarma bağlamı ürün seçimine yön verir; gerçek kabul testi ise geminin kullanacağı ekran ve aksiyonlarla yapılmalıdır. Aşağıdaki liste pilot gemi için teknik ve operasyonel kontrol kapısıdır.[1][2]

  1. Kapsam Offline kullanılacak aksiyonları yazın: Rol, ekran, görüntülenecek kayıt, oluşturma/güncelleme adımı ve gemi bağlamını tek tek tanımlayın.
  2. Yerel veri Önceden indirilen veri setini sınayın: Hangi kayıtların cihazda bulunduğunu, son güncellik zamanını ve bağlantısız açılış davranışını doğrulayın.
  3. Oturum Paylaşılan cihaz sınırını koruyun: Çıkışta önbellek ve bekleyen yazmaların temizlendiğini; sonraki kullanıcının önceki oturum verisine erişemediğini doğrulayın.
  4. Tekrar Hata türlerini ayırın: Ağ kesintisi, sunucu hatası ve doğrulama hatasında bekleyen/başarısız durumlarının ve kullanıcı mesajının doğru değiştiğini test edin.
  5. Tekilleştirme Mükerrer gönderimi endpoint bazında deneyin: Sunucu yazmayı alıp yanıt kaybolduğunda POST, PUT ve PATCH tekrarının yeni kayıt mı yoksa aynı sonucu mu ürettiğini doğrulayın.
  6. Çakışma Kayıt türü politikasını doğrulayın: Aynı kayıt iki yerde değiştiğinde seçilen, birleştirilen, atlanan veya reddedilen sonucu ve olay geçmişini inceleyin.
  7. Ek dosya Fotoğraf tekrarını sınayın: Yerel dosyanın önce yüklendiğini, kuyruk kaydının güncellendiğini ve tekrar denemede aynı dosyanın yeniden yüklenmediğini doğrulayın.
  8. Kurtarma Uçtan uca bağlantı tatbikatı yapın: Uçak modu, yeniden bağlantı, bekleyen yazma, cursor ilerlemesi, eski cihaz uyarısı ve ofis görünürlüğünü gerçek pilot senaryoda test edin.

“Offline çalışır” ifadesini genel kabul olarak kullanmayın. Pilot kabulünü, gemide gerçekten uygulanacak kritik senaryolar ve kayıt türleri üzerinden tamamlayın.

Kapsam ve temel bileşenler

Yerel görev erişimi

Atanmış işler ve gerekli referanslar bağlantı yokken kullanılabilir kalır.

Çevrimdışı kayıt

Sonuç, not, ölçüm ve ilgili operasyon verisini cihazda güvenli şekilde kaydedin.

Senkron kuyruğu

Aktarım bekleyen kayıtları sıra, durum ve hata nedeni ile görün.

Tekrar deneme

Kesilen aktarım bağlantı döndüğünde kontrollü biçimde devam eder.

Kayıt türüne göre çakışma

Bakım, sertifika, olay ve yalnız eklemeli defter kayıtları için farklı tekrar oynatma kararlarını olay geçmişinde koruyun.

Ofis durumu

Kayıtlı cihazın son eşitleme zamanını, cursor ilerlemesini ve eski kalan cihazları izleyin.

İş akışı

  1. Veriyi gemiye hazırlayın: Görev ve referanslar yerel kullanıma alınır.
  2. Bağlantısız çalışın: Ekip günlük işi kesintisiz tamamlar.
  3. Kuyruğu yönetin: Tamamlanan kayıtlar aktarım için sıraya girer.
  4. Ofisle eşitleyin: Bağlantı döndüğünde kayıtlar doğrulanarak ortak duruma ulaşır.

Operasyonel sonuç

  • Bağlantı kesintisinde kağıda geri dönme ihtiyacını azaltın.
  • Aynı kaydın tekrar girilmesinden doğan hataları azaltın.
  • Gemi ve ofis arasında aktarım durumunu görünür tutun.
  • Zayıf bağlantıda günlük işi bekletmeden sürdürün.

Ürün kanıtı

SQLite, IndexedDB ve tenant kapsamlı olay geçmişi

Native ve web istemcileri yerel kayıt ile aktarım durumunu ayırır; çıkışta cihaz verisi temizlenir, sunucu yazmayı giriş yapan şirket kapsamında uygular.

Sık sorulan sorular

Hangi modüller çevrimdışı çalışabilir?

Kapsam istemci ve aksiyon bazında doğrulanır. Native uygulamada iş emri, noon report, dinlenme saati, drill, olay, CAPA, kontrol listesi, logbook, permit-to-work ve ilgili operasyon akışlarında yerel kuyruk uygulanmıştır; satın alma öncesi pilot kapsam ayrıca teyit edilmelidir.

Aynı kayıt iki yerde değiştirilirse ne olur?

Tek bir genel birleştirme kuralı yoktur. Sunucu kayıt türüne özgü politikayı uygular; sonuç replayed, skipped, conflict veya rejected olarak olay geçmişinde tutulur ve tanı için incelenebilir.

Senkron başarısız olursa veri kaybolur mu?

Başarısız yazma bekleyen veya başarısız durumda yerel kuyrukta kalır ve yeniden denenebilir. Yine de pilot kabulünde cihaz kaybı, oturum kapatma, ek dosya ve sunucu yanıtının kaybolduğu senaryolar ayrı ayrı test edilmelidir.

Ofis geminin son eşitlemesini görebilir mi?

Evet. Yetkili kullanıcı kayıtlı cihazın son başarılı pull zamanını, son cursor değerini ve güncelliğini yitirmiş cihaz durumunu izleyebilir. Cihazdaki yerel bekleyen kayıt sayısı ise cihaz üzerinde gösterilir.

Birincil kaynaklar