3.8 Khả năng tương tác và tiêu chuẩn mở
Tổng quan và động lực
Khả năng tương tác là khả năng của hai hay nhiều hệ thống trao đổi thông tin và sử dụng thông tin đã được trao đổi, mà không bên nào phải biết cách vận hành nội bộ của bên kia. Một tiêu chuẩn mở là một đặc tả được công bố công khai, được phát triển và duy trì qua một quy trình minh bạch, dựa trên đồng thuận, và được cài đặt miễn phí (hoặc công bằng, hợp lý và không phân biệt đối xử), để bất kỳ ai cũng có thể xây dựng một hệ thống tuân thủ mà không cần sự cho phép của một nhà cung cấp duy nhất. Thiết kế cho khả năng tương tác nghĩa là xây dựng các hệ thống kết nối qua những đặc tả được công bố, dùng chung này, thay vì qua tích hợp theo yêu cầu riêng: các trình kết nối làm riêng, một lần, chỉ nối đúng hai hệ thống và phải xây lại mỗi khi một trong hai bên thay đổi.
Với một tổ chức lớn, khả năng tương tác không phải điều dễ chịu. Nó là nền tảng mà mọi thứ khác chạy trên. Các doanh nghiệp mua lại công ty, thay nhà cung cấp, và ghép nối hàng chục hệ thống nội bộ và bên thứ ba, và tiêu chuẩn mở là thứ cho phép một thành phần mới khớp vào mà không phải viết lại. Với chính phủ, rủi ro còn cao hơn. Dịch vụ công được cung cấp qua nhiều cơ quan, nhiều cấp chính quyền và các nhà cung cấp tư nhân, và không một cơ quan nào kiểm soát toàn bộ hệ sinh thái. Một công dân xin trợ cấp có thể chạm vào các hệ thống danh tính, thuế, y tế và phúc lợi thuộc các bộ khác nhau. Những hệ thống đó phải tương tác được, nếu không dịch vụ thất bại. Các cơ quan công cũng đổi nhà cung cấp theo chu kỳ mua sắm tính bằng năm, nên bất kỳ sự phụ thuộc nào vào giao diện độc quyền của một nhà cung cấp trở thành cái bẫy dài, đắt đỏ.
Chế độ thất bại lặp lại là điều ngược lại của khả năng tương tác: bị khóa chặt vào độc quyền, nơi dữ liệu và quy trình của tổ chức vướng víu với định dạng và giao diện phi chuẩn của một nhà cung cấp đến mức chuyển đổi, tích hợp, hay thậm chí đọc dữ liệu sau này trở nên tốn kém một cách cấm đoán. Tiêu chuẩn mở là biện pháp phòng thủ chính. Chương này bao quát các mức mà hệ thống phải tương tác, các tiêu chuẩn làm điều đó khả thi, và cách thiết kế, mua sắm và chứng nhận cho nó. Nó liên hệ chặt chẽ với API và thiết kế giao diện (chương 2.3), hệ thống phân tán (chương 3.3), chiến lược và quản trị dữ liệu (chương 7.1), mua sắm và mã nguồn mở (chương 10.3), và tuân thủ cùng quản trị (chương 4.6).
Các nguyên tắc chính
- Khả năng tương tác được thiết kế vào, không phải gắn thêm. Hãy quyết định các tiêu chuẩn trước khi xây, vì trang bị chúng sau nghĩa là viết lại giao diện và di chuyển dữ liệu.
- Ưu tiên tiêu chuẩn mở hơn tích hợp theo yêu cầu riêng. Một giao diện tuân thủ phục vụ mọi đối tác hiện tại và tương lai; một trình kết nối làm riêng chỉ phục vụ đúng một.
- Khả năng tương tác có các mức. Đưa các byte qua đường truyền (kỹ thuật) là vô giá trị nếu hai bên bất đồng về ý nghĩa của các byte (ngữ nghĩa).
- Ý nghĩa sống trong các từ vựng dùng chung. Mã định danh, hệ thống mã và thuật ngữ là thứ làm cho dữ liệu trao đổi dùng được, không chỉ truyền được.
- Tiêu chuẩn chỉ thật nếu bạn tuân thủ chúng. Một tuyên bố “hỗ trợ FHIR” mà không có kiểm thử tuân thủ là tiếp thị, không phải khả năng tương tác.
- Bị khóa chặt là một quyết định tổng chi phí sở hữu. Lựa chọn độc quyền rẻ hôm nay thường là hệ sinh thái bị mắc kẹt đắt đỏ ngày mai.
- Chính phủ nhân lên nhu cầu. Dịch vụ công trải qua các ranh giới tổ chức không ai kiểm soát, nên tiêu chuẩn mở thường là một yêu cầu bắt buộc, không phải sở thích.
Khuyến nghị
Thiết kế cho cả bốn mức của khả năng tương tác
Khung Tương tác Châu Âu và các mô hình liên quan mô tả bốn mức, và một hệ thống phải thỏa mãn tất cả để thực sự tương tác được. Khả năng tương tác kỹ thuật là hệ thống ống nước: mạng, giao thức và vận chuyển (ví dụ HTTPS) chuyển byte giữa các hệ thống. Khả năng tương tác cú pháp là sự đồng thuận về cấu trúc và định dạng, ngữ pháp của thông điệp, như JSON (Ký hiệu Đối tượng JavaScript, một định dạng dữ liệu văn bản nhẹ) hoặc XML (Ngôn ngữ Đánh dấu Mở rộng). Khả năng tương tác ngữ nghĩa là sự đồng thuận về ý nghĩa: rằng một trường nhãn gender hay một mã 250.00 có cùng nghĩa với cả hai bên. Khả năng tương tác tổ chức là sự căn chỉnh quy trình, quản trị, vai trò và thỏa thuận pháp lý: ai được phép gửi gì cho ai, theo thỏa thuận chia sẻ dữ liệu nào, và cho mục đích gì. Hầu hết các dự án tích hợp làm tốt hai mức đầu và thất bại ở mức ba và bốn. Hãy coi khả năng tương tác ngữ nghĩa và tổ chức là công việc thiết kế hạng nhất, không phải chuyện nghĩ sau.
Chuẩn hóa tầng trao đổi dữ liệu và API
Hãy áp dụng các tiêu chuẩn mở, được cài đặt rộng rãi cho cách các hệ thống mô tả và phơi bày giao diện của chúng. Với API web (Giao diện Lập trình Ứng dụng, hợp đồng xác định qua đó một hệ thống gọi hệ thống khác), hãy dùng Đặc tả OpenAPI, một mô tả trung lập nhà cung cấp, đọc được bằng máy của một API REST (Chuyển giao Trạng thái Biểu diễn) vừa lập tài liệu giao diện vừa sinh ra mã máy khách, máy chủ, kiểm thử và đối tượng giả. Với định dạng tải trọng, hãy ưu tiên JSON vì tính phổ biến và dễ đọc với con người, và dùng XML ở nơi một hệ sinh thái đã chuẩn hóa trên nó. Ở nơi bạn cần giao tiếp hiệu năng cao, định kiểu mạnh giữa các dịch vụ, hãy cân nhắc gRPC (một khung gọi thủ tục từ xa) với Protocol Buffers (Protobuf), một định dạng nhị phân gọn, định nghĩa bằng lược đồ, bản thân nó là một đặc tả mở. Điểm chính không phải công nghệ cụ thể. Mà là hợp đồng được công bố, đọc được bằng máy và có thể cài đặt độc lập. Xem chương 2.3 để biết chiều sâu về thiết kế giao diện.
Áp dụng tiêu chuẩn được công nhận cho miền của bạn
Hầu hết các lĩnh vực đã hội tụ về các tiêu chuẩn tương tác đặc thù miền. Hãy dùng chúng thay vì phát minh riêng. Chăm sóc sức khỏe là ví dụ hàng đầu. HL7 (Health Level Seven, một tổ chức tiêu chuẩn và các tiêu chuẩn nhắn tin cũ hơn của nó) phần lớn đã bị FHIR (Tài nguyên Tương tác Chăm sóc Sức khỏe Nhanh) thay thế cho công việc mới, một tiêu chuẩn hiện đại mô hình hóa các khái niệm lâm sàng (bệnh nhân, quan sát, thuốc) như các tài nguyên web được trao đổi qua API REST bằng JSON hoặc XML. Trong tài chính, ISO 20022 là tiêu chuẩn mở cho nhắn tin thanh toán và tài chính có cấu trúc, được chú thích phong phú, nay được các hệ thống thanh toán trên toàn thế giới áp dụng. Trong dữ liệu địa không gian, OGC (Liên minh Không gian Địa lý Mở) công bố các tiêu chuẩn như WMS và WFS cho dịch vụ bản đồ và đối tượng. Các ví dụ khác gồm OASIS và UBL cho tài liệu kinh doanh, và IFC (BuildingSMART) cho xây dựng. Chọn tiêu chuẩn được công nhận mua cho bạn cả một hệ sinh thái công cụ tuân thủ, nhà cung cấp và nhân sự đã được đào tạo.
Neo ý nghĩa vào mã định danh, hệ thống mã và bản thể luận
Khả năng tương tác ngữ nghĩa đòi hỏi các từ vựng dùng chung. Hãy dùng mã định danh chuẩn để cùng một thứ trong thế giới thực có cùng tham chiếu ở mọi nơi (ví dụ mã quốc gia ISO, LEI cho một pháp nhân, hoặc mã định danh bệnh nhân quốc gia). Dùng các hệ thống mã và thuật ngữ đã công bố (danh sách có kiểm soát các khái niệm được mã hóa với ý nghĩa xác định) thay vì văn bản tự do: SNOMED CT và LOINC cho thuật ngữ lâm sàng, ICD (Phân loại Bệnh tật Quốc tế) cho chẩn đoán, Unicode cho văn bản. Ở nơi quan hệ giữa các khái niệm quan trọng, hãy dùng một bản thể luận (một mô hình hình thức, đọc được bằng máy của các khái niệm và cách chúng liên hệ) được biểu diễn trong các tiêu chuẩn như RDF và OWL (Ngôn ngữ Bản thể luận Web của W3C). Quản trị các từ vựng này là một trách nhiệm quản trị dữ liệu; xem chương 7.1.
Tích hợp qua các mẫu dựa trên tiêu chuẩn, không phải đi dây điểm-nối-điểm
Hãy ưu tiên các mẫu kiến trúc giữ số lượng tích hợp tuyến tính thay vì tổ hợp. N hệ thống đi dây điểm-nối-điểm có thể cần tới N×(N−1)/2 trình kết nối làm riêng. N hệ thống đó mà mỗi cái tuân thủ một tiêu chuẩn chung chỉ cần N cài đặt của tiêu chuẩn đó. Hãy dùng cổng, hợp đồng API được công bố và mô hình dữ liệu chuẩn tắc để một thành viên mới tích hợp một lần theo tiêu chuẩn, thay vì theo từng hệ thống hiện có. Đây cũng là thuốc giải cho việc bị khóa chặt: vì hợp đồng mở, một nhà cung cấp có thể được thay thế mà không chạm vào mọi bên kết nối với nó.
Yêu cầu tuân thủ và chứng nhận
Một tiêu chuẩn chỉ mang lại giá trị khi các cài đặt thực sự tuân thủ nó. Hãy kiên quyết kiểm thử tuân thủ (các kiểm tra tự động rằng một cài đặt đáp ứng đặc tả) bằng các bộ kiểm thử và trình xác thực đã công bố (ví dụ trình xác thực FHIR và kiểm thử Touchstone, hoặc xác thực lược đồ OpenAPI trong đường ống dựng của bạn). Ở nơi có chương trình chứng nhận chính thức (một tổ chức độc lập xác nhận sự tuân thủ, như trong các chương trình chứng nhận CNTT y tế quốc gia), hãy ưu tiên sản phẩm được chứng nhận và yêu cầu chứng nhận trong hợp đồng. Đưa các kiểm tra tuân thủ vào tích hợp liên tục, để sự trôi khỏi tiêu chuẩn làm hỏng bản dựng thay vì xuất hiện trên môi trường thực.
Đánh đổi: ưu và nhược điểm
| Cách tiếp cận | Ưu điểm | Nhược điểm / chi phí |
|---|---|---|
| Tiêu chuẩn mở | Nhiều nhà cung cấp, không bị khóa chặt, công cụ hệ sinh thái, đối tác tương lai tích hợp rẻ | Tiêu chuẩn có thể rộng/phức tạp, chậm áp dụng tính năng ngách, tiến hóa theo nhịp ủy ban |
| Tích hợp điểm-nối-điểm theo yêu cầu riêng | Nhanh cho kết nối đầu tiên, vừa khít, ít phải học trước | Chi phí tăng theo tổ hợp, giòn, làm lại mỗi lần thay đổi, sinh ra khóa chặt |
| Định dạng/API độc quyền của nhà cung cấp | Tính năng phong phú, hỗ trợ nhà cung cấp, khởi đầu nhanh trong một hệ sinh thái | Khóa chặt, chi phí chuyển đổi, dữ liệu khó trích xuất sau, quyền định giá nghiêng về nhà cung cấp |
| Tiêu chuẩn miền (FHIR, ISO 20022) | Ý nghĩa chung, lực lượng lao động được đào tạo, phù hợp cơ quan quản lý | Đường cong học, ánh xạ dữ liệu cũ, chi phí quản lý phiên bản và hồ sơ cấu hình |
Đánh đổi chủ đạo là sự tiện lợi ngắn hạn so với tính tùy chọn dài hạn. Một tích hợp theo yêu cầu riêng hoặc độc quyền gần như luôn nhanh hơn để dựng cho kết nối đầu tiên, đó là lý do các tổ chức trôi vào bị khóa chặt qua từng quyết định hợp lý. Tiêu chuẩn mở dồn chi phí lên trước (học đặc tả, ánh xạ dữ liệu hiện có, xây kiểm thử tuân thủ) và hoàn trả nó mỗi lần một đối tác, nhà cung cấp hay hệ thống mới tham gia mà không phải viết lại. Với một hệ thống có vòng đời dài và nhiều bên tham gia, điều mô tả hầu như mọi nền tảng doanh nghiệp và chính phủ, con đường dựa trên tiêu chuẩn thắng áp đảo. Với một liên kết một-một thực sự dùng một lần, theo yêu cầu riêng có thể hợp lý. Sai lầm là coi các nền tảng sống lâu như thể chúng là các liên kết dùng một lần.
Câu hỏi để thảo luận với đội của bạn
Ai sở hữu khả năng tương tác tổ chức (các thỏa thuận chia sẻ dữ liệu, mô hình đồng ý và căn chỉnh quy trình) mà tích hợp kỹ thuật của bạn phụ thuộc vào? Hầu hết các dự án làm tốt mức kỹ thuật và cú pháp rồi đình trệ ở mức tổ chức: các byte đến và phân tích được, nhưng không thỏa thuận nào điều chỉnh ai được gửi gì cho ai, vì mục đích gì, theo sự đồng ý nào. Trong chính phủ, dữ liệu của một công dân đi qua các cơ quan mà mỗi cái sở hữu hệ thống riêng và chịu trách nhiệm theo các cơ sở pháp lý khác nhau, nên một giao diện FHIR hoàn hảo là vô giá trị cho đến khi thỏa thuận chia sẻ và mô hình đồng ý tồn tại. Hãy mang trao đổi xuyên ranh giới quan trọng nhất của bạn và nêu tên công cụ pháp lý cùng chủ sở hữu chịu trách nhiệm ở mỗi bên, không chỉ API. Nếu chủ sở hữu đó chưa được nêu tên, tích hợp sẽ qua mọi bài kiểm thử kỹ thuật mà vẫn bị chặn trên môi trường thực. Hãy coi các thỏa thuận này là sản phẩm thiết kế với cùng sự chặt chẽ như lược đồ thông điệp.
Bạn dựa nặng đến đâu vào các phần mở rộng độc quyền của một tiêu chuẩn, và liệu một cài đặt tuân thủ khác vẫn có thể nói chuyện với bạn không? Tiêu chuẩn có các lối thoát hiểm, và lạm dụng chúng là khóa chặt trên thực tế đeo huy hiệu mở: bạn tuyên bố FHIR hay ISO 20022 nhưng không nhà cung cấp độc lập nào thực sự tương tác được với phương ngữ của bạn. Điều này len vào từng tùy biến hợp lý một, đó là lý do một hệ sinh thái lớn nên đo nó có chủ đích. Hãy mang một thông điệp thực và đếm bao nhiêu ý nghĩa của nó đi trên các trường chuẩn so với phần mở rộng tùy chỉnh; phần tùy chỉnh càng cao thì tính di động của bạn càng yếu và quyền định giá của nhà cung cấp đương nhiệm càng mạnh. Hãy ưu tiên tạo hồ sơ cấu hình trong quy tắc của tiêu chuẩn, và đóng góp các khoảng trống trở lại tiêu chuẩn, hơn là các phần mở rộng riêng. Toàn bộ ý nghĩa của con đường mở là một nhà cung cấp có thể được thay thế mà không chạm vào mọi bên kết nối, và các phần mở rộng âm thầm xói mòn điều đó.
Bạn đang dùng phiên bản và hồ sơ cấu hình nào của từng tiêu chuẩn, và ai quản trị lựa chọn đó trên toàn hệ sinh thái? “Hỗ trợ tiêu chuẩn” là vô nghĩa nếu thiếu kỷ luật phiên bản và hồ sơ cấu hình, vì hai hệ thống có thể cùng tuyên bố FHIR hay ISO 20022 mà vẫn không nói chuyện được nếu chúng cài đặt các phiên bản hoặc hồ sơ khác nhau. Trong một tổ chức lớn với nhiều nhà cung cấp và chu kỳ mua sắm dài, các phiên bản lặng lẽ trôi xa nhau cho đến khi một tích hợp hỏng. Hãy mang bản kiểm kê mọi giao diện, tiêu chuẩn, phiên bản và hồ sơ cấu hình của nó, và nêu tên ai chịu trách nhiệm giữ chúng căn chỉnh và lên kế hoạch nâng cấp. Đưa phiên bản và hồ sơ cấu hình vào kiểm thử tuân thủ trong đường ống để sự trôi làm hỏng bản dựng thay vì xuất hiện trên môi trường thực. Không có quản trị này, các hệ thống trên danh nghĩa tuân thủ vẫn không tương tác được, đúng là thất bại mà tiêu chuẩn mở nhằm ngăn chặn.
Khi một hợp đồng hay nhà cung cấp nói “hỗ trợ tiêu chuẩn”, bài kiểm thử độc lập nào thực sự chứng minh điều đó, và bài kiểm thử đó chạy ở đâu? Một tuyên bố tuân thủ không có kiểm thử đằng sau là tiếp thị, và nó thất bại ở nơi tệ nhất: trên môi trường thực, sau khi tiền đã đổi chủ và hệ thống đã vận hành. Với một tổ chức lớn mua từ nhiều nhà cung cấp, cám dỗ là chấp nhận một ô đánh dấu trên bảng câu hỏi, vì đòi hỏi tuân thủ được xác thực làm chậm mua sắm và thu hẹp nhóm nhà thầu. Hãy mang trình xác thực hay bộ kiểm thử đã công bố cho mỗi tiêu chuẩn bạn phụ thuộc vào (ví dụ trình xác thực FHIR và Touchstone, hoặc xác thực lược đồ OpenAPI), một mẫu thông điệp thực chạy qua nó, và điều khoản trong hợp đồng gắn nghiệm thu và thanh toán với việc vượt qua nó. Lực kéo đối lập là tốc độ so với bằng chứng: một sản phẩm được chứng nhận có thể tốn hơn và mất nhiều thời gian đưa vào hơn, nhưng sản phẩm chưa được xác minh chuyển thất bại sang đội tích hợp của bạn. Trong chính phủ và các bối cảnh chịu quy định, nơi có các chương trình chứng nhận CNTT y tế hoặc thanh toán quốc gia, hãy yêu cầu chứng nhận trong hợp đồng và nối trình xác thực vào tích hợp liên tục để sự trôi làm hỏng bản dựng, vì một khẳng định bạn chưa bao giờ kiểm thử là một trách nhiệm bạn sẽ phát hiện trong một cuộc kiểm toán hay một sự cố.
Bao nhiêu tích hợp của bạn vẫn là điểm-nối-điểm, và chi phí tổ hợp thực sự của việc để chúng như vậy là bao nhiêu? Các trình kết nối một-một làm riêng là thứ nhanh nhất để xây cho liên kết đầu tiên và đắt nhất để sở hữu qua cả hệ sinh thái, vì số lượng tăng về phía N×(N−1)/2 trong khi một tiêu chuẩn chung chỉ cần N cài đặt. Trong một tổ chức lớn, sự lan tràn này tích tụ từng quyết định hợp lý một cho đến khi sơ đồ tích hợp không thể bảo trì và mọi thay đổi hệ thống gợn qua cả chục trình kết nối giòn. Hãy mang bản kiểm kê các tích hợp của bạn được phân loại là điểm-nối-điểm so với dựa trên tiêu chuẩn, số trình kết nối bị chạm bởi lần thay thế hệ thống lớn gần nhất, và một ước tính thời gian kỹ thuật dành để duy trì các liên kết làm riêng. Căng thẳng là di chuyển dây điểm-nối-điểm đang chạy phía sau một cổng hoặc mô hình chuẩn tắc là công việc thật không có lợi tức tính năng tức thì, nên nó thua lộ trình trừ khi ai đó định lượng chi phí duy trì. Với các nền tảng doanh nghiệp và chính phủ sống hàng thập kỷ và liên tục thêm bên tham gia, con đường điểm-nối-điểm là một loại thuế chậm; hãy nêu tên một chủ sở hữu cho kiến trúc tích hợp và một kế hoạch đưa các bên tham gia mới qua tiêu chuẩn thay vì đối với từng hệ thống đương nhiệm.
Bạn đang truyền đạt ý nghĩa bằng văn bản tự do ở đâu trong khi một hệ thống mã hoặc thuật ngữ đã công bố nên mang nó, và ai quản trị các từ vựng đó? Khả năng tương tác ngữ nghĩa là nơi hầu hết các tích hợp âm thầm thất bại: các byte đến và phân tích được, nhưng một chẩn đoán, tiền tệ hay quốc gia lưu thành chuỗi không ràng buộc có nghĩa này với bên gửi và hơi khác với bên nhận. Với một tổ chức lớn chi phí là vô hình cho đến khi báo cáo, phân tích hoặc cơ quan quản lý phơi bày rằng cùng một khái niệm được mã hóa theo ba cách qua ba hệ thống. Hãy mang các ví dụ về các trường hiện được giữ dưới dạng văn bản tự do, các mã định danh và hệ thống mã chuẩn có thể thay thế chúng (SNOMED CT và LOINC cho dữ liệu lâm sàng, mã ISO cho quốc gia và tiền tệ, LEI cho pháp nhân), và tỷ lệ lỗi hay công sức đối soát mà văn bản tự do đang che giấu. Cân nhắc đối lập là ánh xạ dữ liệu cũ sang từ vựng có kiểm soát là công việc tỉ mỉ và không bao giờ được trình diễn, nên nó bị tài trợ thiếu kinh niên so với tầng vận chuyển. Trong chính phủ, nơi hồ sơ của một công dân được ghép từ nhiều hệ thống độc lập và một mã không khớp có thể từ chối một khoản trợ cấp hoặc làm hỏng hồ sơ y tế, hãy coi quản trị từ vựng là một trách nhiệm quản trị dữ liệu được nêu tên (chương 7.1), không phải chi tiết cài đặt để mỗi đội tự lo.
Góc nhìn theo lĩnh vực
Công ty khởi nghiệp. Tốc độ thắng, và tiêu chuẩn mở là cách một đội nhỏ xíu tiếp cận nhiều khách hàng mà không xây nhiều trình kết nối. Hãy nói các định dạng mà mọi đối tác đã hỗ trợ (OAuth cho đăng nhập, iCalendar cho lập lịch, webhook cho sự kiện, JSON trên hợp đồng OpenAPI) để một tích hợp tiếp cận hàng nghìn khách hàng và đổi nhà cung cấp chỉ chạm vào một bộ điều hợp. Tránh phát minh định dạng riêng hoặc đi dây tay vào bộ công nghệ của từng khách hàng; đó là công việc bảo trì tương lai bạn không thể bố trí nhân sự. Con đường tiêu chuẩn tốn hơn một chút ban đầu và giữ chi phí chuyển đổi thấp trong một thị trường bạn chưa thể dự đoán.
Doanh nghiệp nhỏ. Không có chuyên gia tích hợp và ngân sách eo hẹp, hãy coi khả năng tương tác là một quyết định mua hơn là một dự án xây. Ưu tiên các công cụ đã nói tiêu chuẩn mở cho lĩnh vực của bạn và phơi bày một API có tài liệu, để dữ liệu của bạn vẫn di động được nếu bạn đổi nhà cung cấp. Hãy hỏi một nhà cung cấp tiềm năng bạn lấy dữ liệu ra thế nào và ở định dạng nào trước khi ký, vì lựa chọn độc quyền rẻ hôm nay là hệ sinh thái bị mắc kẹt ngày mai. Bạn hiếm khi tự chạy kiểm thử tuân thủ, nên hãy dựa vào các sản phẩm được chứng nhận hoặc tương tác rộng rãi.
Doanh nghiệp lớn. Thách thức là quản trị khả năng tương tác qua nhiều đội, nhà cung cấp và chu kỳ mua sắm dài. Hãy bắt buộc tiêu chuẩn miền (FHIR, ISO 20022, OGC) và một hợp đồng OpenAPI đã công bố, rồi giữ bản kiểm kê mọi giao diện với phiên bản, hồ sơ cấu hình và một chủ sở hữu chịu trách nhiệm, để các hệ thống trên danh nghĩa tuân thủ không trôi xa nhau. Đưa các bên tham gia mới qua cổng và mô hình chuẩn tắc thay vì đi dây điểm-nối-điểm, nối xác thực tuân thủ vào tích hợp liên tục, và đo bao nhiêu lưu lượng của bạn đi trên các trường chuẩn so với phần mở rộng độc quyền. Quản lý khóa chặt và tính di động như một lập trường tổng chi phí sở hữu có chủ đích, không phải tình cờ.
Chính phủ. Tiêu chuẩn mở thường là một yêu cầu bắt buộc, vì dịch vụ công trải qua các cơ quan mà không một cơ quan nào kiểm soát và nhà cung cấp đổi theo chu kỳ nhiều năm. Hãy yêu cầu kiểm thử tuân thủ và, ở nơi có chương trình, chứng nhận quốc gia trong mọi hợp đồng, và đòi hỏi tính di động dữ liệu để một nhà cung cấp ra đi không thể giữ dữ liệu của công chúng làm con tin. Neo ý nghĩa vào mã định danh quốc gia và thuật ngữ đã công bố để hồ sơ của một công dân có cùng nghĩa qua các bộ, và xử lý khả năng tương tác tổ chức qua các thỏa thuận chia sẻ dữ liệu tường minh và mô hình đồng ý với các chủ sở hữu chịu trách nhiệm được nêu tên. Tính minh bạch và ngân sách công đều ủng hộ con đường mở, có thể cài đặt độc lập hơn bất kỳ sự tiện lợi độc quyền nào.
Ví dụ
Công ty khởi nghiệp. Một công ty khởi nghiệp nhỏ xây dựng ứng dụng năng suất làm việc nhóm kết nối với các công cụ hiện có của khách hàng qua tiêu chuẩn mở thay vì trình kết nối làm riêng: OAuth cho đăng nhập, iCalendar cho lập lịch, và webhook cho sự kiện. Vì nói các định dạng mà mọi nhà cung cấp lịch và danh tính đã hỗ trợ, một tích hợp tiếp cận hàng nghìn khách hàng thay vì một, và đổi nhà cung cấp thanh toán hay email sau này chỉ chạm vào một bộ điều hợp. Nếu họ tự tay xây một liên kết riêng đến bộ công nghệ của từng khách hàng, mỗi logo mới sẽ có nghĩa là thêm một trình kết nối để viết và bảo trì.
Doanh nghiệp lớn. Một ngân hàng đa quốc gia hiện đại hóa thanh toán xuyên biên giới bằng cách di chuyển từ một định dạng thông điệp độc quyền cũ sang ISO 20022. Vì tiêu chuẩn mang dữ liệu có cấu trúc, được chú thích phong phú (bên trả, bên nhận, mục đích, các trường quy định) thay vì văn bản tự do, các hệ thống hạ nguồn cho sàng lọc gian lận, đối soát và báo cáo tiêu thụ một định dạng chuẩn tắc thay vì cả chục bộ phân tích riêng. Khi ngân hàng sau đó thay nhà cung cấp cổng thanh toán, nhà cung cấp mới đã nói ISO 20022, nên việc chuyển đổi chạm vào cổng chứ không phải hàng trăm hệ thống phía sau. Tiêu chuẩn mở biến một cuộc di chuyển nhà cung cấp từ một lần xây lại nhiều năm thành một lần thay thế có giới hạn.
Chính phủ. Một cơ quan y tế quốc gia cần bệnh viện, phòng khám, phòng xét nghiệm và một ứng dụng hướng đến bệnh nhân (do các nhà cung cấp khác nhau xây qua hai thập kỷ) chia sẻ hồ sơ an toàn. Họ bắt buộc FHIR cho trao đổi dữ liệu: mỗi hệ thống phơi bày dữ liệu bệnh nhân, quan sát và thuốc dưới dạng tài nguyên FHIR qua API REST, dùng mã định danh chuẩn (mã bệnh nhân quốc gia) và thuật ngữ lâm sàng (SNOMED CT cho tình trạng bệnh, LOINC cho kết quả xét nghiệm) để các mã có cùng nghĩa ở mọi nơi. Các nhà cung cấp phải vượt qua xác thực tuân thủ FHIR và có chứng nhận CNTT y tế quốc gia trước khi kết nối. Một hệ thống phòng khám mới tích hợp một lần theo tiêu chuẩn FHIR thay vì xây liên kết riêng đến từng hệ thống đương nhiệm, và một công dân có thể xem hồ sơ thống nhất được ghép từ nhiều hệ thống độc lập. Khả năng tương tác tổ chức được xử lý qua các thỏa thuận chia sẻ dữ liệu điều chỉnh ai được truy cập gì và vì sao, đáp ứng nghĩa vụ tuân thủ (chương 4.6).
Luận chứng kinh doanh: động lực, ROI và TCO
Lập luận tài chính cho tiêu chuẩn mở là lập luận về tổng chi phí sở hữu (TCO) qua vòng đời của một hệ thống, không phải giá niêm yết của tích hợp đầu tiên. Chi phí tích hợp theo yêu cầu riêng tăng theo số kết nối và được trả lại ở mỗi thay đổi. Chi phí tích hợp dựa trên tiêu chuẩn được trả một lần cho mỗi bên tham gia và được phân bổ qua toàn hệ sinh thái. Lợi tức đầu tư (ROI) hiện ra ở công lao động tích hợp giảm, đưa đối tác và nhà cung cấp mới vào nhanh hơn, chi phí chuyển đổi thấp hơn khi nhà cung cấp làm không tốt, và tránh được thuế khóa chặt kinh điển khi một nhà cung cấp duy nhất tăng giá vì không đối thủ nào có thể đấu thầu.
Với ban lãnh đạo, hãy đóng khung lập luận quanh tính tùy chọn và cạnh tranh. Tiêu chuẩn mở giữ mua sắm cạnh tranh (chương 10.3). Khi giao diện được công bố và kiểm thử tuân thủ, nhiều nhà cung cấp có thể đấu thầu với điều kiện ngang nhau, kéo giá xuống và chất lượng lên qua các hợp đồng kế tiếp. Chúng cũng giảm rủi ro cho tương lai, vì thay đổi quy định, sáp nhập và các chương trình hiện đại hóa đều rẻ hơn khi dữ liệu và giao diện di động được. Chi phí ẩn lớn nhất của việc phớt lờ tiêu chuẩn là cuộc di chuyển bị ép buộc cuối cùng: trích xuất dữ liệu từ một định dạng độc quyền sau sự việc, khi nhà cung cấp gốc đã đi hoặc không hợp tác, thường tốn gấp nhiều lần chi phí thiết kế dựa trên tiêu chuẩn ngay từ đầu. Chính phủ ngày càng nhận ra điều này và bắt buộc tiêu chuẩn mở chính xác để bảo vệ ngân sách công khỏi bị khóa chặt hàng thập kỷ.
Phản mẫu và cạm bẫy
- Nhầm khả năng tương tác kỹ thuật là toàn bộ công việc. Thông điệp đến và phân tích được, nhưng hai bên bất đồng về nghĩa của một trường, nên dữ liệu sai trong âm thầm.
- “Dựa trên tiêu chuẩn” chỉ trên danh nghĩa. Một sản phẩm tuyên bố hỗ trợ một tiêu chuẩn nhưng chưa bao giờ vượt qua kiểm thử tuân thủ và khác biệt trong thực tế.
- Văn bản tự do ở nơi đã có hệ thống mã. Lưu chẩn đoán, tiền tệ hay quốc gia dưới dạng chuỗi không ràng buộc phá hủy khả năng tương tác ngữ nghĩa.
- Phần mở rộng độc quyền nuốt chửng tiêu chuẩn. Dùng các lối thoát hiểm của tiêu chuẩn nặng đến mức không cài đặt nào khác tương tác được: khóa chặt trên thực tế đeo huy hiệu mở.
- Lan tràn điểm-nối-điểm. Thêm một trình kết nối làm riêng mỗi lần, cho đến khi sơ đồ tích hợp là một mớ tổ hợp không thể bảo trì.
- Hỗn loạn phiên bản và hồ sơ cấu hình. Không quản trị phiên bản hay hồ sơ cấu hình nào của tiêu chuẩn đang được dùng, nên các hệ thống trên danh nghĩa tuân thủ vẫn không nói chuyện được.
- Bỏ qua khả năng tương tác tổ chức. Trao đổi kỹ thuật hoàn hảo bị chặn vì không có thỏa thuận chia sẻ dữ liệu, mô hình đồng ý hay căn chỉnh quy trình.
- Tự xây tiêu chuẩn của riêng mình. Phát minh một định dạng riêng khi đã có một tiêu chuẩn miền trưởng thành, được áp dụng, và thừa hưởng toàn bộ việc bảo trì của nó mãi mãi.
Mô hình trưởng thành
- Mức 1: Khởi đầu. Tích hợp tùy nghi và điểm-nối-điểm. Định dạng độc quyền hoặc không có tài liệu. Ý nghĩa được truyền đạt bằng văn bản tự do và kiến thức truyền miệng. Thay thế bất kỳ hệ thống hay nhà cung cấp nào là một dự án lớn. Khóa chặt lan tràn và phần lớn không được nhận ra.
- Mức 2: Phát triển. Các định dạng chung như JSON hay XML xuất hiện, và một số API được lập tài liệu, nhưng thực hành khác nhau theo từng đội. Khả năng tương tác vẫn chủ yếu là cú pháp; sự đồng thuận ngữ nghĩa không nhất quán và theo từng dự án. Tiêu chuẩn được chọn phản ứng, và tuân thủ được khẳng định nhưng không được kiểm thử.
- Mức 3: Chuẩn hóa. Các tiêu chuẩn trao đổi dữ liệu mở (OpenAPI, và tiêu chuẩn miền liên quan như FHIR hay ISO 20022) được lập tài liệu và bắt buộc toàn tổ chức. Mã định danh, hệ thống mã và thuật ngữ dùng chung cung cấp khả năng tương tác ngữ nghĩa. Kiểm thử tuân thủ là một phần của đường ống phân phối, và tích hợp theo các mẫu dựa trên tiêu chuẩn thay vì đi dây điểm-nối-điểm.
- Mức 4: Quản lý. Khả năng tương tác được đo và kiểm soát theo các đường cơ sở. Các chỉ số được theo dõi và rà soát: tỷ lệ tích hợp dựa trên tiêu chuẩn so với điểm-nối-điểm, tỷ lệ ý nghĩa thông điệp đi trên các trường chuẩn so với phần mở rộng độc quyền, tỷ lệ vượt kiểm thử tuân thủ trong đường ống, sự trôi phiên bản và hồ sơ cấu hình trên hệ sinh thái, và thời gian dẫn tích hợp cùng tỷ lệ lỗi khi đưa một bên tham gia mới vào. Phiên bản và hồ sơ cấu hình được quản trị, chứng nhận được yêu cầu ở nhà cung cấp và được xác minh, và rủi ro khóa chặt được định lượng thay vì cảm nhận. Các quyết định áp dụng, nâng cấp hay loại bỏ một giao diện được đưa ra dựa trên bằng chứng này.
- Mức 5: Điều phối. Khả năng tương tác được cải thiện liên tục và tích hợp trong toàn tổ chức. Khả năng tương tác tổ chức (thỏa thuận, đồng ý, căn chỉnh quy trình) được xử lý có hệ thống cùng với các tầng kỹ thuật, tổ chức đóng góp trở lại các tiêu chuẩn mà nó phụ thuộc vào, và tính di động là ràng buộc thiết kế vĩnh viễn. Hệ sinh thái thích ứng khi tiêu chuẩn tiến hóa và các bên tham gia vào hoặc ra, cân bằng lại kiến trúc tích hợp và quản trị từ vựng dựa trên bằng chứng đo được thay vì sự cố.
Ý tưởng để thảo luận
- Với trao đổi dữ liệu quan trọng nhất của bạn, hôm nay nó yếu nhất ở mức nào trong bốn mức (kỹ thuật, cú pháp, ngữ nghĩa, tổ chức)?
- Nếu nhà cung cấp chính của bạn tăng gấp đôi giá khi gia hạn, việc chuyển đổi sẽ mất bao lâu và tốn bao nhiêu, và điều gì khiến nó như vậy?
- Tích hợp nào của bạn là điểm-nối-điểm, và cần gì để chuyển chúng về phía sau một tiêu chuẩn mở dùng chung?
- Bạn đang lưu văn bản tự do ở đâu mà một hệ thống mã hay thuật ngữ đã công bố có thể thay thế, và văn bản tự do đó che giấu những lỗi gì?
- “Hỗ trợ tiêu chuẩn” trong các hợp đồng của bạn có đòi hỏi vượt qua một kiểm thử tuân thủ hay chứng nhận độc lập không, hay chỉ được khẳng định?
- Những yêu cầu bắt buộc về tiêu chuẩn mở nào (quốc gia hoặc ngành) đã áp dụng cho bạn, và bạn thực sự đáp ứng chúng hay chỉ tuyên bố?
Những điểm cần ghi nhớ
- Khả năng tương tác nghĩa là sử dụng thông tin được trao đổi, không chỉ truyền nó; hãy thiết kế cho cả bốn mức: kỹ thuật, cú pháp, ngữ nghĩa và tổ chức.
- Ưu tiên các tiêu chuẩn mở, được công bố, có thể cài đặt độc lập hơn tích hợp theo yêu cầu riêng và định dạng độc quyền, vốn sinh ra khóa chặt và chi phí tổ hợp.
- Chuẩn hóa tầng API và trao đổi dữ liệu (OpenAPI, JSON/XML, gRPC/Protobuf) và áp dụng tiêu chuẩn được công nhận của miền bạn (FHIR trong y tế, ISO 20022 trong tài chính, OGC trong địa không gian).
- Neo ý nghĩa vào mã định danh, hệ thống mã, thuật ngữ và bản thể luận dùng chung; khả năng tương tác ngữ nghĩa là nơi hầu hết các tích hợp âm thầm thất bại.
- Yêu cầu kiểm thử tuân thủ và, ở nơi có, chứng nhận; một tiêu chuẩn chỉ thật khi các cài đặt chứng minh được sự tuân thủ.
- Đánh giá lựa chọn theo tổng chi phí sở hữu và tính tùy chọn qua vòng đời hệ thống; với các nền tảng sống lâu, nhiều bên (hầu hết mọi hệ thống doanh nghiệp và chính phủ), tiêu chuẩn mở thắng, và chính phủ ngày càng bắt buộc chúng.
Tài liệu tham khảo và đọc thêm
- HL7 International, đặc tả FHIR (Fast Healthcare Interoperability Resources) (hl7.org/fhir)
- ISO 20022, Universal financial industry message scheme (iso20022.org)
- OpenAPI Initiative, OpenAPI Specification (Linux Foundation)
- Các tiêu chuẩn của Open Geospatial Consortium (OGC) (WMS, WFS và các kế nhiệm)
- Ủy ban Châu Âu, European Interoperability Framework (EIF) và Đạo luật Châu Âu Tương tác
- Chính phủ Anh, Open Standards Principles và Technology Code of Practice (GOV.UK)
- W3C, RDF, OWL (Web Ontology Language) và các tiêu chuẩn web ngữ nghĩa
- SNOMED International (SNOMED CT), Regenstrief Institute (LOINC) và các thuật ngữ của WHO (ICD)
- Đặc tả gRPC và Protocol Buffers (Cloud Native Computing Foundation / mã nguồn mở)
- Tài liệu của NIST và IEEE về khả năng tương tác hệ thống và kiểm thử tuân thủ