Trước khi đi vào writeup bài này thì mọi người cần biết về RMI trong Java, mình sẽ nói sơ qua về RMI, và nó có liên quan gì đến Java deser
RMI là gì
Khái niệm
RMI (Remote Method Invocation) là một API trong java cho phép có thể truy cập method của một object từ xa trên máy khác. Ví dụ mình có 1 server có method hello của interface User, và phía client có interface User nhưng lại không có method hello, client muốn gọi method này sẽ đứng từ xa và dùng RMI để truy cập đến method hello của server
RMI được sử dụng trong các hệ thống phân tán, hoặc gọi đến các method của bên thứ 3. Ví dụ một thư viện XYZ cung cấp method imgRender để xử lý ảnh, src của thư viện được host ở một nơi khác, ta có thể dùng RMI để truy cập đến method imgRender mà không cần tải cả thư viện về.
Nói sơ qua về cấu trúc của RMI sẽ như sau: