tương đương với thành phần Controller. Trong đó, mỗi Task tương đương với một Action như trong Zend Framework.
Mô tả cụ thể của từng class trong thành phần Module này như sau :
BaseAjaxModule
Lớp cơ bản cho các Module khác, cung cấp một số tác vụ nền như :
• getUser : Lấy đối tượng User hiện tại
• postDispatch : Kế thừa lại hàm của Joob, sử dụng để hiển thị nội dung AjaxView trả về.
• checkPersistent : Được gọi khi không tìm thấy thông tin về người dùng hiện tại ở session. Hàm này phục vụ cho chức năng ô Tự động đăng nhập ằ, thực hiện bằng cách kiểm tra cookie để đối chiếu với cơ sở dữ liệu
UserModule
Cung cấp các dịch vụ liên quan đến quản lý người dùng như :
• checkLoginTask : kiểm tra người dùng đã đăng nhập hay chưa
• registerTask/loginTask/logoutTask : đăng ký, đăng nhập và đăng xuất
• getNearFriendsTask/getNearPlacesTask : tìm kiếm cỏc địa điểm hay bạn bè gần chỗ mình
PlaceModule
Cung cấp các dịch vụ liên quan đến địa điểm như :
• checkinTask/checkoutTask : Cập nhật với hệ thống về địa điểm hiện tại của bạn để hệ thống có thể thông báo với bạn bè của bạn thông qua feed.
• getPlaceDetailTask : Lấy thông tin chi tiết của một địa điểm
• voteTask : vote cho địa điểm
FeedModule
Cung cấp các dịch vụ liên quan đến Feed
• loadFeedsTask: Tải về các feed của user hiện tại hay của một người chỉ định
• postFeedTask: Gửi một feed mới.
• removeFeedTask: Xóa một feed của mình. 3.3.3.3. Biểu đồ các lớp Javascript
Các lớp Javascript trong Joob bao gồm các lớp thuộc cỏc gúi Porlets, Plugins thực thi các lời gọi Ajax đến thành phần Module phía server của hệ thống. Các lớp Portlet và Plugin này tương đương với các Task trong các lớp thuộc gói Module, do đó không trình bày lại ở đây nữa.
Ngoài ra, để phục vụ cho tính năng về địa điểm, Joob cú thờm class Map.js : sử dụng bộ thư viện Google Maps API để thực thi các tác vụ trên bản đồ. Thiết kế của lớp Map này như sau :
Hình 15 – Sơ đồ lớp Map.js