3.1 Giải pháp công nghệ trên điện thoại
Các nhà sản xuất khác nhau thì đưa ra các dòng điện thoại khác nhau, sử dụng các hệ điều hành khác nhau như (Symbian, android, window mobile…) Việc giao tiếp với các hệ điều hành này không có một chuẩn chung mà phải xử lý riêng lẻ làm hao tốn tài nguyên hệ thống cũng như khó khăn trong việc chuẩn hóa giao tiếp.
Tại sao sử dụng công nghệ Java?
Các thiết bị di động cũ thì các phần mềm của nó là những bộ mã cứng, do nhà sản xuất cài đặt vào, nhưng ngày nay, các phần mềm có thể linh động tải về từ mạng (loading software over the air).
Java là công nghệ được nhiều nhà sản xuất di động lớn tích hợp trong thiết bị của mình:America Online, Ericsson, Matsushita, Motorola, NTT DoCoMo, Palm, Samsung, Siemens, Sun Microsystems*, Bull, Fujitsu, Mitsubishi, Nokia, Oracle, RIM, Sharp, Sony, Symbian...
Java là nền tảng công nghệ có thể chạy trên được hầu hết các thiết bị di động mà không phụ thuộc nhiều vào phần cứng của thiết bị.
Một điểm nữa đó là J2ME hỗ trợ lắng nghe tin nhắn SMS từ 1 cổng định trước, giúp ứng dụng bắt được các tin nhắn gửi đến mà không để tin nhắn vào Inbox của điện thoại. Điều này khá hữu ích trong việc phát triển thêm yếu tố bảo mật ứng dụng qua kênh tin nhắn một cách tự động và trong suốt với người dùng.
3.2 Giải pháp công nghệ phía server side
Mobile gateway là một proxy servlet có nhiệm vụ là đứng giữa để hỗ trợ giao tiếp giữa client và core server. Định dạng bản tin giao tiếp giữa client và mobile gateway là dạng binary chứ không phải XML để giảm dung lượng đường truyền cũng như tốc độ xử lý. Mobile gateway sẽ hoàn toàn chỉ là tầng môi giới giữa client và core server, nhiệm vụ chính của nó đơn giản là chỉ forward các yêu cầu của client đi và nhận kết quả, trả về cho client. Điều này giúp giảm tải cho cả client và server và linh động trong việc mở rộng hệ thống cũng như bảo trì sau này.
Sinh viên thực hiện: Lê Sỹ Đức - Khóa K50 - Lớp CNPM 67
Hình 26. Các module mức thấp của mobilegateway
Luồng xử lý:
a. Mobile gateway tiếp nhận yêu cầu từ client application qua Channel (sử dụng http connection hoặc tcp).
b. Luồng dữ liệu nhận được sẽ qua Validator để validate (theo TLV) và kiểm tra tính toàn vẹn chiều dài của luồng dữ liệu nhận được
c. Sau khi được kiểm tra, Parser sẽ thực hiện phân tích luồng dữ liệu và chuyển thành object
d. Bussiness Processing sẽ căn cứ theo loại giao dịch, sử dụng wrapper để đóng gói dữ liệu và gửi đến Core Server.
e. Kết quả nhận được từ Core Server sẽ được đóng theo cơ chế TLV và gửi về Channel
Phần core server là thành phần chính của hệ thống đảm nhiệm các xử lý nghiệp vụ, tương tác với CSDL … Với mỗi một giao dịch cần được xử lý, mobile gateway lại mở một kết nối socket đến core server để giao tiếp. Việc đóng mở kết nối thường xuyên sẽ làm tiêu tốn nhiều tài nguyên cũng như thời gian của cả hệ thống. Chính vì vậy, để tối ưu kết nối đến core server, ta cần quản lý được kết nối đến nó; điều này dễ dàng làm được với Apache pooling. Apache pooling sẽ quản lý việc mở bao nhiêu kết nối đến core server, và mỗi khi mở kết nối thì các kết nối này sẽ không bị đóng lại mà sẽ để ở dạng chờ (Idle) để phục vụ cho những lần sau. Apache pooling còn được sử dụng trong việc kết nối đến database của hệ thống.
Phần core server do thời gian hạn hẹp cũng như thiếu thốn về kiến thức, nghiệp vụ nên em chưa thể xây dựng hoàn chỉnh với công nghệ EJB. Hiện tại thì
Sinh viên thực hiện: Lê Sỹ Đức - Khóa K50 - Lớp CNPM 68
core server chỉ có thể xử lý một số yêu cầu đơn giản, và kết nối trực tiếp với database để thực hiện lệnh.