Giới thiệu về XML(eXtensible Markup Language)
XML có thể được mô tả là một siêu ngôn ngữ (metalanguage), một ngôn ngữ định nghĩa ngôn ngữ khác. Với sự giúp đỡ của XML, người dùng có thể định nghĩa các thẻ riêng của mình. Bởi vì mô tả thẻ cũng nằm trong XML, mô tả cũng có thể được hiểu bởi mọi nền tảng làm cho dữ liệu có tính khả chuyển. Vì XML cho phép người dùng tạo một ngôn ngữ mới với các thẻ mới, nó cho phép dữ liệu được lưu trữ ở bất kỳ định dạng nào. Thực sự, cơ bản nó dùng để mô tả cách mà thông tin lưu trữ. XML có thể cung cấp khả năng duyệt tốt hơn tốt hơn nhiều so với sử dụng CSS và XSL style sheet. Khi các thẻ đã được nghĩa trong XML, ta có thể sử dụng dữ liệu này khá dễ dàng với bất kỳ phần mềm XML nào.
Sinh viên TH : Nguyễn Nho Bình – Lớp 49PM2 ĐHXD
Nói chung, dữ liệu định dạng XML có khuynh hướng dài dòng bởi vì để tăng tính rõ ràng cho người đọc. Đây có thể là một vấn đề cho các Ứng dụng truy xuất bộ nhớ và tài nguyên băng thông giới hạn, như các ứng dụng J2ME.
Trong XML, DTD(Document Type Definition) được dùng để định nghĩa cấu trúc và kiểu của thẻ. DTD định nghĩa tên của thẻ, sắp xếp, và liên hệ chúng với nhau. DTD định nghĩa theo các luật khai báo thẻ SGML. Đôi khi định nghĩa này là một phần của tài liệu chứa thẻ. Trong trường hợp này tài liệu được gọi là DTDLess, XML DTD, hay Schema cũng có thể được dùng để định nghĩa nội dung của tài liệu XML.
XML là một ngôn ngữ định dạng; đầu tiên đọc định nghĩa dữ liệu (data definition) để hiểu nó, lưu trữ vào bộ nhớ trước khi lấy tài liệu để thực thi chức năng mà các thẻ định nghĩa. Để diễn tả định dạng dữ liệu trong DTD sao cho Ứng dụng có thể hiểu được cần phải có một phần mềm đặc biệt gọi là bộ phân tích (parser)
Giới thiệu về bộ phần tích kXML
Đây là bộ phân tích XML quan trọng và phổ biến nhất. Nó là sự kết hợp của pull parser và XML Writer, được dùng để viết XML. Nó chứa một bộ WAP Binary XML(WBXML) được dùng để chuyển tài liệu XML trên các kênh truyền thông vô tuyến. Do đó, nó hỗ trợ XML. Nó chứa một bộ kDOM đặc biệt là Document Object Model dùng cho biên dịch và làm việc với môi trường thiết bị thông tin di động(Mobile Information Device ] MID) mà không cần phải hiệu chỉnh.
Giới thiệu về WBXML
Định dạng WBXML giúp giảm kích thước tài liệu XML một cách đáng kể, trong đó định dạng văn bản của tài liệu XML được chuyển sang một dạng nhị phân. Định dạng này cũng được dùng để chuyển các trang XML, kích thước được giảm xuống rất nhiều bằng cách thay các thẻ, thuộc tính, và các giá trị thông dụng bằng một tập các thẻ bài (token) có thể cấu hình được
Hoạt động của hệ thống
Ứng dụng MIDP chạy trên các thiết bị di động. Các MIDlet giao tiếp với các trang JSP thông qua giao thức HTTP với dữ liệu được định dạng XML. JSP sau đó chuyển
Sinh viên TH : Nguyễn Nho Bình – Lớp 49PM2 ĐHXD
MIDlet request sang tầng giữa (middleware layer) tầng này quản lý các logic nghiệp vụ và giao tiếp với cơ sở dữ liệu.
MIDlet khách sẽ gửi yêu cầu đến trang JSP trên máy server, dữ liệu yêu cầu được định dạng XML. Trang JSP trên máy server sẽ truy xuất cơ sở dữ liệu, lấy thông tin theo yêu cầu và trả lời về cho MIDlet khách. Dữ liệu gửi giữa máy chủ và MIDlet khách được định dạng XML với giao thức trao đổi được quy định sẵn.
Hình 5.6. Sơ đồ thể hiện quá trình gửi nhận dữ liệu Trao đổi dữ liệu
MIDlet Client và trang JSP server giao tiếp với nhau thông qua dữ liệu định dạng XML và sau đó dữ liệu được nén xuống dạng WBXML(có dung lượng nhỏ) bằng bộ phân tích dữ liệu kXML, nhằm tiết kiệm bộ nhớ và tốc độ thực thi ứng dụng nhanh hơn. Mẫu định dạng được gửi từ Client đến Server có dạng như sau : Vì đây là chương trình chạy ở chế độ offline do vậy từ Client chỉ gửi 1 yêu cầu đến Server để tải dữ liệu về và sử dụng. Tương tự như vậy mẫu định dạng dữ liệu mà Server trả về Client.
<Service group> <locale1>
<producer1>
<name>…</name>
<phone number>…</phone number> <address>…</address>
Sinh viên TH : Nguyễn Nho Bình – Lớp 49PM2 ĐHXD </producer1> <producer2> ……… </producer2> ……… </locale1> <locale2> ………… </locale2> ………… </Service group>