Hỡnh 21. Mụ hỡnh hệ thống ứng dụng trờn nền SIM Toolkit
Hệ thống triển khai ứng dụng SIM Toolkit [3,4] gồm cú cỏc thành phần cơ bản:
Phớa khỏch hàng:
Điện thoại phase 2+ hoặc cú hỗ trợ SIM Toolkit.
Ứng dụng được nạp vào trong SIM phase 2+ hay SIM cú nền Java Card Phớa nhà cung cấp dịch vụ:
SMSC: Trung tõm dịch vụ bản tin ngắn.
STK Gateway: Trung tõm nhận thụng tin từ ứng dụng trong thẻ SIM.
Information Management Platform: Nền quản trị thụng tin, là một OTA Server.
Content Provider: Nhà cung cấp thụng tin, trung tõm cung cấp thụng tin này được kết nối tới STK Gateway.
Trong mụ hỡnh trờn, ứng dụng trong SIM gọi là cỏc SIM Toolkit Applet được tải và nạp vào SIM từ OTA Server. Việc tải ứng dụng hay dữ liệu vào SIM hoàn toàn thuộc quyền điều khiển của cỏc nhà quản lý và khai thỏc dịch vụ di động (Network Operator). Trờn mạng của nhà quản lý và khai thỏc dịch vụ di động luụn cú một OTA Server. OTA Server này thường được thiết kế và cung cấp bởi nhà sản xuất thẻ SIM bỏn cho nhà khai thỏc dịch vụ di động.
Về nguyờn tắc, toàn bộ cỏc dữ liệu được tải về thẻ SIM luụn được đảm bảo tớnh bớ mật. Để thực hiện điều này giữa OTA Server và SIM luụn thiết lập một kờnh bảo mật được thực hiện theo chuẩn GSM 03.48. Chuẩn bảo mật GSM 03.48 dành riờng cho cụng nghệ SIM Toolkit. Nú sử dụng hệ bảo mật đối xứng với cỏc khúa
SMS TCP/IP
GSM S MS S e c urity Cus to me r
S IM
GSM
SIM Too lkit
Apple t SmartTrus t Wire le s s Inte rne t Gate way Inte rne t
TCP/IP
Inte rne t S e rve r Cus tome r’s Bank
Trans port Se c urity (GSM 03.48)
End-to-e nd S e c urity (3DES ) SMSC
S MPP
STK Gate way
mó được biết đến ở hai đầu kết nối trờn SIM và trờn OTA Server. Thuật toỏn được sử dụng là thuật toỏn DES.
Mụ hỡnh trờn cũng mụ tả hoạt động của một ứng dụng SIM Toolkit đơn giản thụng qua cỏc bước:
Người dựng khởi tạo một ứng dụng tỡm kiếm thụng tin qua thực đơn dịch vụ được lưu trong thẻ SIM.
Ứng dụng trong thẻ SIM (SIM Toolkit Applet) thực hiện đúng gúi thụng tin khỏch hàng nhập hoặc lựa chọn yờu cầu vào bản tin SMS, và yờu cầu Handset gửi ra mạng.
SMSC nhận bản tin này, kiểm tra đớch đến và chuyển nú tới STK Gateway (SIM Toolkit Gateway này cú thể là OTA Server).
STK Gateway nhận được thụng tin do SMSC chuyển tới sẽ tiến hành phõn tớch yờu cầu và gửi yờu cầu tới một Application Server.
Application Server tham khảo yờu cầu và gửi thụng tin trả lời lại STK Gateway.
STK Gateway nhận thụng tin trả lời, đúng gúi thụng tin dạng SMS và chuyển nú tới SMSC.
SMSC sẽ chuyển SMS này tới ứng dụng trong thẻ SIM.
Ứng dụng trong thẻ SIM sẽ nhận thụng tin xử lý và hiển thị cho người dựng.
Cỏc bước xõy dựng phần mềm
Để xõy dựng một ứng dụng chạy trờn cỏc thiết bị đầu cuối, cần phải trải qua nhiều cụng đoạn, cú thể kể ra một số cụng đoạn chớnh như sau:
Hỡnh 22. Qui trỡnh xõy dựng ứng dụng SIM Toolkit 2.4.1.1 Xỏc dịnh bài toỏn
Tương tự như J2SE, J2ME việc phỏt triển ứng dụng phần mềm cho thẻ SIM cú thể chia làm hai loại phần mềm chớnh:
Ứng dụng đơn trờn thẻ SIM: tức là cỏc ứng dụng này chỉ chạy trờn SIM mà khụng cần giao tiếp với cỏc ứng dụng chạy trờn mỏy khỏc.
Vớ dụ: Lịch làm việc, trũ chơi.
Ứng dụng mạng: tức là ứng dụng khi chạy cú thể phải giao tiếp với cỏc ứng dụng chạy trờn mụi trường khỏc như cỏc ứng dụng duyệt WAP cần giao tiếp với cỏc WAP Server, ứng dụng này sử dụng cỏc chức năng qua kờnh SMS hay GPRS.
Vớ dụ: Tra cứu thụng tin, Mobile-Banking, M-Commerce, đũi hỏi với tớnh bảo mật cao.
Cả hai loại ứng dụng trờn nền SIM Toolkit đó cung cấp một số hàm API sẵn cú để thực hiện cỏc nhiệm vụ. Ngoài ra người phỏt triển ứng dụng cú thể tự xõy dựng cỏc lớp khỏc từ cỏc lớp cơ bản của SIM để thực hiện chức năng cho từng ứng dụng cụ thể.
Ngoài ra, SIM Toolkit cũn hỗ trợ cơ chế bảo mật, đõy là một đặc tớnh rất quan trọng cho phộp phỏt triển cỏc ứng dụng đũi hỏi tớnh bảo mật cao như: Mobile- Banking, M-Commerce.
2.4.1.2 Phõn tớch và thiết kế hệ thống
Cũng như cỏc ứng dụng khỏc, khụng chỉ trờn nền Java, việc phõn tớch thiết kế hệ thống cho chương trỡnh phần mềm là rất cần thiết. Điều này càng cú ý nghĩa hơn khi cỏc chương trỡnh ứng dụng trờn thẻ SIM đũi hỏi cỏc yờu cầu và điều kiện nghiờm ngặt hơn khi cỏc thẻ SIM luụn bị hạn chế về dung lượng cũng như tốc độ xử lý.
Từ yờu cầu khắt khe trong mụi trường thực thi trờn nền SIM Toolkit, cỏc ứng dụng cần phải được thiết kế đảm bảo tớnh đơn giản, gọn nhẹ và phải đảm bảo về tốc độ xử lý cũng như tốc độ truy cập tại cỏc thiết bị di động đầu cuối cũng như tại cỏc mỏy chủ xử lý thụng tin.
2.4.1.3 Xõy dựng chương trỡnh
Khi phõn tớch thiết kế ứng dụng đầy đủ, chi tiết thỡ việc viết chương trỡnh sẽ trở nờn hết sức đơn giản. Một ứng dụng hoàn thiện bao gồm một lớp Applet duy nhất chớnh là lớp chạy chương trỡnh. Cỏc chức năng của chương trỡnh cú thể tổ chức thành cỏc hàm hoặc cỏc lớp riờng để lớp Applet chớnh tham chiếu tới nú.
2.4.1.4 Tối ưu hoỏ chương trỡnh
Như đó trỡnh bày, tài nguyờn cũng như khả năng đỏp ứng của hệ điều hành trong SIM rất hạn chế do đú cần tối ưu hoỏ chương trỡnh sau khi viết. Đõy là thao tỏc căn chỉnh lại chương trỡnh nhằm mục đớch tăng tốc độ xử lý, tiết kiệm tài nguyờn. Cụng việc gồm cỏc thao tỏc:
Tổ chức lại chương trỡnh.
Hạn chế khai bỏo biến khụng cần thiết. Hạn chế sử dụng vũng lặp vụ hạn.
2.4.1.5 Kiểm tra tớnh tương thớch
Vỡ SIM Toolkit Framework khụng cú tớnh đặc thự cao nờn cú thể yờn tõm khi phỏt triển ứng dụng SIM Toolkit. Để chương trỡnh chạy ổn trờn thiết bị nào đú cần nắm rừ thiết bị đú hỗ trợ những API nào. Để thực hiện điều này cú thể kiểm tra cỏc thụng tin do nhà cung cấp SIM đưa ra.
2.4.1.6 Biờn dịch
Đõy là quỏ trỡnh dịch cỏc file .java thành cỏc .class, cú thể chạy được trờn JCVM, thực hiện việc này như với cỏc ứng dụng Java bỡnh thường.
2.4.1.7 Đúng gúi
Việc đúng gúi thực chất là tạo ra cỏc file .cap. Khi cài đặt file này sẽ được nạp vào hệ thống.
2.4.1.8 Cài đặt và triển khai
Việc cài đặt ứng dụng gồm việc nạp gúi chương trỡnh, thiết lập cỏc tham số trong nền SIM, cỏc yờu cầu bảo mật.
Cú thể cài đặt ứng dụng vào SIM theo hai cỏch: Nạp qua cỏp dữ liệu, qua thiết bị SIM Card Reader. Tải ứng dụng qua OTA Gateway của nhà cung cấp SIM.