MỞ ĐẦU Sự phát triển rất nhanh của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế - xã hội trong nhiều năm qua cũng đồng nghĩa với lƣợng dữ liệu đã đƣợc các cơ quan, cá nhân thu thập và lƣu trữ ngày càng nhiều. Trong khi khối lƣợng dữ liệu ngày càng phát triển và phân tán nhiều nơi thì mỗi hệ thống chỉ cần một số thông tin nhất định phù hợp với yêu cầu riêng của hệ thống đó và trong nhiều trƣờng hợp để xây dựng một hệ thống cần đến thông tin từ nhiều nguồn khác nhau. Nhu cầu tích hợp thông tin từ nhiều nguồn phân tán, không đồng nhất ngày càng trở nên cấp thiết. Để xây dựng một hệ thống tích hợp thông tin, hai vấn đề cần thiết đƣợc đặt ra: Tìm kiếm/xác định các nguồn tin phù hợp cho thông tin cần sử dụng.
Truy nhập và tổng hợp thông tin từ các nguồn xác định. Tìm kiếm các nguồn thông tin thƣờng đƣợc giải quyết thông qua các kỹ thuật thu thập và lọc thông tin. Khi các nguồn tin đã đƣợc xác định thì các kỹ thuật truy nhập và tổng hợp thông tin từ các nguồn này lại đƣợc quan tâm. Trở ngại lớn nhất cho vấn đề tích hợp thông tin là sự không đồng nhất của các nguồn tin, dẫn đến sự không đồng nhất về cách thức truy nhập cũng nhƣ nội dung thông tin.
Thông thƣờng, cách thức truy nhập có thể vƣợt qua bởi những chuẩn công nghệ, chẳng hạn nhƣ ODBC cho các cơ sở dữ liệu quan hệ, hay gần đây là các giao thức dịch vụ mạng. Vấn đề đáng quan tâm là sự không đồng nhất về nội dung thông tin. Sự không đồng nhất này đƣợc biết đến với hai dạng cơ bản: không đồng nhất về lƣợc đồ, không đồng nhất về ngữ nghĩa. Không đồng nhất về lƣợc đồ liên quan tới việc lƣu trữ thông tin trong các khuôn dạng khác biệt - chẳng hạn dƣới dạng các bảng theo mô hình quan hệ hay dƣới dạng phân cấp theo mô hình XML.
Sự không đồng nhất ngữ nghĩa lại xem xét về khía cạnh ý nghĩa nội dung của dữ liệu. Cùng với sự phát triển của các kỹ thuật tìm kiếm và tích hợp thông tin, vai trò và lợi ích của cách tiếp cận hƣớng agent đã đƣợc nghiên cứu từ rất sớm. Từ những năm 90, các tổ chức và trƣờng đại học nghiên cứu về agent đã phát triển rất mạnh mẽ. Một ví dụ điển hình: Viện nghiên cứu MIT đã phát triển một loạt các dự án liên quan đến công nghệ agent đƣợc triển khai rất thành công trên thực tế nhƣ: Smart Mobility, Car in the City, Goal-Oriented Web Search User Interfaces,.
hay FIPA - một tổ chức nghiên cứu về agent nổi tiếng với các nỗ lực chuẩn hóa agent, cũng đƣa ra một số kết quả nghiên cứu về ngôn ngữ truyền thông agent nhƣ: ACL, KQML,. Từ khi xuất hiện các ngôn ngữ lập trình hƣớng agent và công nghệ phát triển phần mềm hƣớng agent ra đời, hàng loạt các nghiên cứu và thử nghiệm về sử dụng công nghệ agent đã đƣợc công bố, đã phản ánh những mức độ nghiên cứu về phƣơng pháp luận, công cụ và triển khai z 2 ứng dụng khác nhau của các cách tiếp cận hƣớng agent và có thể tóm tắt qua các nội dung sau: Các định nghĩa cơ bản về agent, lý thuyết và thực hành; Các phƣơng pháp đặc tả và mô hình hóa agent; Các phƣơng pháp phát triển phần mềm hƣớng agent [24, 25]; Công nghệ Web ngữ nghĩa và ứng dụng trong tìm kiếm và tích hợp thông tin [26, 27]. Ontology và công cụ khai thác Web ngữ nghĩa [3, 15, 16]; Các hệ thống tìm kiếm và tích hợp thông tin sử dụng agent phần mềm trong thực tế. Qua đây, ta có thể thấy việc sử dụng công nghệ agent cho các hệ thống lớn, phức tạp và phân tán là một hƣớng đi mới, đóng góp vai trò quan trọng trong tiến trình kỹ nghệ phần mềm và đang đƣợc triển khai nghiên cứu và ứng dụng rộng rãi trên thế giới.
Hiện nay hầu hết các dữ liệu lƣu trữ trong các máy tính không nhất thiết đƣợc quản lý bởi các hệ quản trị cơ sở dữ liệu, nó có thể đƣợc lƣu dƣới dạng có cấu trúc, ví dụ nhƣ: HTML hoặc SGML, các định dạng dữ liệu không tuân theo một mẫu chuẩn,. Cấu trúc của dữ liệu không đƣợc định trƣớc, và thậm chí ngay cả khi đã đƣợc định trƣớc thì nó cũng có thể bị thay đổi liên tục mà không có dấu hiệu để báo trƣớc cho việc thay đổi đó. Những dữ liệu nhƣ vậy đƣợc gọi là dữ liệu bán cấu trúc (semi- structure). Thông thƣờng để biểu diễn dữ liệu bán cấu trúc, trƣớc đây ngƣời ta thƣờng sử dụng mô hình chuyển đổi OEM (Object Exchange Model) mô hình này cũng đã đƣợc đƣa ra trong một số dự án tích hợp dữ liệu bán cấu trúc và có cấu.
Tuy nhiên, có một cách thức khác để có thể biểu diễn cả dữ liệu có cấu trúc cũng nhƣ bán cấu trúc, đó là ngôn ngữ XML (ngôn ngữ đánh dấu mở rộng - eXtensible Markup Language). Thực chất, tổ chức W3C phát triển và chuẩn hóa XML cho mục đích biểu diễn dữ liệu và trao đổi dữ liệu trên Web, nhƣng vì ngôn ngữ này có một số tính năng rất ƣu việt trong việc biểu diễn dữ liệu nên nó đƣợc sử dụng rất rộng rãi và đƣợc coi nhƣ một công cụ để biểu diễn dữ liệu bán cấu trúc. XML hỗ trợ việc trao đổi dữ liệu điện tử mà máy tính có thể hiểu đƣợc. Bên cạnh đó XML biểu diễn dữ liệu mà không tuân theo khuôn dạng định trƣớc.
Cú pháp của XML cho phép lƣu dữ liệu theo mô hình bất kỳ nên việc chuyển đổi biểu diễn dữ liệu của các nguồn lƣu trữ truyền thống và XML có thể thực hiện dễ dàng. XML thƣờng đƣợc lựa chọn nhƣ là một ngôn ngữ trung gian biểu diễn cho dữ liệu trong quá trình tích hợp thông tin. z 3 Để có cái nhìn tổng quan về vấn đề này, nắm đƣợc tầm quan trọng của nó, lựa chọn đƣợc hƣớng tiếp cận phù hợp với quá trình phát triển các hệ thống phần mềm phức tạp và phân tán, có đƣợc những cơ sở về phƣơng pháp luận cũng nhƣ kinh nghiệm phục vụ cho việc triển khai ứng dụng, tôi đã chọn đề tài: “Tìm kiếm và tích hợp thông tin sử dụng Agent phần mềm”. Trong luận văn này, tôi tập trung nghiên cứu công nghệ agent (tạm dịch là tác tử - là thuật ngữ đã đƣợc nhiều nhà nghiên cứu sử dụng, trong luận văn tôi sẽ sử dụng thuật ngữ này khi đề cập đến agent), đi sâu tìm hiểu các phƣơng pháp tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm.
Hƣớng nghiên cứu tập trung vào hệ tìm kiếm và tích hợp các dữ liệu ở định dạng XML của các nguồn thông tin phân tán không đồng nhất sử dụng tác tử phần mềm. Thông tin trong một tổ chức nói chung thƣờng có nhiều kiểu khác nhau, từ có cấu trúc, bán cấu trúc và không có cấu trúc, bên cạnh đó, các nguồn thông tin thƣờng ở các host vật lý khác nhau, các hệ điều hành khác nhau hoặc các hệ quản trị khác nhau. Ta gọi các nguồn thông tin khác nhau nhƣ vậy là các nguồn thông tin không đồng nhất. Các nguồn thông tin có cấu trúc thƣờng đƣợc xây dựng từ các lƣợc đồ đƣợc định nghĩa trƣớc; các nguồn thông tin bán cấu trúc hầu hết đƣợc xây dựng từ các cấu hình tƣơng tự nhƣng không đƣợc định nghĩa trƣớc về mặt lƣợc đồ; các nguồn thông tin không có cấu trúc đƣợc xây dựng mà không có sự hạn chế nào.
Sự khác nhau vốn có trong các định nghĩa dữ liệu ở từng host đặt ra một thách thức lớn cho cố gắng tích hợp trong tiến trình phân tán ở mỗi site. Hai vấn đề xuất hiện từ sự không đồng nhất là: không đồng nhất lƣợc đồ và không đồng nhất ngữ nghĩa. Các kết quả không đồng nhất lƣợc đồ xuất phát từ các lƣợc đồ cục bộ khác nhau. Không đồng nhất ngữ nghĩa xảy ra khi có một sự khác nhau về ý nghĩa, sự biên dịch hoặc dự định sử dụng cùng tên hoặc dữ liệu có liên quan.
Bài toán nghiên cứu trong luận văn tiếp cận một kiến trúc với khung hợp nhất cho việc truy cập các nguồn thông tin không đồng nhất trong môi trƣờng Web thông qua mô hình sử dụng tác tử phần mềm. Nghiên cứu sẽ tập trung vào tìm kiếm và tích hợp dữ liệu từ các nguồn phân tán và giải quyết sự không đồng nhất của dữ liệu bằng môi trƣờng dữ liệu XML hợp nhất. Sử dụng DARPA Agent Markup Language + Ontology Interface Layer (DAML+OIL) [26, 27] cho khung mô tả tài nguyên trong phần giao diện của ngƣời sử dụng. Sử dụng tác tử trung tâm (Mediator Agent) - là một tác tử tĩnh để tạo các tác tử tìm kiếm Search Agent - là các tác tử di động (Mobile Agent), nó tƣơng tác với tác tử tại đích đến LocalDB Agent - tác tử Wrapper, lấy dữ liệu cơ sở dữ liệu phân tán thông qua giao diện JDBC và lấy kết quả trả về theo định dạng XML.
Để đạt đƣợc các mục tiêu đã liệt kê ở trên, phần còn lại của luận văn đƣợc tổ chức nhƣ sau: z 4 Chƣơng 1: Trình bày các kiến thức tổng quan về tác tử, các đặc trƣng của tác tử và hệ đa tác tử, các phƣơng pháp luận xây dựng hệ đa tác tử, khái niệm và ontology và công cụ khai thác ontology, web ngữ nghĩa (Semantic Web) và các khung mô tả tài nguyên. Chƣơng 2: Nền tảng JADE (Java Agent DEvelopment Framework) [7, 28], tìm hiểu và ứng dụng nền tảng JADE phục vụ cho việc cài đặt và thực thi hệ thống. Chƣơng 3: Phƣơng pháp tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm: Trình bày khái niệm tìm kiếm và tích hợp thông tin, nhu cầu tích hợp thông tin và các phƣơng pháp tích hợp thông tin và bài toán tích hợp thông tin trong hệ đa tác tử. Chƣơng 4: Tìm kiếm và tích hợp thông tin bán cấu trúc sử dụng tác tử phần mềm: Bài toán nghiên cứu và thực nghiệm - Bài toán tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm: Trình bày về tìm kiếm và tích hợp thông tin áp dụng các phƣơng pháp và công nghệ tác tử; phần cuối chƣơng này trình bày cách cài đặt, cấu hình và thực thi ứng dụng thử nghiệm cho bài toán đặt ra.
Hệ thống tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm đƣợc xây dựng bằng công cụ JADE.