1.3.1 Tổng quan
Trong khoảng hơn 10 năm trở lại đõy, với sự phỏt triển mạnh mẽ của cụng nghệ viễn thụng và vi tớnh. Cỏc thiết bị cầm tay và thiết bị điện thoại với khả năng truyền dữ liệu đang ngày càng thụng dụng. Ứng dụng quản lý thụng tin cỏ nhõn, nhƣ lịch làm việc và sổ địa chỉ đƣợc sử dụng rộng rói, cỏc ứng dụng phục vụ trong ngành thƣơng mại, thanh toỏn cũng dần xuất hiện. Trong cỏc ứng dụng đú, dữ liệu lƣu trữ trờn cỏc thiết bị cầm tay đó đỏp ứng đƣợc yờu cầu giống nhƣ dữ liệu lƣu trữ trờn mỏy tớnh cỏ nhõn hoặc mỏy chủ mạng.
Nhu cầu đồng bộ một mỏy tớnh cầm tay hoặc một điện thoại cầm tay với một mỏy tớnh cỏ nhõn đó phổ biến. Cỏc ứng dụng trờn mỏy Palm (thiết bị điện tử cầm tay sử dụng hệ điều hành palm) và cỏc mỏy PocketPC (thiết bị điện tử cầm tay sử dụng hệ điều hành Microsoft Window Mobile) đƣợc đồng bộ với cỏc bản sao của chỳng trờn mỏy tớnh cỏ nhõn. Đồng bộ cục bộ nhƣ vậy đƣợc thực hiện qua kết nối cỏp hoặc kết nối hồng ngoại.
Cỏc ứng dụng này thƣờng đƣợc sử dụng cho cả thiết bị cầm tay và mỏy tớnh. Cỏc nhà cung cấp cũng kiểm soỏt cỏc giao thức đồng bộ tớch hợp dữ liệu và cỏc định dạng dữ liệu.
Mụ hỡnh phỏt triển này làm việc tƣơng đối hiệu quả trong thực tế, bởi vỡ nú chỉ hạn chế cho cỏc ứng dụng quản lý dữ liệu cỏ nhõn (PIM), dữ liệu đƣợc tớch hợp với một ứng dụng đơn lẻ. Kỹ thuật truyền tin chủ yếu là theo hàng (serial), và số lƣợng cỏc thiết bị cầm tay chuẩn (platforms) thƣơng mại tƣơng đối nhỏ.
Lợi ớch của truyền thụng khụng dõy là cho phộp cỏc mỏy tớnh xỏch tay hỗ trợ kết nối khụng dõy, cỏc điện thoại đời mới, cấu hỡnh cao cú thể truy cập và sử dụng cỏc dịch vụ mạng.
Mặc dự cỏc lợi ớch liờn quan của nú, nhƣng mụ hỡnh đồng bộ trờn cỏc thiết bị cầm tay vẫn chƣa đƣợc ỏp dụng nhiều trong thực tế. Mụ hỡnh đũi hỏi đồng bộ dữ liệu từ xa trờn cỏc thiết bị cầm tay với dữ liệu trong kho lƣu trữ của cỏc mỏy chủ mạng. Khụng giống đồng bộ cục bộ, cỏc nhà cung cấp ứng dụng khú cú thể điều khiển hoàn toàn tiến trỡnh đồng bộ.
Nguyờn nhõn cú thể do nhiều điện thoại khụng đƣa ra giao diện (interface) lập trỡnh ứng dụng. Một lý do khỏc là nhà cung cấp dịch vụ mạng và nhà sản xuất thiết bị cầm tay thƣờng là cỏc đơn vị kinh doanh khỏc nhau, và rất khú để tớch hợp cựng nhau trờn cựng một hệ thống đồng bộ này.
Chớnh vỡ vậy, rất nhiều cỏc nhà cung cấp dịch vụ đồng bộ đó xuất hiện với tƣ cỏch là “cầu nối” giữa nhà cung cấp ứng dụng mỏy chủ và nhà cung cấp ứng dụng thiết bị cầm tay. Cỏc nhà cung cấp này thƣờng kết hợp với cỏc với nhà cung cấp hạ tầng (platform) thiết bị cầm tay và nhà cung cấp dịch vụ mạng hoặc nhà
cung cấp ứng dụng mỏy chủ. Họ sử dụng cỏc giao thức đồng bộ, cỏc định dạng dữ liệu của riờng mỡnh, đảm bảo tƣơng thớch với hạ tầng cỏc thiết bị cầm tay và cỏc ứng dụng sẵn cú mà khụng quan tõm đến chuẩn quốc tế. Điều này đó dẫn đến sự phõn mảnh trong truyền thụng.
1.3.2 Đồng bộ dữ liệu OMA-SyncML a/. Giới thiệu OMA-SyncML a/. Giới thiệu OMA-SyncML
“SyncML (Synchronization Makup Language): là một chuẩn cụng nghiệp khởi nguyờn để phỏt triển và thỳc đẩy một giao thức đồng bộ dữ liệu chung, mà cú thể đƣợc sử dụng rộng rói nhƣ chuẩn cụng nghiệp”.[6]
Mục đớch chớnh của SyncML là định nghĩa một đặc tả chuẩn cho ĐBDL, để cỏc ứng dụng mỏy khỏch và mỏy chủ cú thể phỏt triển độc lập. SyncML khởi nguồn (SyncML Initiative) nhắm đến việc đƣa cỏc đặc tả trở thành một chuẩn ĐBDL qua sự chấp nhận rộng rói của cỏc đặc tả mở và cỏc cài đặt thớch hợp.
Cỏc ứng dụng trờn cỏc thiết bị mỏy khỏch, mỏy chủ hỗ trợ SyncML và sử dụng cỏc định dạng dữ liệu SyncML, sẽ cú thể đồng bộ với nhau. Trong ý tƣởng của SyncML, cỏc ứng dụng trờn bất cứ thiết bị cầm tay nào cũng cú thể đồng bộ với cỏc ứng dụng tƣơng ứng trờn nền tảng mỏy chủ hoặc cỏc thiết bị khỏc.
SyncML chủ yếu nhắm đến và đƣợc thiết kế cho đồng bộ từ xa giữa một mỏy khỏch (thiết bị cầm tay) và một mỏy chủ, nhƣng cũng cú thể đƣợc sử dụng cho ĐBDL cục bộ và ĐBDL giữa cỏc thiết bị mạng.
Trong suốt năm 1999, IBM và Lotus đó khỏm phỏ cỏch để kớch hoạt ứng dụng mỏy điện thoại cầm tay ĐBDL với cỏc cơ sở dữ liệu IBM và Lotus Notes. Rừ ràng, với tƣ cỏch là một nhà cung cấp cơ sở hạ tầng phần mềm, IBM/Lotus muốn tăng khả năng thực hiện đồng bộ trờn số lƣợng lớn cỏc thiết bị điện thoại cầm tay, khụng phụ thuộc bất cứ nền tảng nào chỳng sử dụng. Họ thực sự cảm thấy cần phải cú một chuẩn đồng bộ mở.
Cựng thời điểm, cỏc cụng ty nhƣ Nokia và Ericsson đó phỏt hiện ra cỏc vấn đề của ĐBDL trong ngữ cảnh cỏc giao tiếp hồng ngoại điện thoại (IrMC) và Nhúm quan tõm đặc biệt Bluetooth (Bluetooth Special Interest Group). Motorola/Starfish cũng đang muốn mở rộng giao thức đồng bộ thuộc sở hữu riờng của cụng ty. IBM/Lotus và Nokia đó cựng nhau nắm giữ vị trớ dẫn đầu trong phỏt triển SyncML nguyờn thủy và đó quảng bỏ nú trong cỏc hội nghị truyền thụng và phần mềm.
Với một bản nhỏp của cỏc đặc tả và cụng việc quan trọng đó thực hiện trong nhúm liờn cụng ty, SyncML nguyờn thủy đƣợc đƣa ra vào thỏng 3-2000 với Ericsson, IBM, Lotus, Motorola, Palm, Psion, và Starfish là những nhà bảo trợ. Phiờn bản đầu tiờn của đặc tả đƣợc đƣa ra thỏng 12-2000 cung cấp một tập tham chiếu cài đặt. Thỏng 7-2001 tổ chức đó chuyển tiếp thành một tổ chức phi lợi nhuận để đỏp ứng tốt hơn cho cỏc nhu cầu phỏt triển của cộng đồng ĐBDL.
Cựng thời điểm Matsushita, Openwave, và Symbian đó tham gia với tƣ cỏch trở thành thành viờn bảo trợ cho SyncML nguyờn thủy. Năm 2001, tổ chức SyncML đó cú trờn 600 cụng ty hỗ trợ, một trong số đú đó, đang phỏt triển cỏc sản phầm phự hợp với SyncML.
SyncML Initiative đó hợp nhất với OMA (Open Mobile Alliance) vào thỏng 12 - 2002. Cỏc đặc tả SyncML để lại đƣợc chuyển theo định dạng OMA với phiờn bản chung của OMA SyncML, đồng bộ dữ liệu OMA và Quản lý thiết bị OMA vào thỏng 5 – 2002. [11]
b/. Khỏi niệm đồng bộ dữ liệu OMA-SyncML
Đồng bộ dữ liệu OMA-SyncML (OMA DS) là một đặc tả cho kiến trỳc đồng bộ dữ liệu chung dựa trờn định dạng XML, hoặc giao thức đặc tả, phục vụ cho việc ĐBDL trờn cỏc thiết bị mạng. Đồng bộ dữ liệu OMA-SyncML đƣợc thiết kế cho việc sử dụng cỏc thiết bị điện thoại cầm tay, kết nối mạng khụng liờn tục vào cỏc dịch vụ sẵn cú trờn hệ thống mạng. [16]
Đồng bộ dữ liệu OMA-SyncML cũng cú thể đƣợc sử dụng cho ĐBDL ngang hàng (peer - to - peer). Đồng bộ OMA-SyncML đƣợc thiết kế đặc biệt để điều khiển cỏc dịch vụ mạng và thiết bị lƣu trữ dữ liệu theo định dạng khỏc nhau hoặc sử dụng cỏc hệ thống phần mềm khỏc nhau.
1.3.3 Ứng dụng của đồng bộ dữ liệu OMA-SyncML
SyncML cú thể hỗ trợ xõy dựng nhiều ứng dụng yờu cầu dữ liệu và đƣợc đồng bộ trờn nhiều cỏc thiết bị khỏc nhau, sử dụng cỏc kết nối mạng khỏc nhau. Thờm vào đú, cỏc ứng dụng phải thực sự đỏng tin cậy, tốc độ xử lý nhanh, và hỗ trợ cỏc chớnh sỏch bảo mật.
Một số ứng dụng của SyncML:
Ứng dụng quản lý thụng tin cỏ nhõn nhƣ sổ địa chỉ, danh bạ điện thoại, lịch làm việc cho phộp ngƣời sử dụng cú thể đồng bộ thực hiện sao lƣu, quản lý dữ liệu cỏ nhõn của mỡnh với một kho lƣu trữ khỏc do nhà cung cấp dịch vụ chỉ định.
Ứng dụng MPE (Mobile Push Email): cho phộp ngƣời sử dụng gửi, nhận email qua thiết bị di động, đồng bộ danh bạ địa chỉ email.
Ứng dụng trong ngành chứng khoỏn: cho phộp ngƣời sử dụng cú thể thực hiện cỏc giao dịch mua, bỏn chứng khoỏn qua nhiều kờnh khỏc nhau nhƣ mỏy tớnh, điện thoại. Nú đảm bảo đồng bộ cỏc giao dịch và trạng thỏi tài khoản khi thực hiện giao dịch.
1.4 CÁC CễNG NGHỆ LIấN QUAN 1.4.1 Ngụn ngữ XML 1.4.1 Ngụn ngữ XML
a/. Giới thiệu
XML (Extensible Markup Language, "Ngụn ngữ Đỏnh dấu Mở rộng") là ngụn ngữ đỏnh dấu cho cỏc tài liệu chứa thụng tin cú cấu trỳc. Nú là một tập con đơn giản của SGML, cú khả năng mụ tả nhiều loại dữ liệu khỏc nhau. [11]
Ngụn ngữ đỏnh dấu là kỹ thuật để xỏc định cỏc cấu trỳc trong một tài liệu. Đặc tả XML định nghĩa một cỏch chuẩn thể thờm đỏnh dấu vào tài liệu
Mục đớch chớnh của XML là đơn giản húa việc chia sẻ dữ liệu giữa cỏc hệ thống khỏc nhau, đặc biệt là cỏc hệ thống đƣợc kết nối với Internet.
Cỏc ngụn ngữ dựa trờn XML (thớ dụ: RDF, RSS, MathML, XHTML, …) đƣợc định nghĩa theo cỏch thụng thƣờng, cho phộp cỏc chƣơng trỡnh sửa đổi và kiểm tra hợp lệ bằng cỏc ngụn ngữ này mà khụng cần cú hiểu biết trƣớc về hỡnh thức của chỳng.
b/. Đặc điểm
XML cung cấp một phƣơng tiện dựng văn bản để mụ tả thụng tin và ỏp dụng một cấu trỳc kiểu cõy cho thụng tin đú. Tại mức căn bản, mọi thụng tin đều thể hiện dƣới dạng văn bản, chen giữa là cỏc thẻ đỏnh dấu (markup) với nhiệm vụ ký hiệu sự phõn chia thụng tin thành một cấu trỳc cú thứ bậc của cỏc dữ liệu ký tự, cỏc phần tử dựng để chứa dữ liệu, và cỏc thuộc tớnh của cỏc phần tử đú.
Đơn vị cơ sở của XML là cỏc ký tự, theo định nghĩa của Universal Character Set (Bộ ký tự toàn cầu). Cỏc ký tự đƣợc kết hợp theo cỏc tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML. Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thƣờng là một phần nào đú của cỏc ký tự thuộc tài liệu, đƣợc mó húa dƣới dạng một chuỗi cỏc bit và lƣu trữ trong một tệp văn bản.
Sự phổ biến của cỏc phần mềm soạn thảo văn bản (word processor) đó hỗ trợ việc soạn thảo và bảo trỡ tài liệu XML một cỏch nhanh chúng. Trƣớc XML, cú rất ớt ngụn ngữ mụ tả dữ liệu với cỏc đặc điểm đa năng, thõn thiện với giao thức internet, dễ học, dễ tạo.
Thực tế, đa số cỏc định dạng trao đổi dữ liệu đều chuyờn dụng, cú tớnh độc quyền, và cú nhị phõn (chuỗi bit thay vỡ chuỗi ký tự), khú dựng chung giữa cỏc ứng dụng phần mềm khỏc nhau hay giữa cỏc hệ nền (platform) khỏc nhau. Việc tạo và bảo trỡ trờn cỏc trỡnh soạn thảo thụng dụng lại càng khú khăn.
Bằng cỏch cho phộp cỏc tờn dữ liệu, cấu trỳc dữ liệu cú thứ bậc, ý nghĩa của cỏc phần tử, thuộc tớnh cú tớnh chất mở và cú thể đƣợc định nghĩa bởi một giản đồ tựy biến đƣợc, XML cung cấp một tập cơ sở cỳ phỏp dựng cho việc tạo lập cỏc ngụn ngữ đỏnh dấu dựa XML theo yờu cầu. Cỳ phỏp chung của cỏc ngụn ngữ đú là cố định, cỏc tài liệu phải tuõn theo cỏc quy tắc chung của XML, bảo đảm rằng tất cả cỏc phần mềm hiểu XML ớt ra cũng phải cú khả năng đọc (phõn tớch cỳ phỏp - parse), và hiểu bố cục tƣơng đối của thụng tin trong cỏc tài liệu đú. Giản đồ chỉ bổ sung một tập cỏc ràng buộc cho cỏc quy tắc cỳ phỏp. Cỏc giản đồ thƣờng hạn chế tờn của phần tử, thuộc tớnh và cỏc cấu trỳc thứ bậc đƣợc phộp. Vớ dụ, chỉ cho phộp một phần tử cú tờn 'ngày sinh' chứa một phần tử cú tờn 'ngày' và một phần tử cú tờn 'thỏng', mỗi phần tử phải chứa đỳng một ký tự. Đõy là điểm khỏc biệt giữa XML và HTML.
XML khụng hạn chế về việc nú đƣợc sử dụng nhƣ thế nào. Mặc dự XML về cơ bản là dạng văn bản, cỏc phần mềm với chức năng trừu tƣợng húa nú thành cỏc định dạng khỏc giàu thụng tin hơn đó nhanh chúng xuất hiện, quỏ trỡnh trừu tƣợng húa này đƣợc thực hiện chủ yếu qua việc sử dụng cỏc giản đồ định hƣớng kiểu dữ liệu (datatype-oriented schema), và khuụn mẫu lập trỡnh hƣớng đối tƣợng (mà trong đú, mỗi tài liệu XML đƣợc thao tỏc nhƣ là một đối tƣợng). Những phần mềm nhƣ vậy cú thể coi XML nhƣ là dạng văn bản đó đƣợc tuần tự húa, chỉ khi nú cần truyền dữ liệu qua mạng.
1.4.2 Ngụn ngữ WML a/. Giới thiệu a/. Giới thiệu
Ngụn ngữ đỏnh dấu khụng dõy (Wireless Markup Language - WML), dựa trờn tài liệu XML, là một ngụn ngữ đỏnh dấu mở rộng cho cỏc thiết bị cài đặt cỏc đặc tả giao thức ứng dụng mạng khụng dõy (WAP) nhƣ điện thoại cầm tay, Palm,… và sử dụng cỏc ngụn ngữ đỏnh dấu khỏc nhƣ, WAP, XHTML, và thậm chớ cả HTML chuẩn.
WML đƣợc xõy dựng trờn nền tảng DHTML của Openwave, và cỏc ngụn ngữ đỏnh dấu tƣơng ứng của Nokia, Ericssion. WapFourm đó tạo ra phiờn bản đầu tiờn 1.1 năm 1999. WML bản 2.0 đƣợc đƣa ra 2001, tuy nhiờn nú vẫn khụng đƣợc chấp nhận rộng rói. Phiờn bản mới nhất hiện đang sử dụng là 1.3. [27]
b/. Cấu trỳc WML
WML khỏ giống với HTML (Hyper Text Language), trong đú nú cung cấp cỏc biểu mẫu, cỏc cỏch thể hiện văn bản, hỡnh ảnh, cỏc liờn kết, … Tài liệu WML đƣợc biết nhƣ là một khung (deck). Dữ liệu trong khung đƣợc cấu trỳc thành nhiều trang (card), mà mỗi trong số đú biểu diễn một sự tƣơng tỏc với ngƣời sử dụng.
* Deck:
Phần tử <wml> định nghĩa một deck WML, cặp thẻ đơn bắt đầu và kết thỳc trong mỗi file WML: mỗi tài liệu, một deck. Nếu cần, phần tử <wml> cú thể cú hoặc khụng chứa phần tử <head>, phần tử <template>, tuy nhiờn, chỳng luụn chứa phần tử <card> [27]
<?xml version=”1.0”>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.2//EN” http://www.wapforum.org/DTD/wml_1.2.xml>
<wml> <card>
<p>Unisoft Travel</p>
<p>Welcome to our WAP site</p> </card>
</wml>
* card
Deck cú thể chứa một hay nhiều cặp thẻ <card>, đại diện cho một hay nhiều card, nhƣng tài liệu chỉ một card.
1.4.3 Giao thức WAP a/. Giới thiệu a/. Giới thiệu
WAP (Wireless Application Protocol) – là một kiến trỳc mạng, tập hợp nhiều giao thức cho việc truyền tải nội dung web đến cỏc thiết bị khụng dõy. WAP là cụng nghệ mở, dựa trờn mụ hỡnh mạng mỏy khỏch – mỏy chủ (client-server) và thừa kế cỏc chuẩn giao thức Internet nhƣ HTML, XML, TCP/IP…[7]
b/. Kiến trỳc Wap
Khi cỏc thiết bị cầm tay truy cập đến một trang wap, yờu cầu (WAP request) đƣợc thiết lập giữa thiết bị cầm tay và cổng dịch vụ wap (WAP Gateway). Sau đú cổng dịch vụ wap sẽ giải mó, và thụng dịch yờu cầu này thành yờu cầu HTTP (HTTP request) rồi chuyển đến mỏy chủ dịch vụ web (Web server). Tiếp theo, mỏy chủ dịch vụ web xử lý những yờu cầu này và trả về một HTTP response cho cổng dịch vụ wap. Từ đõy cổng dịch vụ wap sẽ dịch HTTP response thành nội dung phản hồi wap (WAP response) và mó hoỏ nú rồi chuyển tiếp tới thiết bị cầm tay. [3]
Hỡnh 1. 7 Mụ hỡnh tổng quan wap [3]
Nhƣ hỡnh trờn, cổng dịch vụ wap (WAP gateway) giữ vai trũ nhƣ cầu nối giữa mạng khụng dõy, gồm cú cỏc thiết bị khụng dõy với mỏy chủ mạng chứa cỏc ứng dụng mỏy chủ (Application server).
Cổng dịch vụ wap bao gồm cỏc thành phần chớnh sau:
* Cổng giao thức (Protocol gateway)
Cổng giao thức (Protocol gateway) chuyển những yờu cầu từ vựng đệm giao thức wap (WAP protocol stack) tới vựng đệm giao thức world wide web (WWW protocal stack) (HTTP và TCP/IP).
* Trỡnh mó hoỏ thụng tin và giải mó (Content encoders và decoders)
Trỡnh mó hoỏ chuyển thụng tin Web thành dạng nộn, để giảm số lƣợng và kớch thƣớc cỏc gúi dữ liệu thuận tiện cho việc truyền lờn mạng khụng dõy (Wireless data network). Khi thiết bị cầm tay gửi yờu cầu đến ứng dụng WAP (WAP application) chạy trờn một mỏy chủ dịch vụ web (Web server), trƣớc tiờn yờu cầu này đi qua cổng dịch vụ wap, nơi mà nú đƣợc giải mó, và thụng dịch thành cỏc yờu cầu HTTP, và chuyển tới đƣờng dẫn (URL) thớch hợp. Sau đú nội dung phản hồi (response) đƣợc gửi ngƣợc trở lại cổng dịch vụ wap, mó hoỏ nội dung