Trên trang này
Hai doanh nghiệp khách hàng đều có trường “active”. Ở doanh nghiệp thứ nhất, nó nghĩa là khách mua gì đó trong năm qua. Ở doanh nghiệp thứ hai, nó nghĩa là hợp đồng dịch vụ còn hiệu lực. Bộ kết nối chung có thể chuyển đúng cả hai trường. Quy tắc chung coi chúng là cùng trạng thái nghiệp vụ có thể sai với một bên. Đây là ví dụ minh họa, không phải báo cáo triển khai.
Cuộc thảo luận về nền tảng chung và triển khai địa phương mô tả một công ty tái dùng nhiều hạ tầng mà vẫn làm lượng việc đáng kể trong môi trường mỗi khách hàng. Các tỷ lệ của họ là riêng công ty. Câu hỏi kiến trúc chung là cơ chế chia sẻ dừng đâu và ý nghĩa tại chỗ bắt đầu đâu.
Tách đặc tả vận chuyển khỏi đặc tả nghiệp vụ
Hợp đồng vận chuyển có thể nêu: xác thực tới nguồn, đọc bản ghi đổi, giữ định danh, thử lại an toàn và hiện lỗi. Các hành vi ấy có thể triển khai một lần và thử nhiều lần. Chúng có giá trị vì mọi tích hợp cần đường dữ liệu đáng tin.
Hợp đồng nghiệp vụ nêu bản ghi nào có thẩm quyền, trạng thái có nghĩa gì, khi nào được hành động và ai được sửa sai.
- Vận chuyển chung định danh · thử lại · mã sự kiện
giao sự kiện hợp lệ
- Chính sách địa phương ý nghĩa · đồng ý · thời điểm
quyết hành động có được phép
- Hành động được phép ghi · kiểm toán
ghi kết quả
Hợp đồng nghiệp vụ phụ thuộc quy trình. Nó có thể dùng cùng nguồn và đích với khách khác mà vẫn cần đáp án khác.
Xét kết nối cửa hàng tới email. Nền tảng có thể cung cấp nhận sự kiện, loại trùng và dấu vết kiểm toán. Chủ quy trình phải định nghĩa “subscribed” có nghĩa là quyền cho mục đích marketing cụ thể không, lần mua có chặn nhắc giỏ hàng không và thay đổi đồng ý ảnh hưởng thư đã xếp hàng thế nào. Đây không phải tính năng bộ kết nối có thể đoán từ tên trường.
Ánh xạ Tajo minh họa dưới đây chép trực tiếp ba trường. Không hàng nào xác định quyền tiếp thị. Tái sử dụng cách chuyển dữ liệu tiết kiệm công, nhưng chủ quy trình vẫn phải nêu trạng thái nào cho phép hành động nào. Bảng ánh xạ gọn gàng có thể chỉ ra khoảng trống đó, không thể tự lấp đầy.
Xem lại lượt đồng bộ trước khi chạy
Đồng bộ thông tin khách hàng mới lên nền tảng email của tôi.
Đồng bộ khách hàng
| Trường nguồn | Trường đích | Quy tắc |
|---|---|---|
email | EMAIL | Trực tiếp |
first_name | FIRSTNAME | Trực tiếp |
last_name | LASTNAME | Trực tiếp |
Xem trước bằng dữ liệu mô phỏng đạt
Đã ánh xạ 3 trường · Không ghi vào đích
Bố cục minh họa dựa trên công cụ ánh xạ của Tajo. Xem trước mô phỏng và bản nháp đã lưu không kích hoạt lượt đồng bộ.
| Lớp chung | Lớp địa phương |
|---|---|
| Xác thực và làm mới token | Chủ thể nào được truy cập quy trình này |
| Vận chuyển sự kiện và thử lại | Sự kiện nào là chuyển trạng thái nghiệp vụ |
| Định danh ổn định và loại trùng | Bản ghi nào chỉ cùng khách thật |
| Log và móc khôi phục | Ai giải trạng thái tranh cãi, bằng cách nào |
| Kiểm đặc tả kỹ thuật | Giá trị trường có nghĩa gì và khi nào được hành động |
Bảng là ranh giới thiết kế, không phải khẳng định mọi triển khai đều chia sạch như vậy.
Tái dùng hỏng khi che bất đồng
Nền tảng chung thường thêm một trường cấu hình cho mỗi ngoại lệ. Ban đầu việc ấy có vẻ giữ tái dùng. Về sau không ai biết một cài đặt là tùy chọn kỹ thuật, ràng buộc pháp lý hay quyết định kinh doanh. Lõi chung thành bộ điều khiển từ xa cho lựa chọn nó không sở hữu.
Tìm bất biến ổn định. “Không bao giờ áp cùng sự kiện nguồn hai lần vào cùng bản ghi đích” có thể ở bộ máy chung. “Gửi giảm giá khi khách trở nên active” không thể chia sẻ cho đến khi “active”, đối tượng được phép và chính sách ưu đãi có chủ. Bộ máy có thể chạy chính sách đã duyệt, nhưng không nên tự tạo nó.
Điều đó cũng giúp bảo trì. Nếu API đổi, nhóm nền tảng có thể cập nhật bộ chuyển và phép thử. Nếu định nghĩa khách đủ điều kiện đổi, chủ nghiệp vụ cập nhật chính sách và ca thử mà không chờ viết lại vận chuyển. Ranh giới rõ cho thay đổi tới đúng người có quyền.
Tái dùng cơ chế mà không làm phẳng ý nghĩa
Quy tắc địa phương có thêm chi phí. Nền tảng không có quy cách dùng chung sẽ thành tập script riêng lẻ. Câu trả lời là nhận ra cơ chế lặp lại trước khi trừu tượng hóa ý nghĩa lặp lại. Thành phần chung tốt có thể nhận điều kiện có kiểu, thời điểm sự kiện và giới hạn hành động, còn định nghĩa nghiệp vụ của điều kiện vẫn ở địa phương.
Nên thử ranh giới với ca thật. Lấy sự kiện thường, sự kiện trùng, sửa muộn và quyền bị thu hồi. Hỏi lớp nào chịu trách nhiệm mỗi phản ứng. Nếu không gán được lỗi, phép trừu tượng đang giấu sở hữu. Nếu khách mới buộc enum “active” chung nhận nhiều cách hiểu không liên quan, kiểu chung quá rộng.
Bài triển khai đi kèm xem khả năng có chạy trong quy trình thật không. Bài này hỏi cái gì có thể xây một lần mà không xóa ý nghĩa quy trình.
Giao diện giữa các lớp phải rõ đủ để bác giả định sai. Bộ máy chung có thể yêu cầu mã sự kiện, thời gian nguồn, người thực hiện và mục đích khai báo trước khi nhận yêu cầu hành động. Quy trình địa phương cung cấp chính sách quyết hành động đó có được phép. Nếu thiếu mục đích, bộ máy nên từ chối; nếu chính sách mơ hồ, chủ địa phương phải giải. Đây là cách thực tế giữ tái dùng mà không giao quyền nghiệp vụ cho mã chung. Mô tả đặc tả bằng một ví dụ được nhận và một ví dụ bị bác, rồi thử cả hai mỗi khi một lớp đổi.
Bộ kết nối tái dùng nên làm ý nghĩa địa phương dễ diễn đạt và an toàn thực thi hơn. Nó không bao giờ nên khiến hai lời hứa khác nhau trông giống nhau chỉ vì trường cùng tên.
Câu hỏi Thường gặp
Nền tảng tích hợp thường nên tái dùng gì?
Cơ chế ổn định như mẫu xác thực, vận chuyển, chống xử lý trùng, thử lại, log và kiểm đặc tả kỹ thuật thường có thể chia sẻ khi yêu cầu nền giống nhau.
Điều gì cần riêng cho từng doanh nghiệp?
Ý nghĩa trường, nguồn có thẩm quyền, quy tắc đồng ý, yêu cầu thời điểm và ai được hành động theo trạng thái phải được xác lập cho doanh nghiệp và quy trình đó.
Nhóm thử ranh giới thế nào?
Thử diễn đạt quy trình mới bằng thành phần có sẵn. Nếu cách ấy đổi ý nghĩa nghiệp vụ hoặc giấu ngoại lệ trong cấu hình chung, giữ logic tại chỗ và làm giao diện giữa các lớp rõ.