Hai hệ thống cùng chứa danh mục vật tư, cùng cho sửa, và sau sáu tháng không ai biết bên nào đúng. Vấn đề không phải công nghệ tích hợp mà là chưa ai quyết định dữ liệu đó thuộc về hệ nào.
Nguyên tắc trước công nghệ
Mỗi dữ liệu chỉ có một chủ. Một hệ là nguồn sự thật; các hệ khác đọc, không ghi. Quyết định này phải có trước khi bàn tới API hay file.
Khi hai hệ cùng ghi vào cùng một trường, xung đột không phải khả năng mà là điều chắc chắn xảy ra — và việc xử lý xung đột tốn công hơn nhiều so với tích hợp một chiều.
Ba mức tích hợp
| Mức | Chi phí | Hợp khi |
|---|---|---|
| Nhập tay hai lần | Không tốn tiền, tốn công liên tục | Số bản ghi rất ít, tần suất thấp |
| File trung gian định kỳ | Thấp | Dữ liệu không cần tức thời, khối lượng vừa |
| Kết nối trực tiếp qua API | Cao, kèm chi phí duy trì | Cần tức thời hoặc khối lượng lớn |
Mức giữa bị đánh giá thấp một cách bất công. Một file CSV xuất ra và nạp vào mỗi đêm giải quyết được phần lớn nhu cầu tích hợp trong nhà máy, với chi phí bằng một phần nhỏ so với API — và khi nó hỏng thì ai cũng hiểu vì sao.

Khi nào cần API
- Dữ liệu phải cập nhật trong vài giây, ví dụ trạng thái đơn hàng hiển thị cho khách.
- Khối lượng lớn tới mức file trở nên khó xử lý.
- Cần ghi hai chiều với kiểm soát xung đột.
- Quy trình nghiệp vụ bắc qua hai hệ và không chờ được.
Chưa gặp trường hợp nào thì API là chi phí cho một nhu cầu chưa có, kèm theo một điểm hỏng mới cần duy trì.
Những gì phải thoả thuận khi tích hợp
- Trường nào đồng bộ, và chiều nào.
- Tần suất và thời điểm chạy.
- Xử lý lỗi — bản ghi lỗi thì bỏ qua, dừng cả lô, hay đưa vào hàng chờ.
- Ai được báo khi tích hợp hỏng, và báo bằng cách nào.
- Nhật ký — lưu bao lâu, ai xem được.
Mục thứ tư quyết định tích hợp có đáng tin không. Một luồng đồng bộ hỏng âm thầm ba ngày nguy hiểm hơn một luồng chưa từng được xây, vì mọi người vẫn tin dữ liệu đang đúng.

Thử với dữ liệu thật
Kiểm thử bằng dữ liệu mẫu sạch sẽ không phát hiện được vấn đề. Dữ liệu thật có ký tự lạ, trường bỏ trống, mã trùng, đơn vị tính không thống nhất — và đó chính là những thứ làm hỏng tích hợp.
Chạy song song một thời gian: tích hợp chạy nhưng vẫn giữ quy trình cũ, đối chiếu kết quả hằng ngày, và chỉ tắt quy trình cũ khi hai bên khớp nhau qua nhiều chu kỳ.
Câu hỏi thường gặp
Nguyên tắc quan trọng nhất khi tích hợp hai hệ thống là gì?
Mỗi dữ liệu chỉ có một chủ: một hệ là nguồn sự thật, các hệ khác đọc chứ không ghi. Quyết định này phải có trước khi bàn tới công nghệ. Khi hai hệ cùng ghi vào cùng một trường thì xung đột là điều chắc chắn xảy ra, và xử lý xung đột tốn công hơn nhiều so với tích hợp một chiều.
File CSV định kỳ có đủ không hay phải dùng API?
Với phần lớn nhu cầu tích hợp trong nhà máy thì file định kỳ là đủ, chi phí bằng một phần nhỏ so với API, và khi hỏng thì ai cũng hiểu vì sao. API chỉ cần khi dữ liệu phải cập nhật trong vài giây, khối lượng quá lớn cho file, hoặc quy trình nghiệp vụ bắc qua hai hệ và không chờ được.
Điều gì quyết định tích hợp có đáng tin hay không?
Cơ chế báo lỗi. Một luồng đồng bộ hỏng âm thầm trong ba ngày nguy hiểm hơn một luồng chưa từng được xây, vì mọi người vẫn tin dữ liệu đang đúng và ra quyết định dựa trên nó. Phải thoả thuận trước ai được báo khi tích hợp hỏng, báo bằng cách nào, và nhật ký lưu bao lâu.