Offline-first: phần mềm hiện trường không được chết theo mạng

Có một câu hỏi mà chúng tôi khuyên mọi doanh nghiệp đặt ra trước khi ký hợp đồng phần mềm, nhưng rất ít nơi hỏi: “Mất mạng thì sao?”

Câu hỏi này nghe đơn giản, nhưng nó phân loại nhà cung cấp nhanh hơn bất kỳ buổi demo nào. Bởi vì demo luôn diễn ra trong điều kiện mạng đẹp — còn hiện trường thì không. Cáp quang bị đứt, 4G chập chờn giờ cao điểm, thiết bị phát wifi mất điện. Trong khi đó: xe tải vẫn đang nằm trên bàn cân, khách vẫn đang đứng chờ thanh toán, và bệnh nhân vẫn đang ngồi trước cửa phòng khám.

Ba cấp độ “chịu đựng” của phần mềm

Nhìn từ hiện trường, phần mềm chia làm ba loại:

  • Loại chết ngay: ứng dụng web thuần, mọi thao tác gọi về máy chủ. Mất mạng là màn hình trắng. Đáng tiếc, đây là loại phổ biến nhất.
  • Loại chết từ từ: có cache một phần, xem được dữ liệu cũ nhưng không ghi nhận được giao dịch mới. Nhân viên quay lại giấy bút, và buổi tối có người phải gõ lại toàn bộ.
  • Loại sống khoẻ: điểm chạm trọng yếu hoạt động hoàn toàn cục bộ — cân vẫn cân, in vẫn in, order vẫn chạy — và tự đồng bộ khi mạng trở lại.

Đồng bộ lại mới là phần khó

Làm phần mềm chạy offline không quá khó. Phần khó là khi mạng trở lại: hai nguồn dữ liệu (cục bộ và trung tâm) phải hợp nhất mà không trùng, không sót, không ghi đè nhầm. Vài nguyên tắc chúng tôi áp dụng ở mọi sản phẩm Gongugan:

  1. Mỗi giao dịch một định danh duy nhất sinh tại chỗ — đồng bộ lại bao nhiêu lần cũng không thành hai bản ghi.
  2. Nhật ký sự kiện thay vì ghi đè trạng thái — trung tâm phát lại chuỗi sự kiện theo thứ tự, xung đột được phát hiện thay vì bị im lặng nuốt mất.
  3. Đối soát có bằng chứng: sau mỗi phiên đồng bộ, hệ thống in được báo cáo “bao nhiêu bản ghi cục bộ, bao nhiêu đã lên trung tâm, lệch ở đâu”. Không có bằng chứng thì chỉ là niềm tin.
Phần mềm hiện trường tốt giống một nhân viên giỏi: mất điện thoại vẫn làm được việc, có sóng lại thì báo cáo đầy đủ — chứ không đứng im chờ sếp gọi.

Checklist 5 câu để hỏi nhà cung cấp

  • Mất mạng, tôi còn làm được thao tác nào? Thao tác nào mất?
  • Dữ liệu ghi trong lúc offline nằm ở đâu, có mã hoá không?
  • Mạng về, đồng bộ tự động hay phải bấm tay? Mất bao lâu?
  • Nếu hai nơi cùng sửa một bản ghi trong lúc mất mạng thì sao?
  • Cho tôi xem báo cáo đối soát của một phiên đồng bộ thật.

Nhà cung cấp trả lời trôi chảy năm câu này — kèm màn hình thật, không phải slide — là nhà cung cấp đã từng đứng ở hiện trường. Đó cũng là tiêu chuẩn chúng tôi tự đặt cho mình ở mọi phân hệ, từ trạm cân của Gongugan Port, quầy thu ngân của Gongugan Serve đến phòng khám của Gongugan HIS.

Bạn muốn thấy những điều trên chạy thật? Tài khoản dùng thử được tạo tự động ngay khi đăng ký — không cần thẻ, không chờ đợi.

Đăng ký dùng thử miễn phí →