Chiến lược "nhàm chán" để xây dựng hệ thống Java bền vững: Từ Java EE, Quarkus đến LLMs

Phần mềm11 tháng 5, 2026·6 phút đọc

Adam Bien, chuyên gia Java kỳ cựu, chia sẻ quan điểm về việc sử dụng các tiêu chuẩn chuẩn (Vanilla Java, Jakarta EE) thay vì phụ thuộc vào các framework xu hướng để đảm bảo tính bền vững cho hệ thống. Ông thảo luận về cách Quarkus thu hẹp khoảng cách giữa Java và điện toán đám mây, cũng như cách mô hình BCE (Boundary-Control-Entity) giúp các Mô hình ngôn ngữ lớn (LLM) tạo ra mã nguồn Java chất lượng cao và giảm chi phí suy luận.

Chiến lược "nhàm chán" để xây dựng hệ thống Java bền vững: Từ Java EE, Quarkus đến LLMs

Trong thế giới công nghệ thay đổi từng ngày, việc chạy theo các xu hướng mới nhất thường được coi là con đường ngắn nhất để trở nên lỗi thời. Adam Bien, một chuyên gia tư vấn độc lập và là cựu chiến binh trong giới Java, lại có một triết lý trái ngược: ông tin vào sức mạnh của những tiêu chuẩn "nhàm chán".

Minh họa về Quarkus và JavaMinh họa về Quarkus và Java

Trong một podcast gần đây với InfoQ, Bien đã chia sẻ về hành trình từ Java EE đến Quarkus và cách ông áp dụng trí tuệ nhân tạo (AI) vào quy trình phát triển phần mềm mà không đánh mất sự ổn định của hệ thống.

Tại sao các tiêu chuẩn "nhàm chán" lại chiến thắng?

Adam Bien nổi tiếng với triết lý "zero dependencies" (không phụ thuộc) trong thế giới Java doanh nghiệp. Ông lập luận rằng việc bám sát vào các tiêu chuẩn như thư viện chuẩn Java (Java Standard Library), Jakarta EE và MicroProfile mang lại lợi ích to lớn hơn so với việc chạy theo các framework thịnh hành.

Theo Bien, các hệ thống được xây dựng dựa trên tiêu chuẩn thường có tuổi thọ dài hơn, dễ dàng nâng cấp và đơn giản hóa việc bảo mật cũng như chứng nhận. Ông chia sẻ rằng nhiều dự án 20 năm tuổi của ông gần như không có phụ thuộc bên ngoài, giúp việc bảo trì trở nên nhẹ nhàng và việc chuyển đổi sang các công nghệ mới như Quarkus diễn ra trơn tru.

"Nếu bạn tuân thủ các tiêu chuẩn, bạn sẽ không phải tranh luận về việc chọn framework nào. Mọi người đều biết Java, và các tiêu chuẩn là nền tảng chung ít tranh cãi nhất," Bien nhấn mạnh.

Quarkus: Cầu nối giữa Java và Cloud Native

Một trong những điểm nhấn trong cuộc thảo luận là sự chuyển dịch sang Quarkus. Bien giải thích rằng ông không phải là một "fanboy" của Quarkus, nhưng ông nhận thấy đây là lựa chọn logic nhất hiện nay.

Quarkus đã thành công trong việc thu hẹp khoảng cách giữa các tiêu chuẩn Java và điện toán đám mây (cloud). Nó cung cấp thời gian khởi động (boot time) cực nhanh, cải thiện trải nghiệm của nhà phát triển và giúp giảm chi phí đám mây nhờ hiệu suất cao. Bien lưu ý rằng Java với Quarkus có thể nhanh hơn gấp nhiều lần so với Python hay Node.js trong các môi trường serverless.

Hiệu năng và tối ưu hóa JavaHiệu năng và tối ưu hóa Java

Điều thú vị là Bien cho biết việc chuyển đổi các dự án Java EE cũ sang Quarkus diễn ra khá cơ bản và ít tốn công sức, nhờ vào cấu trúc mã nguồn tuân thủ chuẩn từ trước đó.

Mô hình BCE và Kỷ nguyên AI-Native

Khi nói về AI, Bien giới thiệu lại một mô hình kiến trúc cổ điển từ những năm 1990: Boundary-Control-Entity (BCE). Đây là một mô hình rất đơn giản, chia nhỏ ứng dụng thành các gói (package) theo chức năng kinh doanh, mỗi gói chứa ba thành phần: Boundary (giao tiếp), Control (logic) và Entity (dữ liệu).

