1. Mục đích
Tài liệu này mô tả chi tiết quy trình và phương pháp tích hợp dữ liệu tài liệu giữa hệ thống BPM và DataRoom (nền tảng SharePoint), bao gồm:
Cách BPM upload tài liệu cuối cùng của quy trình lên DataRoom.
Cách BPM truy xuất tài liệu từ DataRoom để hiển thị cho người dùng có quyền truy cập.
Đảm bảo bảo mật qua cơ chế xác thực OAuth2 với
client_idvàclient_secret
2. Mô tả tổng quan hệ thống
2.1. DataRoom
Là hệ thống quản lý tài liệu được xây dựng trên nền tảng Microsoft SharePoint.
Tài liệu được tổ chức theo các thư mục (folders) được tạo sẵn theo cấu trúc tổ chức, loại tài liệu, hoặc dự án.
DataRoom cung cấp API để upload, download và quản lý tài liệu.
Việc truy cập vào DataRoom yêu cầu xác thực qua OAuth2 (client credentials grant).
2.2. Hệ thống BPM
Hệ thống tự động hóa quy trình nghiệp vụ (Business Process Management).
Người dùng tương tác và tải tài liệu lên trong từng bước của quy trình.
Tại bước cuối của quy trình, hệ thống BPM sẽ chọn phiên bản tài liệu cuối cùng để upload lên DataRoom.
.1. Xác thực kết nối tới DataRoom
Phương thức:
Grant type:
client_credentialsĐầu vào:
client_id,client_secret(do DataRoom cung cấp)
3.2. Upload tài liệu từ BPM lên DataRoom
Thời điểm:
Tại bước cuối của quy trình, khi hệ thống BPM đã xác định phiên bản tài liệu cuối.
Các bước:
Gọi API xác thực để lấy
access_token.Xác định thư mục đích trên DataRoom dựa theo thông tin quy trình (loại hồ sơ, phòng ban...).
Gọi API của SharePoint để upload file.
Ví dụ API upload file:
https://<data-room-domain>/<folder-path>/<filename>
Headers:
Authorization: Bearer <access_token> Content-Type: application/octet-stream
Body:
Yêu cầu:
Đảm bảo thư mục đích tồn tại trên DataRoom.
Ghi log hành động upload, bao gồm:
ID quy trình
Người thực hiện
Thời gian
Đường dẫn file trên DataRoom
...
3.3. Truy xuất tài liệu từ DataRoom trên BPM
Khi nào:
Khi người dùng muốn xem tài liệu từ BPM đã được lưu ở DataRoom.
Các bước:
Backend BPM xác thực với DataRoom (lấy
access_token).Kiểm tra quyền truy cập:
Kiểm tra người dùng hiện tại có quyền xem tài liệu (dựa theo thông tin phân quyền lưu trong DataRoom hoặc BPM).
Nếu hợp lệ, gọi API để download tài liệu.
Backend BPM chuyển file về frontend để hiển thị hoặc tải về.
API lấy file:
Gọi tới data from để download tài liệu và lưu vào thư mục tạm
Yêu cầu:
Trước khi trả file về, cần xác minh quyền truy cập của người dùng thông qua:
Vai trò trên BPM
Phân quyền tài liệu theo metadata hoặc theo nhóm người dùng tương ứng trong BPM
Ghi log mọi hành động truy xuất tài liệu
...
4. Kiến trúc luồng tích hợp
...
5. Bảo mật & Phân quyền
Mọi truy cập tới DataRoom đều phải thông qua OAuth2 (không dùng tài khoản người dùng cá nhân).
Mỗi tài liệu upload cần gắn thông tin phân quyền (metadata hoặc tổ chức theo thư mục phù hợp).
BPM có thể duy trì bảng ánh xạ giữa người dùng và quyền truy cập tài liệu để kiểm soát nội bộ.
API chỉ cho phép người dùng đã được xác thực và có quyền xem mới có thể lấy tài liệu.
