Xây dựng ứng dụng doanh nghiệp di động bằng J2ME trên nền tảng J2EE

MỤC LỤC

Tầng CLDC

Do lớp Java đã bị bỏ đi để giảm kích thước của J2ME hoặc do lớp bị bỏ bởi vì nó ảnh hưởng đến sự an toàn, bảo mật của thiết bị di động hay của các ứng dụng khác trên thiết bị di động (có thể dẫn đến phát triển virus). Thuộc tính này sau đó được kiểm tra bởi bộ tiền kiểm tra trước khi mã chương trình được giao cho KVM hay bộ biên dịch mã bytecode.Một bộ phận khác của bảo mật trong CLDC là mô hình sandbox.

MIDP

Thế hệ kế tiếp của CLDC là đặc tả JSR - 139 và được gọi là CLDC thế hệ kế tiếp (Next Generation). Nó sẽ nhắm đến các vấn đề như nâng cao việc quản lý lỗi và có thể phép toán số thực.

MIDLET

Bộ khung MIDlet

Một MIDlet là một lớp Java kế thừa (extend) của lớp trừu tượng java.microedition.midlet.MIDlet và thực thi (implement) các phương thức startApp(), pauseApp(), và destroyApp(). Các phát biểu import được dùng để include các lớp cần thiết từ các thư viện CLDC và MIDP.

NỀN TẢNG J2EE 4.1 KHÁI QUÁT J2EE

