Tiến trình thực hiện

Một phần của tài liệu Xây dựng hệ thống dịch vụ giá trị gia tăng trên nền dịch vụ nhắn tin tức thì qua hệ thống tin nhắn tức thì (Trang 47 - 49)

Chương trình chính khi khởi động sẽ tự động gọi hai đối tượng YMSG và Autorun. Sau đó tiến trình truyền tham số Y!ID và Y!Password cho YMSG để YMSG đăng nhập. Sau khi đăng nhập thành công, YMSG sẽ tự động gọi PkgHandler. PkgHandler sẽ lắng nghe các gói tin đến, xóa những gói tin không cần thiết, chỉ xử lý các gói tin có mã là YAHOO_SERVICE_CHATMSG. Sau khi bắt được gói tin, PkgHandler sẽ tiến hành việc phân tích gói tin dựa vào ký tự <dấu cách>.

Ví dụ

/translate en vi hello

Dịch vụ được viết sao cho đảm bảo tính đơn giản. Trong dịch vụ phải thực thi giao diện IMCMD, nói cách khác thì phải có hai hàm đặc biệt là hàm doit auto_run. Hàm doit

nhận hai tham số chính là chuỗi tham số và nick Yahoo gửi:

def doit (args, sender):

args: chuỗi tham số do người dùng đưa vào

sender: nick Yahoo của người dùng

Hàm doit trả về một chuỗi. PkgHandler sẽ gửi lại cho người yêu cầu nội dung mà hàm

doit trả về thông qua YMSG. Bản thân PkgHandler chỉ lắng nghe các gói tin đến. Nếu muốn gửi một thông điệp đến người dùng nào đó, PkgHandler phải yêu cầu YMSG

gửi.

Hàm doit từ dữ liệu đầu vào của người dùng, tùy mỗi loại mà có những cách xử lý khác nhau. Có thể sẽ kết nối CSDL hoặc phân tích các RSS trên Internet để lấy về nội dung cần trả.

Hàm auto_run là hàm được gọi từ tiến trình Autorun. Tiến trình Autorun sẽ được kích hoạt trong chương trình chính. Khi khởi động, tiến trình Autorun sẽ đọc file config.txt. Trong file config.txt này sẽ liệt kê các dịch vụ muốn thực hiện chế độ chạy tự động. Tiến trình Autorun sẽ lần lượt gọi các dịch vụ này thông qua hàm auto_run(im). (là một hàm trong giao diện IMCMD). Với im là một thể hiện (instance) của YMSG. Hàm auto_run của dịch vụ sẽ tự xử lý dữ liệu (bằng nhiều cách) sau đó gửi tin nhắn thông qua biến im.

Đa phần các dịch vụ cung cấp chế độ chạy tự động (auto_run) đều không tự động xử lý dữ liệu. Bởi vì nếu tự xử lý dữ liệu thì sẽ rất tốn tài nguyên. Vì vậy, việc xử lý và lưu trữ dữ liệu đều được thực hiện ở hệ thống bên ngoài (có thể làm một nhà cung cấp dịch vụ nào đó hoặc tự xây dựng các hàm cung cấp dịch vụ).

Một phần của tài liệu Xây dựng hệ thống dịch vụ giá trị gia tăng trên nền dịch vụ nhắn tin tức thì qua hệ thống tin nhắn tức thì (Trang 47 - 49)