Hệ thống SMSGateway

Một phần của tài liệu Tìm hiểu dịch vụ web RESTful và ứng dụng trong xây dựng hệ thống SMSGateway (Trang 50)

Hệ thống SMSGateway được viết trong ngôn ngữ java, Java được chọn vì ngôn ngữ java có nhiểu tính năng mà một hệ thống SMSGateway cần phải có như:

 Công nghệ Java, có thể hoạt động trên bất kỳ HĐH nào: Windows, Linux,..  Hỗ trợ nhiều loại database: Oracle, SQL Server, MySQL,..

 Cơ chế QUEUE, STORE & FORWARD.  Tự động điều chỉnh tốc độ gửi tin nhắn

 Kết hợp lưu trữ database và file để đảm bảo không bị mất dữ liệu

 Tự động phát hiện mất kết nối (với SMSC, database) và tự động kết nối lại.  Cơ chế cảnh báo khi có sự cố (mất kết nối với SMSC, lỗi database,..)  Hỗ trợ nhiều loại nội dung: text, logo, wap push, bookmark, vcard,..  Giao diện đơn giản, dễ thao tác, phù hợp với việc triển khai ở Việt Nam  Hoạt động ổn định 24/24

Tính đến thời điểm này thì hệ thống SMSGateway cung cấp hai API, một cái được sử dụng để giao tiếp giữa máy tính và máy tính, và một cái được dùng để giao tiếp giữa người và máy tính, theo đó cấu trúc của hệ thống gồm có ba tầng chính như trong hình 4.3 và 4.4, tầng lưu trữ dữ liệu, tầng nghiệp vụ chứa hầu hết các nghiệp vụ logic, tầng thứ ba cũng là tầng trên cùng chứa một vài nghiệm vụ logic và API của GUI và XML-RPC. Như đã bàn luận trong phần 1.2 thì nhiều dịch vụ được cung cấp bởi cả hai API và lượng công việc và lượng code sẽ tăng gấp đối nếu tái sử dụng hoặc nâng cấp các dịch vụ trên, hơn nữa mỗi API đều có nhược điểm của nó: nhược điểm của XML-RPC thì như đã nêu ở phần 4.4 và nhược điểm của GUI gồm các điểm sau:

Hình 4.2 Mô hình hệ thống SMSGateway

 Hiện tại chỉ cung cấp một kiểu dữ liệu trả về là HTML, mà nên cung cấp thêm các kiểu dữ liệu trả về khác để có thể tạo ra sự giao tiếp tốt nhất cho người dùng chẳng hạn như JSON, XML, v.v…

 URI sử dụng hiện tại chưa tường minh cho người dùng và không cung cấp được khả năng nhận biết hệ thống.

CSDL

Tầng nghiệp vụ REST API

Máy chủ

 Chức năng cache của giao thức HTTP không được sử dụng do thiết kế API hiện tại và hạn chế khả năng mở rộng các dịnh vụ.

 Code GUI trộn lẫn với code mô hình logic nghiệm vụ.

Một phần của tài liệu Tìm hiểu dịch vụ web RESTful và ứng dụng trong xây dựng hệ thống SMSGateway (Trang 50)