CÁC THÀNH PHẦN J2EE

    +JavaBean Activation Framework (JAF) - tập các API được sử dụng bởi các package khác như là JavaMail,…Bạn có thể dùng JAF để xác định kiểu dữ liệu, đóng gói truy cập đến dữ liệu đó, mở rộng những tác vụ dựa trên dữ liệu đó và khởi tạo một bean tương ứng để thực hiện những tác vụ đó. Việc quản lý này giống như một sự chấp nhận thêm vào các đối số khởi tạo servlet cho việc cấu hình thông tin sử dụng bởi một nhóm các servlet, cho thực thể của định danh database mà chúng ta đã đề cập ở phần trước, một bảng kiểu (style sheet) URL cho một ứng dụng, tên của một mail server …. Việc giữ các thông tin được phân chia trong các instance variable trong trường hợp không làm việc với tất cả, trong trường hợp này thay vì sử dụng đối tượng HttpSession, các attribute ServletContext hoặc một dữ liệu lưu trữ bên ngoài là một database hoặc một dịch vụ RMI/CORBA để sửa chữa trạng thái ứng dụng.

    Khi lookup service chấp nhận một service mới bằng cách gửi lại cho service providers một service registrar object, thì quá trình đưa một service vào lookup service được thực hiện như sau (quá trình join): service providers sẽ gọi hàm registrer() của service registrar object với thông số là một object, object này gọi là service item, nó chứa tất cả các thông tin cần thiết cho một dịch vụ cần đưa vào hệ thống JNDI.

    Hình 1.4.1: Tổng quan các máy logic của J2EE
    Hình 1.4.1: Tổng quan các máy logic của J2EE

    LẬP TRÌNH WEBSERVICE VỚI MIDP .1 Lập trình mạng MID trên HTTP client

      Bước kế tiếp là server/component tạo ra và thiết lập cấu hình cho một instance của ConnectionManager và truyền instance này đến method createConnectionFactory của ManagedConnectionFactory object. Reference này có thể chứa cặp <reference name>/<logical name> được sử dụng để nhận các đặt tính của factory, reference cũng có thể là một chuỗi nhị phân chứa các thông số dùng để thiết lập cho ManagedConnectionFactory. Hai đặc tả quan trọng về dịch vụ Web là Ngôn ngữ mô tả dịch vụ Web (Web Services Description Language – WSDL) và Giao thức truy xuất đối tượng đơn giản (Simple Object Access Protocol – SOAP).

      SOAP được dùng để định nghĩa định dạng của thông điệp được trao đổi giữa các điểm cuối (thí dụ như client và server) của dịch vụ Web trong suốt quá trình hoạt động của dịch vụ Web đó.

      XÂY DỰNG ỨNG DỤNG DEMO

      Một dịch vụ Web đơn giản là một dịch vụ trên Internet có khả năng được truy xuất thông qua giao diện theo khuôn dạng sử dụng các giao thức Internet chuẩn như HTTP. Một dịch vụ Web là một hệ thống phần mềm được nhận dạng bằng một URI (Uniform Resource Identifier), mà các giao diện chung và sự gắn kết của nó được định nghĩa và mô tả bằng XML. Các hệ thống này sau đó có thể tương tác với dịch vụ Web theo phương cách được mô tả trong định nghĩa của nó, sử dụng các thông điệp theo XML được chuyển bằng các giao thức Internet.

      Ứng dụng tương tác với môi trường bên ngoài: đặc điểm của loại ứng dụng này là kích thước lớn,đòi hỏi phần cứng xử lý mạnh do đó bản thân thiết bị di động không thể lưu trữ cũng như xử lí điều này đòi hỏi sự giao tác với các phần khác (server để lưu trữ và xử lý,đường truyền vật lí để trao đổi), đây chính là những ứng dụng lớn hay gọi là các ứng dụng doanh nghiệp.

      CHƯƠNG 1:ỨNG DỤNG CHẠY ĐƠN KHÔNG TƯƠNG TÁC VỚI MÔI TRƯỜNG BÊN NGOÀI “Tetris”

      CHỨC NĂNG

        Khi người dung mở ứng dụng màn hình thông tin sẽ xuất hiện,lựa chọn trờ chơi để vào giao diện chính, người dung sẽ chọn các cấp độ để vào giao diện của người chơi hoặc chọn thoát ra khỏi màn hình chính. Hằng số 1/7 đóng vai trò quan trọng trong việc xác định khối hình nào sẽ xuất hiện (xác suất xuất hiện mỗi khối là 1/7). +Gói tetris.model chứa lớp tetris.board và tetris.piece định nghĩa cấu hình và sự xuất hiện của bảng trò chơi và các khối hình.

        +TetrisMiDlet.java:TetrisMIDlet là MIDlet chính của ứng dụng, có nhiệm vụ khởi tạo các đối tượng, lấy các thuộc tính từ tập tin .JAD mô tả ứng dụng, hiển thị màn hình giới thiệu, sau đó giao nhiệm vụ hiển thị giao diện người dùng cho màn hình chức năng chính.

        Hình 2.1.3: Sơ đồ luồng dữ liệu mức đỉnh
        Hình 2.1.3: Sơ đồ luồng dữ liệu mức đỉnh

          GIAO DIỆN ỨNG DỤNG VÀ ĐÁNH GIÁ HIỆU SUẤT 1 Giao diện của chương trình

          J2ME Wireless Toolkit có công cụ Memory Monitor cho phép giám sát bộ nhớ sử dụng của ứng dụng trong quá trình thực thi. Ta thấy bộ nhớ sử dụng tăng cao khi bắt đầu vào chương trình nhưng ổn định dần khi chạy và giữ mức ổn định đó cho đến lúc kết thúc chương trình.Với tổng dung lượng là 2097152 thì mức sử dụng ổn định ở max là 284484 là hoàn toàn có thể. Ứng dụng Tetris chạy trên di động không cần tương tác với môi trường bên ngoài, đơn giản nhỏ gọn nhưng từ khâu phân tích thiết kế đều thể hiện tính chuyên nghiệp.Nhưng ta chưa thấy ưu điểm của J2EE trong trường hợp này nhưng bước đầu đã làm quen với J2ME như cách dùng các lệnh và đồ họa màu sắc…, là bước đệm không thể thiếu để đi đến khám phá một “tinh hoa” của enterprise ở chương sau.

          Hình 2.1.14:Các giao diện của chương trình
          Hình 2.1.14:Các giao diện của chương trình

          ỨNG DỤNG TƯƠNG TÁC VỚI MÔI TRƯỜNG BÊN NGOÀI

          CHỨC NĂNG 1 Chức năng chung

          • Sơ đồ thực thể liên kết

            Khi người dùng mở ứng dụng, đầu tiên chương trình sẽ hiển thị màn hình giới thiệu chương trình trong một khoảng thời gian ngắn, sau đó chuyển sang giao diện chức năng chính, người dùng sẽ lựa chọn chức năng và kích hoạt chức năng tương ứng. Đây là phần chính của chương trình cho phép một khách hàng có thể đặt vé thông qua việc chọn rạp phim, chọn phim,chọn ngày,chọn giờ,chọn số lượng vé, chọn chỗ ngồi và cuối cùng đến đặt vé. Đánh giá chất lượng của các bộ phim bạn đã xem bằng chức năng rate movies để gửi thông tin này tới các nhà sản xuất phim giúp có đánh giá khách quan đối với các phim chiếu rạp.

            Cho phép quản lý các danh sách rạp phim được cung cấp bởi nhà cung cấp dịch vụ + Download theater: tải thông tin về các rạp chiếu phim được cung cấp bởi nhà dịch vụ. Client chỉ gồm một tác nhân kích hoạt chính là Customer.Customer có quyền đưa ra các yêu cầu về đặt vé, chỉnh sửa thông tin tài khoản, đánh giá phim và xem thông tin về các rạp chiếu phim được cung cấp. Cập nhật lịch chiếu phim của rạp phim cho lịch chiếu mỗi bộ phim vì mỗi bộ phim được chiếu tại một rạp cụ thể, một bộ phim có thể chiếu ở nhiều rạp cùng hoặc khác thời điểm.

            Hình 2.2.5: Sơ đồ luồng dữ liệu mức đỉnh
            Hình 2.2.5: Sơ đồ luồng dữ liệu mức đỉnh

            GIAO DIỆN ỨNG DỤNG VÀ ĐÁNH GIÁ HIỆU SUẤT 1 Giao diện của chương trình

            Cụ thể hệ thống này được xây dựng trên máy tính cài hệ điều hành Windows XP Professional Edition. Theo danh sách trên thì ngoài giao thức http là giao thức chính, không còn bất cứ giao thức nào khác làm tổn hao hay làm chậm quá trình trao đổi trên mạng vì vậy khả năng truy cập mạng sẽ giảm bót rất nhiều thời gian. Ứng dụng đã được hoàn thành dưới dạng demo,nhưng hạn chế mà ứng dụng chưa làm được là chưa xây dựng một giao diện thân thiện với người quản trị cho phép nhập cơ sở dữ liệu tại các máy chủ, nhưng là một chương trình enterprise nó cho thấy được “tâm điểm” và cũng là thế mạnh của chương trình này đó là các EJB cùng các công nghệ khác của J2EE như là jsp, xml, webservice, JNDI….

            Là người xây dựng hệ thống tôi đã có những trải nghiệm thiết thực với công nghệ J2EE và J2ME cũng như tích lũy cho mình kiến thức quan trọng về công nghệ này để có thể phục vụ công việc trong tương lai.

            Hình 2.2.27: Chức năng chỉnh sửa thông tin cá nhân + Đặt vé
            Hình 2.2.27: Chức năng chỉnh sửa thông tin cá nhân + Đặt vé