Cover image
Dũng Trần (Leonard)
Dũng Trần (Leonard)

Hồi Sinh Hệ Thống Legacy: Khi AI Trở Thành "Kiến Trúc Sư" Chuyển Đổi Từ Nexacro Sang ReactJS & Spring Boot

03/03/2026
50 views

0

#21 on leaderboard of challenge:
Giữa những cuộc tranh luận không hồi kết về việc liệu AI có cướp đi công việc của lập trình viên hay chỉ là một "bong bóng" công nghệ, tôi muốn kể cho các bạn nghe về một bài toán không hề hào nhoáng nhưng lại là cơn ác mộng của mọi doanh nghiệp: Technical Debt (Nợ kỹ thuật) và Legacy Migration (Chuyển đổi hệ thống cũ).

Với kinh nghiệm dẫn dắt nhiều dự án phần mềm, tôi nhận ra giá trị lớn nhất của AI không nằm ở việc tạo ra một ứng dụng chat vui vẻ, mà là ở khả năng giải quyết những vấn đề tốn kém, rủi ro và nhàm chán nhất của kỹ nghệ phần mềm. Dự án chuyển đổi toàn bộ hệ thống lõi từ nền tảng Nexacro sang kiến trúc hiện đại ReactJS (Front-end) và Java Spring Boot (Back-end) của chúng tôi là một minh chứng sống động.

1. Bối Cảnh: Cơn Ác Mộng Mang Tên "Hệ Thống Cũ"

Vấn đề ban đầu: Khách hàng của chúng tôi là một tập đoàn tài chính đang vận hành hệ thống ERP/CRM cốt lõi được xây dựng trên nền tảng Nexacro – một framework UI đóng gói (khá phổ biến ở Hàn Quốc nhưng lại xa lạ với phần lớn thế giới).

Sau nhiều năm, hệ thống phình to, chậm chạp và không thể tích hợp với các nền tảng Mobile hay Cloud hiện đại. Vấn đề cốt tử là: tài liệu dự án đã thất lạc, logic nghiệp vụ (business logic) bị nhúng trực tiếp và "vò rối" vào các file UI của Nexacro, và việc tìm kiếm developer hiểu biết sâu về ngôn ngữ này trên thị trường gần như bằng không.

Vì sao nó quan trọng? Nếu làm theo cách truyền thống, chúng tôi sẽ phải thuê một đội ngũ khổng lồ, mất hàng tháng trời chỉ để "dịch" ngược mã nguồn cũ, hiểu logic, và sau đó viết lại từ đầu bằng ReactJS và Spring Boot. Ước tính rủi ro sai lệch nghiệp vụ cực kỳ cao, chi phí khổng lồ và thời gian downtime có thể kéo dài hàng năm.

2. Vai Trò Của AI: Kẻ Giải Mã Ngôn Ngữ Bị Lãng Quên
Đây là lúc AI bước vào và làm những điều mà các công cụ migration thông thường (như regex hay script convert) phải "chào thua". Thay vì dùng người để đọc code cũ, chúng tôi xây dựng một AI Pipeline (Luồng xử lý bằng AI):

  • Hiểu ngữ cảnh chéo (Cross-context understanding): Chúng tôi không yêu cầu AI "viết code". Chúng tôi yêu cầu AI đóng vai trò như một trình biên dịch thông minh. AI đọc các tệp XML/JS đặc thù của Nexacro, bóc tách cấu trúc giao diện để tự động sinh ra các Component ReactJS tương ứng (giữ nguyên layout, input field, grid).

  • Trích xuất logic nghiệp vụ (Business Logic Extraction): Ấn tượng nhất là khả năng AI bóc tách các đoạn code xử lý dữ liệu đang bị "kẹt" ở Front-end cũ, sau đó chuyển đổi và tái cấu trúc (refactor) chúng thành các RESTful API endpoint bằng Java Spring Boot chuẩn MVC. Nó tự động tạo Entity, Repository, Service và Controller mà một công cụ thuần túy không thể phân biệt được.