Ông phát hiện ra rằng các Mô hình ngôn ngữ lớn (LLM) như GPT-4 hoặc Claude "rất yêu thích" mô hình BCE. Vì BCE là một tiêu chuẩn lâu đời và được tài liệu hóa rõ ràng, LLMs đã được đào tạo rất kỹ về nó. Điều này cho phép các AI tạo ra mã nguồn Java sản xuất (production-ready) với độ chính xác cao.

"LLMs biết BCE thuộc lòng. Với cấu trúc BCE và các tiêu chuẩn Java, bạn có thể yêu cầu AI mở rộng một thành phần chỉ với vài từ khóa ngắn gọn mà không cần cung cấp quá nhiều ngữ cảnh," Bien nói.

Giảm chi phí suy luận (Inference Costs) nhờ kiến trúc chuẩn

Một lợi ích kinh tế đáng kể mà Bien chỉ ra là việc sử dụng kiến trúc chuẩn và BCE giúp giảm đáng kể chi phí khi sử dụng LLMs. Trong các thử nghiệm của mình, ông nhận thấy có thể tiết kiệm tới 88% chi phí suy luận.

Lý do là khi hệ thống tuân thủ các tiêu chuẩn (ví dụ: JAX-RS cho API, JPA cho cơ sở dữ liệu), LLM không cần phải "đoán mò" cấu trúc hay các thư viện tùy chỉnh phức tạp. Ngữ cảnh cần thiết (context) trở nên nhỏ gọn hơn, giúp AI xử lý nhanh hơn và chính xác hơn, giảm thiểu các ảo giác (hallucinations).

Từ Agents đến Skills: Tinh chỉnh quy trình làm việc với AI

Bien cũng chia sẻ về sự thay đổi trong cách ông tương tác với AI. Thay vì sử dụng một tệp cấu hình khổng lồ (như cloud.md hay agent.md) chứa hàng trăm quy tắc cho mọi thứ, ông hiện chia nhỏ chúng thành các "skills" (kỹ năng) cụ thể.

Ví dụ, ông có một skill riêng cho ứng dụng Java CLI, một skill khác cho kiểm thử đơn vị (unit testing), và một skill cho ứng dụng MicroProfile. Cách tiếp cận này không chỉ giúp quản lý dễ dàng hơn mà còn tăng độ tin cậy khi làm việc với các cơ sở mã (codebase) lớn.

Quan sát và Chủ quyền dữ liệu (Sovereignty)

Về vấn đề quan sát (observability), Bien nhận định rằng OpenTelemetry đang trở thành tiêu chuẩn thực tế, thậm chí phổ biến cả Kubernetes. Tuy nhiên, ông cũng đặt câu hỏi về sự cần thiết của các chỉ số (metrics) phức tạp khi ta có AI và nhật ký (logs) tốt. Ông đề xuất việc sử dụng các bộ đếm đơn giản cho các trường hợp sử dụng thành công và thất bại, sau đó để AI phân tích nhật ký để phát hiện bất thường.

Kiến trúc hệ thống ổn định và an toànKiến trúc hệ thống ổn định và an toàn

Về chủ quyền dữ liệu, Bien ủng hộ thiết kế ứng dụng không phụ thuộc vào nhà cung cấp đám mây (cloud-agnostic). Nhờ sử dụng Java và Quarkus, các ứng dụng của ông có thể chạy dễ dàng trên AWS Lambda, Docker container tại chỗ (on-prem) hay các đám mây riêng tư mà không gặp khó khăn lớn. Điều này đặc biệt quan trọng đối với các khách hàng tại Châu Âu, nơi các quy định về dữ liệu ngày càng thắt chặt.

Chạy AI cục bộ với Java

Cuối cùng, Bien nhấn mạnh tiềm năng của Java trong việc chạy các mô hình AI cục bộ (local inference). Với các công cụ như TornadoVM và hỗ trợ GPU trong Java, việc chạy các mô hình nguồn mở ngay trên máy tính phát triển trở nên khả thi. Điều này giúp giảm sự phụ thuộc vào các dịch vụ đám mây lớn và tăng cường tính bảo mật, đồng thời tận dụng khả năng đa luồng mạnh mẽ của Java.

Quan điểm của Adam Bien nhắc nhở chúng ta rằng trong kỷ nguyên AI bùng nổ, những nguyên tắc cơ bản của kỹ thuật phần mềm—sự đơn giản, tuân thủ tiêu chuẩn và kiến trúc rõ ràng—vẫn là chìa khóa để xây dựng các hệ thống bền vững.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