• Thứ Hai, 28/11/2005 11:00 (GMT+7)

    Cung cấp ứng dụng qua mạng không dây

    Thuật ngữ over-the-air provisioning (OTA) mô tả khả năng tải xuống và cài đặt nội dung thông qua mạng không dây theo yêu cầu.

    TỔNG QUAN VỀ OTA

    Về phía người dùng di động OTA chỉ đơn giản là cơ chế tìm kiếm một ứng dụng cần thiết trên web và tải xuống thông qua mạng không dây. Theo dạng đơn giản nhất, OTA được mô tả như trong Hình 1.

    Những thành phần trong Hình 1 gồm:

    • Thiết bị di động
    – Thiết bị phải có phần mềm cho phép người sử dụng duyệt danh sách các ứng dụng ở một cổng thông tin chuyên cung cấp ứng dụng trên mạng và chọn ứng dụng để tải xuống – phần mềm này được biết đến như là một phần mềm tìm kiếm ứng dụng - discovery application (DA). DA có thể là ứng dụng có sẵn hoặc ứng dụng dựa vào trình duyệt sử dụng cùng giao thức với máy chủ tải ứng dụng. Chẳng hạn, với MIDP OTA thì giao thức là HTTP.

    • Mạng
    – Là mạng không dây bất kỳ có sẵn, có thể có mạng vô tuyến và WAP gateway.

    • Máy chủ tải ứng dụng
    – Được gọi là cổng thông tin cung cấp ứng dụng, đây là máy chủ có thể nhìn thấy trên mạng, chạy web server và truy cập vào kho nội dung. Theo dạng đơn giản nhất, bất kỳ trang web nào cũng có thể phục vụ như một cổng thông tin cung cấp ứng dụng.

    • Kho nội dung
    – Đây là kho chứa tất cả các tập tin mô tả ứng dụng và ứng dụng để tải xuống.

    Có thể cài đặt MIDlet vào ĐTDĐ bằng vài cách. Hầu hết ĐTDĐ cho phép kết nối với PC qua hồng ngoại, nối tiếp hay Bluetooth. Những phương pháp này được dùng để thử nghiệm và cài đặt cục bộ. Tuy nhiên, cũng có những tình huống không thể kết nối trực tiếp ĐTDĐ đến PC. Việc cung cấp "thông qua mạng không dây" - OTA giải quyết được những trường hợp này.

    Trong thực tế, OTA không hoàn toàn đơn giản. Một hệ thống cung cấp theo cơ chế OTA gồm có các phần quản lý, xuất bản nội dung, điều khiển truy cập, cài đặt (cập nhật) ứng dụng và theo dõi việc sử dụng các ứng dụng (hay nội dung) để tính tiền. Hình 2 giới thiệu hệ thống phức tạp này.

    ĐẶC TẢ MIDP OTA

    Đặc tả MIDP OTA định nghĩa cách thức các thiết bị MIDP tương tác với máy chủ cung cấp ứng dụng bao gồm cách thức thiết bị tải ứng dụng xuống. Đặc tả MIDP OTA định nghĩa tiến trình OTA được khởi tạo bởi người sử dụng, không phải cơ chế OTA khởi tạo do máy chủ.

    Phiên bản đầu tiên của đặc tả MIDP OTA xuất hiện sau đặc tả MIDP 1.0. MIDP 2.0 cải tiến MIDP 1.0 và chính thức còn đưa OTA vào. Do là thành phần của đặc tả MIDP, nên tất cả các thiết bị MIDP tương lai sẽ hỗ trợ OTA theo cách chuẩn hóa và nhất quán. Điều này đem đến khả năng phân phối ứng dụng cho nhiều thiết bị di động khác nhau theo một cách chung nhất.

    Đặc tả MIDP OTA có thể chia thành những phần sau:

    • Yêu cầu đối với thiết bị.

    • Vòng đời OTA.

    • Những thay đổi đối với tập tin mô tả ứng dụng Java - Java Application Descriptor - hỗ trợ OTA.

    • Tương tác giữa hệ thống quản lý ứng dụng (AMS - Application Management System) và máy chủ cung cấp ứng dụng.

    Yêu cầu đối với thiết bị

    • Hỗ trợ phiên bản 1.1 của giao thức HTTP.

    • Hỗ trợ tìm kiếm ứng dụng, cho phép người dùng duyệt danh sách ứng dụng trên mạng và chọn ứng dụng cần tải xuống.

    • Hỗ trợ hệ thống quản lý ứng dụng, quản lý chu kỳ sống của ứng dụng. AMS trên các thiết bị hỗ trợ J2ME được gọi là trình quản lý ứng dụng Java - Java application manager(JAM).

    Vòng đời OTA

    Vòng đời OTA bao gồm: tìm kiếm, cài đặt, cập nhật, thực thi và gỡ bỏ ứng dụng. Chu kỳ sống OTA được tóm tắt trong Hình 3.

    Người sử dụng dùng thiết bị (sử dụng DA) để tìm kiếm một ứng dụng mong muốn trên cổng thông tin chuyên cung cấp ứng dụng trên mạng. Sau đó người dùng chọn ứng dụng cần tải và cài đặt. Sau khi cài đặt thành công, ứng dụng có thể thực thi, cập nhật hoặc gỡ bỏ khỏi thiết bị. Tất cả những giai đoạn này được quản lý bởi AMS.

    Phần lớn vòng đời OTA là trong suốt đối với chúng ta: các giao thức mạng, các chi tiết giao diện người sử dụng, cài đặt DA và AMS. Còn lại, việc cài đặt, cập nhật, hoặc gỡ bỏ ứng dụng là "không trong suốt" đối với người sử dụng, gồm việc cấu hình WAP, thay đổi tập tin JAD, cấu hình DA để tìm đúng máy chủ và cấu hình máy chủ web để phục vụ nội dung thích hợp.

    CÁCH THỨC HOẠT ĐỘNG CỦA OTA

    Trước hết ĐTDĐ gửi một yêu cầu tập tin JAD bằng giao thức WAP. Yêu cầu này được gửi đến máy chủ web thông qua WAP gateway. Máy chủ web gửi gói JAD đến ĐTDĐ. Sau đó ĐTDĐ truy tìm gói JAR được định nghĩa trong tập tin JAD trên máy chủ web. Java Application Manager (JAM) của ĐTDĐ cài đặt gói này. Sau khi cài đặt, ĐTDĐ có thể gửi thông báo cài đặt đến máy chủ.

    Tìm kiếm

    Người dùng thiết bị di động dùng DA kết nối đến máy chủ cung cấp ứng dụng, tải danh sách ứng dụng xuống qua cơ chế OTA và chọn ứng dụng ưa thích. Trong vài thiết bị như SamSung, Nokia và Siemens, việc tìm kiếm ứng dụng phải sử dụng trình duyệt WAP. Bạn nên tham khảo tài liệu nhà sản xuất để cấu hình cho OTA.

    DA thực hiện gửi yêu cầu HTTP để lấy danh sách ứng dụng. Phản hồi là danh sách ứng dụng có sẵn với mô tả và địa chỉ URL cho mỗi ứng dụng. Bên dưới là ví dụ phản hồi chứa danh sách ứng dụng trong định dạng WML và HTML.

    Phản hồi định dạng WML

    HTTP/1.1 200 OK

    Content-Type: application/vnd.wap.wml, text/x-wap.wml, text/vnd.wap.wml

    Content-Length: .....

    :

    <?XML version="1.0"?>

    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML

    1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.XML">

    <wml>

    <head>

    <meta forua="true" http-equiv="Cache-Control"

    content="must-revalidate, no-store"/>

    </head>

    <template>

    <do type="prev" label="Back">

    <prev/>

    </do>/

    </template>

    <card title="Java Vietnam - Mobile Games MIDlets" id="main">

    <p>Java Vietnam - Mobile Games MIDlets:</p>

    <p align="left">

    <a href="http://localhost:8080/UIDemo.jad"> download UIDemo</a></p>

    a href="http://localhost:8080/games.jad"> download games</a></p>

    </card>

    </wml>


    Phản hồi định dạng HTML

    HTTP/1.1 200 OK

    Content-Type: text/html

    Content-Length: .....

    :

    :

    <html>

    <head>

    <title>JVN Download MIDlet Menu</title>

    </head>

    <body>

    <p>Welcome to JVN Download</p>

    <p>

    Menu MIDlets: <br>

    <a href="http://localhost:8080/UIDemo.jad"> download UIDemo</a></p>

    a href="http://localhost:8080/games.jad"> download games</a></p>

    Enjoy!

    </body>

    </html>

    URL của ứng dụng có thể là tập tin JAD hoặc JAR. Nếu URL chỉ đến tập tin JAR, thì AMS sử dụng URL để tải tập tin JAR. Nếu URL chỉ đến tập tin JAD thì AMS tải tập tin JAD, sau đó sử dụng URL này để tải JAR. AMS bắt đầu cài đặt ứng dụng ngay sau khi tải xuống ứng dụng hoàn tất. Tốt nhất nên khai báo tập tin JAD vì AMS có thể kiểm tra thiết bị có đủ tài nguyên trước khi tải xuống và cài đặt tập tin JAR.

    Cài đặt và cập nhật

    Tiến trình cài đặt gồm việc tải tập tin JAR của MIDlet và sẵn sàng cho người sử dụng thực thi.

    Nếu ứng dụng có tập tin JAD, AMS tải nó xuống trong tiến trình tìm kiếm và sẽ tải MIDlet chỉ ra bởi thuộc tính MIDlet-Jar-URL của tập tin JAD. Nếu không có tập tin JAD thì AMS sử dụng địa chỉ URL của MIDlet trong danh sách ứng dụng được cung cấp.

    Khi thực hiện cập nhật ứng dụng, AMS phải so sánh phiên bản và thông báo cho người sử dụng xác nhận đồng ý cài đặt hay không. Đối với bộ MIDlet đã được đăng ký thì cả MIDlet gốc và mới phải có cùng mã khóa. AMS không cho phép MIDlet không đăng ký thay thế MIDlet có đăng ký.

    AMS sẽ báo cáo cho máy chủ phục vụ tải ứng dụng về bất kỳ lỗi nào gặp phải trong suốt quá trình cài đặt.

    Mô tả ứng dụng Java (JAD) cho OTA


    Để hỗ trợ OTA, cần thực hiện vài thay đổi trên tập tin Java Application Descriptor (JAD). Bốn thuộc tính liên quan đến OTA như sau:

      Thuộc tính tập tin JAD     Mô tả  
      MIDlet-Jar-URL     Cho biết địa chỉ (URL) của MIDlet (tập tin JAR).  
      MIDlet-Install-Notify     Cho biết địa chỉ (URL) để báo cáo về trạng thái cài đặt (và cập nhật).  
      MIDlet-Delete-Notify     (chỉ có trong MIDP 2.0) Cho biết địa chỉ (URL) để báo cáo về trạng thái gỡ bỏ.  
      MIDlet-Delete-Confirm     AMS sử dụng để đưa ra thông báo xác nhận khi gỡ bỏ MIDlet.  

    Nếu tập tin JAR có trong cùng thư mục với tập tin JAD, thì địa chỉ URL có thể chỉ cần để tên tập tin JAR. Bên dưới là một ví dụ về tập tin mô tả JAD xác định vị trí và kích thước của tập tin JAR, đây là những thông tin tối thiểu cần có trong tập tin JAD, nếu không thì ứng dụng không thể cài đặt thành công.
     

      Thông Tin     Giải Thích  
      MIDlet-Name: Example     Tên của bộ MIDlet  
      MIDlet-Vendor: Mobile Games     Nhà cung cấp MIDlet  
      MIDlet-Version: 1.0     Số phiên bản  
      MIDlet-Jar-Size: 25798     Kích thước của tập tin JAR  
      MIDlet-Jar-URL: http://localhost:8080/UIDemo.jar     Vị trí tập tin JAR  
      MIDlet-1: Example, Example     Tên của MIDlet, biểu tượng và class chính  

    YÊU CẦU PHÍA MÁY CHỦ PHỤC VỤ OTA

    Yêu cầu tối thiểu chỉ cần máy chủ phục vụ web được cấu hình định nghĩa kiểu MIME thích hợp dành cho tập tin JAD và JAR như bên dưới:

        Phần mở rộng     Kiểu MIME  
        JAD     text/vnd.sun.j2me.app-descriptor  
        JAR     application/java-archive  

    Với Apache và Tomcat, chúng ta có thể cấu hình trong tập tin $CATALINA_HOME/conf/web.XML hoặc có thể cập nhật tập tin web.XML trong ứng dụng.

    Định nghĩa các kiểu OTA MIME trong web.XML của Tomcat

    <!-- Tập tin JAD -->

    <mime-mapping>

    <extension>jad</extension>

    <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>

    </mime-mapping>

    <!--Tập tin JAR -->

    <mime-mapping>

    <extension>jar</extension>

    <mime-type>application/java-archive</mime-type>

    </mime-mapping>


    Kết luận

    Hy vọng bài viết đem đến cho bạn kiến thức cơ bản về việc cung cấp ứng dụng theo phương pháp OTA. Việc cung cấp (hay phân phối) ứng dụng bằng cơ chế OTA là một công nghệ rất quan trọng, phục vụ cho việc tải các ứng dụng trong môi trường di động.

    Lê Thanh Vũ
    j2me_bluetooth – JavaVietnam.org
    Email: vu.lethanh@gmail.com

    ID: A0511_129