Component Architecture¶
Code To UML gồm các client và integration hoạt động trong công cụ của người dùng, rendering service tiếp nhận request, và các renderer tạo output theo engine được yêu cầu.
Các thành phần chính¶
Client và integration¶
Playground, VS Code Extension và GitLab MR Browser Extension nhận thao tác trực tiếp từ người dùng. Chúng gửi source qua POST và giữ Gateway token trong vùng lưu trữ phù hợp với từng runtime.
GitLab Markdown Integration và MkDocs Integration tạo encoded image URL trong HTML của trang. Khi người đọc mở trang, browser tải ảnh từ Gateway. Trong Confluence, Custom UI hiển thị editor và viewer; Forge Resolver giữ token, xử lý yêu cầu render ở backend và gọi Gateway. Với trang đã publish, Resolver lưu SVG phù hợp trong Forge KVS và có thể trả kết quả từ cache; live preview luôn gọi Gateway. Page Event chuyển code block phù hợp thành macro trong page ADF.
Mỗi integration được phát hành theo định dạng của nơi nó chạy: VSIX, Manifest V3 package, custom GitLab image, Forge app hoặc static website. Chúng cùng sử dụng API của Gateway nhưng không được triển khai trong rendering runtime.
Rendering service¶
Node.js Gateway là HTTP entry point của hệ thống. Gateway áp dụng chính sách cho request, quản lý cache và chuyển phần cần render tới Java Core qua loopback HTTP. Cấu hình giới hạn, timeout, metrics và xử lý sự cố được trình bày trong Operations.
Java Core giải mã source, hợp nhất universal options, chọn adapter tương ứng với engine và xử lý output trước khi trả về Gateway. Engine được xác định từ endpoint hoặc request của client.
Thực thi renderer¶
Renderer chạy theo dependency và mức cô lập phù hợp:
- Embedded và native renderer dùng JVM library hoặc command có sẵn trong rendering image.
- Browser companions dùng các process Node.js và Chrome chung cho Mermaid, BPMN, Excalidraw và diagrams.net.
- Pydia nhận job qua Unix socket trong sidecar dùng gVisor và không có IP network ở production.
Vị trí mã nguồn của từng thành phần nằm trong Repository Structure; cách các artifact được bố trí trên hạ tầng nằm trong Deployment Topology.