3. Tác Động Thực Sự: Những Con Số Biết Nói
Sự xuất hiện của AI trong dự án này đã làm đảo lộn mọi khái niệm về "Estimate" (Ước lượng thời gian/chi phí) truyền thống của chúng tôi. Kết quả đạt được vượt ngoài sức tưởng tượng:

  • Tiết kiệm 60% ~ 70% chi phí cho dự án: Thay vì cần một đội ngũ 20 người làm việc trong 12 tháng, chúng tôi chỉ cần một đội ngũ tinh gọn (chủ yếu là Senior) làm việc trong 4 tháng. Ngân sách dự án được tối ưu hóa một cách đáng kinh ngạc.

  • Xóa bỏ rào cản "học ngôn ngữ": Thông thường, team React/Java sẽ phải mất nhiều tuần để học cách đọc hiểu cấu trúc của Nexacro. Với AI, thời gian nghiên cứu nền tảng cũ giảm về gần bằng không. Dev chỉ cần tập trung vào việc review output là code React và Java quen thuộc của mình.

  • Giảm thiểu đột phá thời gian phát triển: Tốc độ tạo ra boilerplate code, cấu trúc thư mục, và các chức năng CRUD cơ bản nhanh gấp 10 lần.

  • Giảm thời gian test và fix bug: Chúng tôi thiết lập AI tự động sinh ra các kịch bản Unit Test (JUnit cho Java và Jest cho React) dựa trên code vừa migrate. Độ bao phủ (Test Coverage) luôn được đảm bảo ở mức cao ngay từ ngày đầu tiên, giúp phát hiện lỗi regression cực kỳ nhanh.

4. Góc Nhìn Chuyên Môn: Phương Pháp Tiếp Cận & Những Rủi Ro Cốt Lõi
Nhìn từ góc độ của một người làm công nghệ, việc "quăng" một đống code cũ vào Cursor AI và hy vọng nó trả ra code mới là một suy nghĩ ngây thơ và nguy hiểm. Để đạt được những con số ở trên, chúng tôi đã phải quản trị dự án AI với một kỷ luật thép.

Nếu bạn dự định áp dụng AI vào dự án của mình, đây là những vấn đề sống còn cần lưu ý:
  • Prompt Engineering là một kiến trúc hệ thống mới: Bạn không thể bắt tay vào làm ngay. Trái tim của dự án này là việc chúng tôi dành ra 2 tuần đầu chỉ để nghiên cứu và xây dựng một "Bộ Prompt Chuẩn". Chúng tôi thiết kế các chuỗi prompt (Prompt Chaining) theo từng bước: [Prompt 1: Phân tích UI] -> [Prompt 2: Tạo React Component] -> [Prompt 3: Trích xuất Data Model] -> [Prompt 4: Tạo Spring Boot Service]. Một prompt tồi sẽ phá hỏng toàn bộ kiến trúc.

  • AI có thể "ảo giác" (Hallucination) - Kiểm tra là bắt buộc: AI có thể viết ra một đoạn code Java trông rất đẹp, biên dịch (compile) thành công nhưng... sai hoàn toàn logic tính lãi suất của ngân hàng. Tính chính xác của kết quả do AI trả về phải luôn được coi là "có tội cho đến khi được chứng minh là vô tội".

  • Chỉ Senior mới có thể giám sát AI: Có một sai lầm phổ biến là dùng AI để thay thế các Senior Dev đắt tiền bằng các Junior Dev. Thực tế hoàn toàn ngược lại. Việc review code do AI sinh ra (đặc biệt là logic phức tạp) đòi hỏi những người có kinh nghiệm và chuyên môn cực sâu. Chỉ họ mới có đủ nhãn quan kiến trúc để nhận ra AI đang thiết kế sai luồng dữ liệu hoặc tạo ra lỗ hổng bảo mật.

  • Vấn đề bảo mật dữ liệu: Code legacy chứa rất nhiều thông tin nhạy cảm của doanh nghiệp. Bạn phải đảm bảo sử dụng các mô hình AI Enterprise, có cam kết không dùng dữ liệu dự án để train model chung, hoặc phải che giấu (masking) các thông tin nhạy cảm trước khi đưa vào prompt.

Kết luận
Dự án chuyển đổi Nexacro sang ReactJS/Spring Boot đã chứng minh cho tôi thấy một sự thật: AI không lấy đi công việc của chúng ta, nó lấy đi những phần việc "đau khổ" nhất của quá trình phát triển phần mềm.
Khi được sử dụng đúng cách – dưới sự dẫn dắt của một chiến lược Prompt Engineering bài bản và sự giám sát khắt khe của những kỹ sư giàu kinh nghiệm – AI chính là đòn bẩy vĩ đại nhất giúp chúng ta giải phóng sức lao động, tiết kiệm chi phí khổng lồ và tạo ra những sản phẩm chất lượng hơn trong thời gian kỷ lục.

0