II.1. Kiến trúc hệ thống
Hình 20: Tổng quan hệ thống
Hệ thống bao gồm 2 thành phần là client và server. Client là ứng dụng chạy trên điện thoại của người dùng, kết nối với server qua Internet. Server chính là máy chủ, xây dựng cơ sở dữ liệu và quản lý chức năng trong hệ thống. Kết nối với server của Google Maps thực hiện tại client để lấy dữ liệu bản đồ, thông qua API của Google Maps.
Trang 42
Sơ đồ chi tiết miêu tả kiến trúc bên trong client – server:
Hình 21: Kiến trúc hệ thống
Kiến trúc hệ thống bao gồm phần Client và Server được xây dựng bằng framwork Ruby on Rails theo mô hình MVC.
Thành phần Client side:
Tầng View trong phần Client sẽ hiển thị với người dùng. Do sử dụng bản đồ để hiển thị, tầng này sẽ kết nối với Google Maps server để lấy dữ liệu hiển thị. Điều này được hỗ trợ bằng API của Google Maps.
Thành phần Server side:
- Dữ liệu được lấy từ tầng View sẽ gửi đến tầng Controller xử lý. Và dữ
liệu sau khi được xử lý sẽ được gửi lại tầng View dưới dạng JSON object để thuận tiện cho việc trao đổi dữ liệu và kiến trúc RESTful WebService.
- Tầng Controller nhận dữ liệu từng tầng View, muốn biết xử lý như thế
nào nó sẽ phải gọi các đối tượng từ tầng Model để đối tượng này thưc hiện công việc của mình.
Trang 43
II.2. Các chức năng hoạt động trên hệ thống
- Phần Client:
o Hiển thị bản đồ
o Ghi nhận các yêu cầu của người dùng
o Xử lý chia sẻ lộ trình
- Phần Server:
o Xử lý thêm địa danh.
Trang 44