Mashup

Hôm nay mình tìm hiểu về mashup để chia sẽ cho mọi người (trong phát triển web, tuy nhiên từ này bắt nguồn từ mashup trong âm nhạc👊).

Đại khái có thể hiểu là nó tổng hợp nội dung từ nhiều nguồn để tạo thành một dịch vụ độc lập trên một giao diện tương tác. Ví dụ cho dễ hiểu là ứng dụng busmap.vn: Nó sử dụng Google map kết hợp một số thông tin của xe buýt để tạo thành một ứng dụng. Nó thường sử dụng open APIs và datasources để tạo ra một kết quả được xem tốt hơn về mặt nào đó so với những dữ liệu thành phần tạo nên nó. Tất cả đều có sẵn nên việc tạo ra mashup rất nhanh, có thể trong vòng một trận lol, tất nhiên là bạn phải làm việc trước với các dữ liệu đó, chứ khơi khơi, chưa đọc document của nó thì bay vô làm là ăn hành liền.
Qua cách nhìn trên có thể thấy mashup có ba đặc tính quan trọng là: kết hợp (combination), hiển thị (visualiztion), tổ hợp (aggregation). Mình tạm dịch như vậy do không biết dịch cách nào cho sát nghĩa. Đại ý là nó sẽ:
  • Kết hợp các thông tin khác nhau từ nhiều nguồn khác nhau (trong trường hợp busmap là từ Google map và dữ liệu xe buýt). Ở đây nhấn mạnh ở nhiều nguồn, chứ không phải một nguồn duy nhất.
  • Các thông tin sẽ được tổ hợp thành một khối. Do thông tin là từ nhiều nguồn nên cần phải được tổ chức, phối hợp lại với nhau, có thể được chỉnh sử cho phù hợp để tạo thành thể hoàn chỉnh. Điều này làm mashup khác với kiểu gom thông tin rồi thể hiện cho người dùng xem.
  • Và điều quan trọng nhất là hiển thị nó lên giao diện cho người dùng. Tất nhiên, sau khi tổ hợp được rồi thì phải show nó ra, chứ để trong thì chỉ có máy hiểu, người thu thập về hiểu, còn người ngoài nhìn vô thì cũng như là mớ bòng bong.
Có hai kiến trúc mashup là web-based và server-based:
  • Web-based: quá trình kết hợp và định dạng lại dữ liệu để hiển thị cho người dùng được thực hiện ở trình duyệt. Ví dụ như việc người dùng tùy chọn hiển thị các mặt hàng khi tìm kiếm
  • Server-based: quá trình trên được thực hiện ở server rồi mới chuyển cho người dùng.

Comments

Popular Posts