Chƣơng 1 : TỔNG QUAN VỀ ĐỒNG BỘ DỮ LIỆU
2.1 KIẾN TRÚC CỦA ĐỒNG BỘ DỮ LIỆU OMA-SYNCML
Đồng bộ dữ liệu OMA-SyncML khụng chỉ định nghĩa một chuẩn, mà cũn định nghĩa kiến trỳc ĐBDL và cỏc giao thức đồng bộ dữ liệu. Kiến trỳc bao gồm giao thức đặc tả, cũng nhƣ cỏc khỏi niệm mụ phỏng SyncML (SyncML Adapter) và giao diện SyncML (SyncML Interface).
Kiến trỳc đồng bộ dữ liệu SyncML đƣợc sử dụng để mụ tả mụ hỡnh hệ thống tớch hợp với cỏc cài đặt đồng bộ dữ liệu OMA. [16]
Hỡnh 2. 1 Đồng bộ dữ liệu OMA-SyncML [16]
Ứng dụng A miờu tả một dịch vụ mạng cung cấp đồng bộ dữ liệu với cỏc ứng dụng khỏc (ứng dụng B). Dịch vụ và thiết bị đƣợc kết nối qua giao thức mạng chung (vớ dụ HTTP).
Ứng dụng A sử dụng một giao thức đồng bộ dữ liệu, đƣợc cài đặt nhƣ là “mỏy đồng bộ” (Sync Engine). “Bộ quản lý đồng bộ mỏy chủ” (Sync Server Agent) quản lý “mỏy đồng bộ” truy cập tới mạng, và giao tiếp với cỏc tỏc vụ đồng bộ dữ liệu tới/từ ứng dụng client. “Bộ quản lý đồng bộ mỏy chủ” thực hiện cỏc cụng việc này thụng qua chức năng trong “Giao diện SyncML” (SyncML I/F).
App A Sync Engine Sync Server Agent App B Sync Client Agent Sync ML/IF SyncML Adapter Sync ML/IF SyncML Adapter Transport SyncML XML Obj3ect Appplication/vnd.syncml
“SyncML I/F” là giao diện lập trỡnh ứng dụng đối với “Bộ chuyển đổi SyncML” (SyncML Adapter). “Bộ chuyển đổi SyncML” là tiến trỡnh khỏi niệm húa, mà bộ phỏt và bộ nhận sử dụng để định dạng cỏc đối tƣợng SyncML khi giao tiếp với nhau. “Bộ chuyển đổi SyncML” cũng là thực thể kiến trỳc, là bề mặt giao tiếp với lớp giao vận mạng, dựng để tạo và lƣu giữ một kết nối mạng giữa ứng dụng A và ứng dụng B.
Ứng dụng B tận dụng “Bộ quản lý đồng bộ mỏy khỏch” (Sync Client Agent) để truy cập mạng và “Bộ chuyển đổi SyncML” thụng qua cỏc chức năng của “SyncML I/F”.
a/. Kiến trỳc bờn trong OMA-SyncML
OMA-SyncML thụng qua một lớp trực quan của kiến trỳc phần mềm để đồng bộ dữ liệu trờn thiết bị cầm tay. Lớp trực quan này giống giao thức lớp mạng TCP/IP, nhƣng khỏc nhau mức ngữ nghĩa. Toàn bộ kiến trỳc hệ thống đồng bộ đƣợc chia thành cỏc lớp sau: [6] Lớp ứng dụng (Application) Lớp dữ liệu (Data) Lớp đồng bộ (Synchronization) Lớp giao vận (Transport) Lớp vật lý (Physical)
Hỡnh 2. 2 Kiến trỳc cỏc lớp của SyncML và vị trớ của giao thức đồng bộ trong toàn bộ khối phần mềm trờn cỏc thiết bị mobile và mỏy chủ mạng. [6]
Lớp ứng dụng:
Ứng dụng nhƣ lịch cụng tỏc (calendar), và ứng dụng logic đồng bộ, thƣờng tỏch rời trong một mỏy đồng bộ (synchronization engine). Tại lớp này, một ứng dụng trờn một mỏy khỏch sẽ giao tiếp với một ứng dụng trờn mỏy chủ. Sự trao đổi thụng tin hoàn toàn xảy ra trải dọc qua nhiều lớp thằng đứng nhƣ trờn hỡnh vẽ. Hai ứng dụng đồng bộ sẽ tập trung vào cỏc ngữ nghĩa ứng dụng, cũng nhƣ những gỡ mà gõy ra cỏc xung đột cập nhật trong quỏ trỡnh ĐBDL.
Lớp dữ liệu:
Cỏc nỳt cựng mức là 2 kho dữ liệu. File đƣợc lƣu trữ trờn bộ nhớ trong của mỏy khỏch (thiết bịcầm tay) cú thể tƣơng ứng với cỏc bản ghi hoặc cỏc dũng trong csdl mỏy chủ. Lớp dữ liệu xỏc định loại dữ liệu đƣợc đồng bộ. Định dạng của dữ liệu đồng bộ cú thể khỏc so với định dạng dữ liệu ban đầu đƣợc lƣu trữ trong 2 kho dữ liệu tại lớp này. Hầu hết cỏc trƣờng hợp dữ liệu khởi tạo sẽ đƣợc chuyển theo định dạng chuẩn OMA-SyncML trong suốt quỏ trỡnh đồng bộ.
Lớp đồng bộ:
Đúng vai trũ chớnh trong đặc tả của OMA-SyncML. Lớp này liờn quan tới việc truyền những thay đổi của dữ liệu. Giao thức đồng bộ xỏc định luồng trao đổi giữa 1 mỏy khỏch và 1 mỏy chủ trong suốt quỏ trỡnh đồng bộ. Đặc tả giao thức DTD OMA-SyncML chủ yếu xỏc định chớnh xỏc mẫu của mỗi giao tiếp. Để làm đƣợc điều này, lớp đồng bộ cũng bao gồm cỏc thuộc tớnh đặc tả dữ liệu, nhƣ định danh của kho dữ liệu và định danh của cỏc phần tử dữ liệu.
Lớp giao vận:
Bao gồm cỏc giao thức truyền tin lớp mạng. Lớp này kết nối với cỏc thụng điệp trao đổi.
Lớp vật lý:
Bao gồm thiết bị kết nối trung gian nối từ vựng mạng rộng lớn tới cỏc vựng mạng cục bộ, cỏc mạng nhỏ (cellular), hoặc thậm chớ cỏc mạng Bluetooth. Giao thức trờn lớp giao vận cú thể tƣơng tỏc qua nhiều mạng vật lý. Vớ dụ, HTTP cú thể làm việc trờn cỏc mạng cú dõy, khụng dõy, trong khi OBEX cú thể làm việc trờn cỏc kết nối Bluetooth hoặc hồng ngoại.
b/. Kho dữ liệu đồng bộ
í nghĩa đồng bộ 2 kho dữ liệu là gỡ? Một cõu trả lời cú thể là: sau khi xử lý đồng bộ, 2 kho dữ liệu là giống hệt nhau. Tuy nhiờn, điều này dẫn đến một định nghĩa khụng đầy đủ. Vớ dụ, một thiết bị điện thoại cầm tay chỉ cú thể lƣu trữ một tập hạn chế cỏc trƣờng dữ liệu của một phần tử dữ liệu, trong khi phần tử dữ liệu tƣơng ứng trờn mỏy chủ cú thể lƣu trữ tất cả cỏc trƣờng. Ngoài ra, thiết bị điện thoại cầm tay cú thể định danh cỏc phõn tử dữ liệu khỏc với mỏy chủ.
OMA-SyncML phụ thuộc vào tớn hiệu “tƣơng đƣơng” giữa cỏc phần tử dữ liệu trong 2 kho dữ liệu đang đƣợc đồng bộ. Kho dữ liệu A đƣợc đồng bộ với kho dữ liệu B nếu và chỉ nếu tất cả phần tử dữ liệu trong kho A cú trong kho B. [6]
OMA-SyncML khụng định nghĩa chớnh xỏc sự “bằng nhau” mà chỉ mang tớnh xấp xỉ nào đú. Nếu một kho dữ liệu A đƣợc đồng bộ với kho dữ liệu B, thỡ nú khụng đồng nghĩa với việc kho dữ liệu B đƣợc đồng bộ với kho dữ liệu A.
c/. Ngụn ngữ đồng bộ và kiểu nội dung MIME
OMA-SyncML chủ yếu mụ tả cỏc tỏc vụ trờn dữ liệu và truyền cỏc tỏc vụ đú theo một cấu trỳc xỏc định. Cỏc tỏc vụ tập trung trờn cỏc phần tử dữ liệu nhất định, và bản thõn cỏc phần tử dữ liệu phải đƣợc biểu diễn và truyền đi theo một định dạng cú cấu trỳc và nhất quỏn. OMA-SyncML định nghĩa nhiều tỏc vụ nhƣ: thờm, thay thế, và xúa dữ liệu trong kho dữ liệu. Cỏc thao tỏc đú đƣợc thực hiện trờn dữ liệu của ứng dụng lịch làm việc, ứng dụng sổ địa chỉ, dữ liệu quan hệ, tài liệu XML, và nhiều loại khỏc. OMA-SyncML sử dụng cỳ phỏp XML để mụ tả cỏc tỏc vụ. Nú sử dụng cỏc kiểu dữ liệu MIME để xỏc định cỏc định dạng dữ liệu.
Cỏc thụng điệp OMA-SyncML đƣợc chỉ định sử dụng cấu trỳc chuẩn XML. Cỏc thụng điệp sử dụng XML để biểu diễn cú thể dài hơn so với biểu diễn dạng binary tƣơng ứng. Điều này dẫn đến lý do tại sao XML (và SyncML) cú thể khụng phự hợp cho cỏc mạng khụng dõy cú băng thụng hạn chế. Trong phần lớn cỏc trƣờng hợp, SyncML sử dụng loại phần tử ngắn và cỏc tờn thuộc tớnh ngắn nhằm rỳt ngắn tài liệu XML. Thờm vào đú, cỏc thụng điệp SyncML cú thể đƣợc mó húa theo cỏc định dạng binary một cỏch hiệu quả nhƣ WBXML.
Rừ ràng, ƣu điểm chớnh của XML là nú đƣợc chấp nhận rộng rói nhƣ một chuẩn quốc tế cho tài liệu đỏnh dấu văn bản. Nú cho phộp lƣu giữ cấu trỳc tài liệu cũng nhƣ nội dung. Điều này đem đến nhiều thuận lợi cho việc đồng bộ dữ liệu, khi khụng chỉ nắm giữ nội dung, mà cũn nắm giữ cả cấu trỳc ngữ nghĩa của dữ liệu cần đồng bộ.
OMA-SyncML sử dụng chuẩn cụng nghiệp MIME cho việc xỏc định cỏc loại nội dung. Cỏc thụng điệp SyncML đƣợc đăng ký kiểu MIME. Cỏc thụng điệp văn bản SyncML đƣợc đăng ký với kiểu ”application/vnd.syncml+xml”, trong khi cỏc thụng điệp đƣợc mó húa nhị phõn là “application/vnd.syncml+wbxml”. [6]