Hình 2.4. Mô hình triển khai hệ thống
Hệ thống từ điển đa ngữ viết trên nền .Net và hệ quản trị cơ sở dữ liệu. Việc xử lý dữ liệu ở máy khách được đặt vào Javascript để giảm tải công việc cho máy chủ. Dữ liệu truyển từ máy khách đến máy chủ theo phương thức GET hoặc POST. Dữ liệu được máy chủ xử lý và kết quả trả về cho máy khách sau đó. Kỹ thuật truyền dữ liệu
24
theo cấu trúc XML. Mô hình được mô tả theo sơ đồ sau:
Trong mô hình trên, máy khách là nơi nhận các thông tin dữ liệu của người dùng. Việc xử lý và gửi dữ liệu từ máy khách lên máy chủ do Javascript đảm nhận. Nhiệm vụ đầu tiền của Javascript là kiểm tra dữ liệu nhập vào từ máy khách. Dữ liệu được truyền tới máy khách bằng cách gửi các HTTP Request. Các HTTP Request này được khởi tạo từ đối tượng XMLHttpRequest. Đối tượng XMLHttpRequest tạo ra trong Javascript, gửi dữ liệu lên máy chủ và nhận dữ liệu về một trong hai dạng: Cấu trúc XML hoặc cấu Text bình thường. Dữ liệu truyền được máy chủ xử lý, truy vấn vào cơ sở dữ liệu và lấy kết quả trả về. Máy chủ sẽ tạo ra một cấu trúc file XML hoặc cấu trúc Text từ kết quả đó và gửi về máy khách. Javascript đọc cấu trúc XML hoặc cấu trúc Text đó và hiện thị ra trên máy khách cho người sử dụng.
Trong hệ thống từ điển đa ngữ, chỉ có chức năng tra cứu mới tạo ra cấu trúc XML và được máy khách nhận về thông qua phương thức responseXML. Còn trong hai chức năng kia sử dụng phương thức resposeText của XMLHttp.
Cấu trúc XML trên, các yếu tố liên quan đển một Pattern trong cơ sở dữ liệu đều được lấy ra. Thẻ Pattern là thể gốc. Thẻ Pattern chứa thẻ NumSense mang giá trị số các nghĩa của Pattern đó theo ngôn ngữ nguồn. Giá trị của thẻ NumbeSense sẽ qui định số lượng thẻ Sense trong thẻ Pattern. Mỗi thẻ Sense chứa mã SenseId trong cơ sở dữ liệu, cấu trúc giải thích trong ngôn ngữ nguồn và ngôn ngữ đích. Các thông tin trong ngôn ngữ nguồn chứa trong thẻ Source. Các thông tin trong ngôn ngữ đích chứa trong thẻ Target. Cấu trúc thẻ Source không khác cấu trúc thẻ Target, do đó ta chỉ trình bày cấu trúc thẻ Source. Trong thẻ Source có thẻ Language chứa tên ngôn ngữ nguồn. Thẻ Have qui định thẻ Content có giá trị hay thẻ rỗng. Nếu thẻ Have mang giá trị là 0 thì thẻ Content này rỗng, và ngược lại khi thẻ Have mang giá trị là 1. Các thẻ Content, Example, Pos và Synonym mang các giá trị trường giải thích, các ví dụ, từ loại Pattern và danh sách các từ đồng nghĩa. Các thẻ này có thể rỗng hoặc không. Thẻ NumberRelation là số quan hệ về ngữ nghĩa của Pattern chứa các Pattern tương ứng. Tương tự như thẻ NumberSense, thẻ NumberRelation sẽ qui định số lượng thẻ Relation nằm trong thẻ ListRelation. Nếu trường NumberSense mang giá trị bằng 0 thì thẻ ListRelation là thẻ rỗng và không có một thẻ Relation nào cả. Ngược lại khi thẻ này có giá trị khác 0, số lượng thẻ Relation bằng giá trị đó. Trong mỗi thẻ Relation, chứa hai thẻ Name và List. Thẻ Name chứa tên của mối quan hệ. Thẻ List chứa danh sách các Pattern có quan hệ đó với Pattern đó.