kLuận văn : Tổng quan kiến trúc hệ thống và mô hinh ứng dụng dịch vụ (web services) trên thé giới
Trang 1CHUYÊN Đề : TổNG QUAN KIếN TRúC Hệ THốNG
Và MÔ HìNH ứNG DụNG DịCH Vụ WEB (WEB SERVICES)
định nghĩa một số từ ngữ cà phần từ Ngày nay, có nhiều hoạt động để thiết lậpcác tiêu chuẩn họ XML ( các ngôn ngữ ), ví dụ, sơ đồ XML ( định nghĩa cú pháp
và cấu trúc tài liệu XML ), XSL ( ngôn ngữ bảng tính kiểu XML), XSTL ( biến
cố của XSL )v.v Phần cuối của chơng này là giới thiệu sơ lợc cú pháp XML
XML có thể xem là bổ túc cho những ứng dụng mới nh các liên hệ với địa
điểm thị trờng , chuyển vận các danh bạ điện tử, dùng các khả năng đa môi trờngtrong các thông điệp,v.v.XML đặc biệt thích hợp cho một lớp ngời dùng, đối với
họ EDI truyền thống là một công nghệ nặng nề để triển khai, lớp ngời này chính
là lớp đa số các doanh nghiệp vừa và nhỏ
Các giải pháp trao đổi dữ liệu điện tử ( EDIFACT, EANCOM, ANSI X12,CII, XML, ) đều dựa trên ba cơ sở :
- Một số tối thiểu các qui tắc sử dụng và cú pháp chung
- Một từ vựng duy nhất
- Các phơng tiện kỹ thuật tơng thích để trao đổi với nhau
Một số quy tắc sử dụng đã đợc nêu ở các phần trên Phần này nhằm mục
đích cung cấp cho ngời đọc một số khái niệm mở đầu về cú pháp XML Từ vựng
và các điều kiện kỹ thuật là những phơng tiện để triển khai
1.2 Đặc điểm của XML
- XML là tự do và mở rộng đợc Trong XML các thẻ không đợc
định nghĩa trớc mà do ngời dùng tự phát sinh ra thẻ
- XML rất quan trọng đối với sự phát triển của web reong tơng lai
- Tầm quan trọng của XML đối với tơng lai web cũng giống nhtầm quan trọng của HTML đối với nền tảng của web, và XML sẽ
là công cụ xử lý và truyền dữ liệu phổ biến nhất
Trang 2- XML là công cụ dùng đợc trên mọi nền phần cứng, độc lập vớiphần cứng và phần mềm để truyền ( trao đổi, chia sẻ ) thông tin
1.3 XML đợc sử dụng nh thế nào
- XML đợc thiết kế để lu giữ, mang và trao đổi dữ liệu nhngkhông hiển thị dữ liệu
- XML dùng cho trao đổi dữ liệu
- Với XML có thể trao đổi dữ liệu giữa các hệ thống không tơngthích
- Trong thế giới thực, các hệ thống và cơ sở dữ liệu máy tính chứadữ liệu ở các dạng không tơng thích.Một trong những thách
1.4 XML đợc sử dụng trong lĩnh vực B2B
Với XML, có thể trao đồi thông tin tài chính qua Internet Ta sẽ thấy ngàycàng nhiều hệ XML và B2B ( Business To Business doanh nghiệp tới doanhnghiệp) trong tơng lai gần XML sẽ là ngôn ngữ chính để trao đổi thông tin tàichính giữa các doanh nghiệp qua Internet Nhiều ứng dụng B2B thú vị đang đợcphát triển
1.5 XML có thể đợc sử dụng để chia sẻ dữ liệu
Với XML, các tệp văn bản thuần tuý có thể dùng để chia sẻ dữ liệu Vì dữliệu XML đợc lu dới dạng văn bản thuần tuý, nên XML cung cấp một phơngpháp không phụ thuộc phần cứng và phần mêm để chia sẻ dữ liệu Nó cho phéptạo nên một cách dễ dàng hơn, dữ liệu mà nhiều ứng dụng khác nhau có thể làmviệc đợc Nó cũng dễ dàng mở rộng hay nâng cấp một hệ thống lên hệ điều hànhmới, và trình duyệt mới
XML có thể dùng để lu trữ dữ liệu Với XML, các tệp văn bản thuần tuý cóthể dùng để lu trữ dữ liệu XML có thể dùng để lu trữ dữ liệu trong tệp tin haytrong các cơ sở dữ liệu Các ứng dụng có thể cất giữ hay lấy dữ liệu ở nơi lu trữ,
và các ứng dụng bình thờng có thể dùng để hiển thị
1.6 XML mô tả dữ liệu cụ thể hơn
Với XML, dữ liệu dùng đợc với nhiều ngời hơn Vì XML độc lập đối vớiphần cứng, phần mềm và ứng dụng, ta có thể khiến dữ liệu của mình dùng đợckhông chỉ đối với trình duyệt HTML tiêu chuẩn
Các khách hàng và ứng dụng có thể truy cập tệp XML nh là nguồn dữ liệu,giống nh khi truy cập có sở dữ liệu Dữ liệu có thể đọc đợc bởi mọi loại “ máymoc” (tác nhân), và ngời mù, ngời tàn tật có thể dễ dàng đọc đợc dữ liệu
XML có thể dùng để tạo ra các ngôn ngữ mới: XML là mẹ đẻ của WAP vàWML Ngôn ngữ Đánh dấu không dây (Wireless Markup Language WML), sử
Trang 3dụng cho các ứng dụng Internet đánh dấu cho các thiết bị cầm tay nh điện thoại
di động, đợc viết bằng XML Nếu ngời phát triển có ý thức, thì tất cả các ứngdụng tơng lai sẽ trao đổi dữ liệu XML
Tơng lai có thể sẽ có các trình xử lý V#n b#n, bảng tính và cơ sở dữ liệu cóthể đọc đợc dữ liệu của nhau ở dạng văn bản thuần tuý, không cần bất kỳ tiện íchchuyển đổi nào
<to> Tom </ to>
< from> Jim </from> <heading> Reminder </heading?
<body> Please call me this weekend ! </body>
</message>
<?xml: Khai báo XML: Khai báo một tài liệu XML
Encoding = ISO “ – 8859-1.?> 8859 – 8859-1.?> ” 1 định nghĩa bảng mã hoá ký tự dùng trong tài liệu < message> mô tả phần tử gốc của tài liệu
Các dòng tiếp theo mô tả các phần tử con của phần tử thông điệp“ ”
</ message> định nghĩa kết thúc của phần tử gốc
Phần tử: định dạng chung <thẻ> nội dung </thẻ>
1.8 Cấu trúc tài liệu XML
Có 2 dạng XML: XML hợp khuôn dạng và XML hợp lệ
a) XML hợp khuôn dạng (well – 8859-1.?> formed document)
Để hợp khuôn dạng, một tài liệu XML cần phải tuân theo quy tắc cú phápthiết lập cho XML bởi tổ chức quốc tế W3C
- Khai báo XML
- DTD
Trang 4Các phần tài liệu của XML đợc gọi là các thực thể Một thực thể XML cóthể là dữ liệu văn bản dữ liệu nhị nhân nhng không đợc cả hai Một thực thể cóthể tham chiếu đến một thực thể khác và có thể dùng để phân tích hoặc làm dữliệu thông thờng không dùng cho mục đích phân tích.
1.8.2 Quy tắc cú pháp ngôn ngữ XML
Các khai báo XML cần đợc đặt ở dòng đầu tiên của tài liệu
Mọi phần tử XML đều phải có thẻ đóng :/>
Tất cả các tài liệu XML phải có thẻ gốc trong đó thẻ đầu tiên trong một tàiliệu XML là thẻ gốc
Mọi tài liệu XML phải có một cặp thẻ đơn để định nghĩa phần tử gốc Cácphần tử khác đợc lồng vào trong thẻ gốc Tất cả các phần tử có thể có phần tửcon, các phần tử con phải đợc lồng đúng phần tử cha
Các thẻ XML phân biệt hoa thờng
Các giá trị thuộc tính phải luôn luôn đặt trong ngoặc kép
Chú thích trong XML: Cú pháp chú thích trong XML tơng tự nh trong HTML
<!- This is a moment
Với XML, khoảng trắng đợc giữ lại
Với XML, cặp CR/LF chuyển thành LF Với XML, một dòng luôn đợc lu trữ
nh một ký tự LF
Trong các ứng dụng Windows, một dòng văn bản mới thờng đợc lu trữ nh làmột cặp ký tự CR/LF (carriage return/Line feed) Trong các ứng dụng Unix, mộtdòng mới thờng đợc lu trữ nh một ký tự LF Các ứng dụng Macintosh chỉ dùngmột ký tự CR để lu trữ một dòng mới
Trang 51.9 Định nghĩa kiểu tài liệu (Document Type define- DTD)
Một tài liệu XML đợc xem là hợp lệ và có giá trị khi toàn bộ các phần tửtrong tài liệu đợc định nghĩa kiểu mà nó sẽ chứa Việc định nghĩa kiểu cho cácphần tử thẻ gọi là định nghĩa kiểu tài liệu
Với DTD, mỗi tệp XML tự mang miêu tả về định dạng của chính nó
Với DTD, các nhóm ngời khác nhau có thể đồng ý sử dụng một DTD chung
< ! DOCTYPE root-element [element - declarations ]>
Khai báo DOCTYPE bên ngoài
Nếu DTD bên ngoài tệp nguồn XML, có thể gói nó trong một định nghĩaDOCTYPE với cú pháp nh sau:
< ! DOCTYPE root-element SYSTEM “filename”>
Nhìn từ góc độ DTD, mọi tài liệu sl đợc tạo nên từ các khối xây dựng sau
đây:
Phần từ Thẻ: Các thẻ đợc dùng làm phần tử đánh dấu Thẻ bắt đầu
<element_name> đánh dấu điểm bắt đầu của một phần tử, và thể kết thúc
</element_name> đánh dấu kết thúc của phần tử
Ví dụ: <to>Tom</to>, <body>Don’t forget me this weekend!</body>
Thuốc tính: các thuộc tính định nghĩa thuộc tính của các phần tử
Thực thể: các thực thể là các biến dùng để định nghĩa lối tắt cho văn bảnbình thờng
PCDATA: PCDATA nghĩa là kiểu dữ liệu của phần tử là ký tự đã phân tách.CDATA: CDATA nghĩa là kiểu dữ liệu của phàn tử là ký tự
Trang 61 Một dịch vụ wed WS (Wed Service) hay còn đợc gọi là WS là một ứng
dụng lập trình có thể truy nhập đợc một cách logic thông qua việc sử dụng cácgiao thức chuẩn Internet WS tập hợp các khía cạnh tốt nhất của việc phát triểndựa trên các thành phần và Web Nh nhứng thành phần, WS đa ra chức năng hộp
đen có thể đợc sử dụng lại mà không cần phải o lắng về việc dịch vụ đó đợc triểnkhai nh thế nào Không giống nh những công nghệ thành phần hiện hanh, WSkhông truy nhập đợc thông qua các giao thức đặc chủng về mô hinh hớng đối t-ợng, nh DCOM (Distributed Component Object Model), RMI (Remote MethodInvocation) hoặc IIOP (Internet Inter-Orb Protocol) Thay vào đó, WS truy nhập
đợc thông qua các giao thức của Web (HTTP) và các định dạng dữ liệu (XML)Cơ sở cho các dịch vụ WS:
Xuất bản, Tìm kiếm, Sử dụng các dịch vụ: UDDI
2 WS là một “việc lớn” tiếp theo trong phát triển phần mềm WS sẽ thay
đổi hoàn toàn cách tiến hành nghiệp vụ, khác xa so với ảnh hởng mà chúng tathấy với thơng mại điện tử WS sử dụng những gì mà HTML va TCP/IP đã có,cộng thêm vào đó thành phần XML để cho phép các dịch vụ tập trung vào cáctác vụ sao cho chúng làm việc một cách chủ động với nhau thông qua Internet
3 WS là “những th viện” cung cấp dữ liệu và dịch vụ cho các ứng dụngkhác trên Web thông qua một tập hợp nhất quán các giao diện và giao thức
4 WS là một phát kiến mới của ứng dụng Web Chúng là các ứng dụng theomodule có khả năng tự mô tả theo cách có thể đợc phát tán, định vị và loại bỏ
Trang 7thông qua Web WS thực hiện các chức năng có thể là bất cứ thứ gì, từ các ứngdụng khác (và các WS khác) có thể phát hiện ra và gọi tới dịch vụ đã đợc triểnkhai đó.
5 WS là một khái niệm đang đợc sử dụng để xác định một tập hợp các côngnghệ đa ra chức năng của nghiệp vụ trên Web nh một tập hợp các giao diện tự
động Các giao diện tự động này cho phép các nghiệp vụ tìm ra và gắn với cácgiao diện ở chế độ thời gian thực, giúp làm tối thiểu hoá mọi sự chuẩn bị, cầnthiết bằng các công nghệ tích hợp khác
6 SOAP và XML là các công nghệ lõi của kiến trúc WS
7 WS và việc tích hợp ứng dụng mức xí nghiệp EAI (Enterprise ApplicationIntegration) đôi khi bị hiểu nhầm là nh nhau Tuy nhiên, EAI có xu hớng thiên
về đặc trng co một qui trình nghiệp vụ cụ thể, nh việc kết nối một ứng dụng xử lý
đơn hành với một ứng dụng kiểm kê kho hàng chẳng hạn Hơn nũa, EAI đợcthiết kế chủ ý nh một triển khai gắn chặt với các hệ thống kết nối WS thì khônggắn chặt với hệ thống mà chúng dễ dàng đợc gắn vào hoặc loại bỏ, tìm ra để gắnvào hệ thống một cách chủ động
8 Để tổng kết, có thể nói một WS là:
a) Một ứng dụng lập trình, truy nhập đợc nh một thành phần thông qua cácgiao thức chẩn của Web
b) Sử dụng các giao thức chuẩn của Web nh HTTP,XML và SOAP
c) Làm việc xuyên qua các tờng lửa và Proxy
d) Có thể lợi dụng đợc việc xác minh của giao thức HTML
e) Mã hoá tự do với SSL
f) Dễ kết hợp với các giải pháp thông điệp XML hiện có
g) Lợi dụng mô hình thông điệp XML và dễ dàng chuyển đổi từ các giảipháp XML RPC
h) Không xung đột với các giải pháp dựa trên các thành phần thơng amij nhCORBA và COM
i) Kết hợp các khía cạnh tốt nhất của việc phát triển dự tên thành phần vàWeb
j) Sẵn sàng đối với các nền tảng máy trạm khác nhau (không phụ thuộc nềntảng)
9 Có thể nói, một WS là một ứng dụng có thể gọi đợc trên Web thông quaviệc sử dụng các chuẩn nh SOAP trên HTTP
2.2 Nền tảng cơ bản của dịch vụ web
2.2.1 Khái niệm
Trang 81 Dịch vụ WS cũng có thể đợc nói một cách khác là các khối cơ bản đợcxây dựng để di chuyển trong hệ thống máy tính phân tán trên Internet Cácchuẩn mở và việc tập trung vào giao tiếp và làm việc cộng tác giữa con ngời vàcác ứng dụng đã tạo nên một môi trởng nơi mà WS đang trở thành nền tảng choviệc tích hợp ứng dụng Các ứng dụng đợc xây dựng các WS các loại từ nhiềunguồn khác nhau làm việc cùng với nhau bất kể là chúng ở đâu hoặc chúng đã đ-
ợc triển khai nh thế nào
2 Có thể có các định nghĩa khác nhau WS khi các công ty xây dựng chúng,nhng hầu hết tất cả các định nghĩa đều có chung ác điểm sau:
a) WS đa ra chức năng hữu dụng cho ngời sử dụng Web thông qua một giaothức chuẩn Web Trong hầu hết các trờng hợp, giao thức đợc sử dụng đó làSOAP
b) WS đa ra cách mô tả các giao diện của chúng một cách đủ chi tiết nhằmcho phép ngời sử dụng xây dựng một ứng dụng máy trạm để giao tiếp đợc vớichúng Mô tả WS-WSDL (Web Services Description Language)
c) WS đợc đăng ký sao cho các khách hàng tiềm năng là ngời sử dụng cóthể tìm thấy chúng một cách dễ dàng Điều này đợc thực hiện với UDDI(Universal Disscovery Desscription and Integration)
3 Câu hỏi đặt ra là vì sao chúng ta lại phải quan tâm tới WS Một trongnhững u điểm đầu tiên của kiến trúc WS là nó cho phép các chơng trình đợc viếtbằng các ngôn ngữ khác nhau trên các nền tảng khác nhau giao tiếp đợc với nhaudựa trên một nền tảng tiêu chuẩn
4 Ta có thể nhận thấy việc triển khai SOAP ở nhiều công ty phần mềm lớn,nhng ta cũng còn thấy nhiều triển khai đợc xây dựng và duy tric bởi chỉ một nhàlập trình phát triển Ưu điểm đáng kể khác mà WS hơn những thứ trớc đó làchúng làm việc với các giao thức chuẩn Web – 8859-1.?> XML, HTTP và TCP/IP Có một
số lợng đáng kể các công ty đã có kiến trúc Web, và mọi ngời đều hiểu biết và
có kinh nghiệm trong việc duy trì nó và giá để đa WS vào hệ thống nh vậy là nhỏhơn đáng kể so với các công nghệ trớc đây
5 WS nh một dịch vụ phần mềm đợc trình bày trên Web thông qua giaothức SOAP, đợc mô tả bằng một tệp WSDL và đợc dăng ký trong UDDL Cácdịch vụ WS là nguồn thông tin mà ta có thể dễ dàng kết hợp vào các ứng dụng
Dễ dàng nhận ra toàn bộ lớp ứng dụng có thể đợc xây dựng để phân tích và tíchhợp thông tin ta quan tâm và trình bày nó theo nhiều cách khác nhau Ví dụ, ta
có thể để một bảng tính trong MS Excel tổng kết toàn bộ bức tranh tài chính chứng khoán, các tài khoản ngân hàng, các khoản vay nợ… Nếu các thông tin Nếu các thông tin
Trang 9-này sẵn sàng thông qua các dịch vụ WS, Excel có thể cập nhật nó liên tục Mộtvài thông tin trong số này có thể xem tự do và một vài cần phải thông qua việcthuê bao dịch vụ Hầu hết các thông tin này là sẵn có trên Internet, nhng WS sẽlàm cho việc truy cập chúng dễ dàng hơn và đáng tin cậy hơn.
6 Việc trình bày các ứng dụng đang có nh các dịch vụ WS cho phép ngời sửdụng xây dựng các ứng dụng có các tính năng mạnh ôn thông qua việc sử dụng
WS nh những Block đợc xây sẵn Ví dụ, ngời sử dụng có thể phát triển một ứngdụng mua bán để tự động lấy các thông tin về giá cả từ nhiều nhà cung cấp khácnhau, cho phép ngời dùng chọn một nhà cung cấp, chuyển đơn hàng và sau đótheo dõi việc chuyển hàng cho tới khi nhận đợc hàng ứng dụng của các nhàcung cấp, khi trình bày các dịch vụ của họ trên Web, có thể quay ra sử dụng cácdịch vụ WS để tăng kiểm tra tín dụng của khách hàng, lấy tiền từ tài khoản củakhách hàng và thiết lập viẹc chuyển hàng với một công ty vận tải
7 Trong tơng lai, sẽ có những dịch vụ WS hỗ trợ các ứng dụng sử dụngWeb để làm một điều gì đó mà hiện nay ta không thể thực hiện đợc Ví dụ, mộttrong các dịch vụ mà WS có thể thực hiện là dịch vụ đặt lịch Nếu bác sĩ nhakhoa và kỹ thuật viên cơ khí trình bày lịch của họ thông qua dịch vụ WS này, ta
có thể đặt trớc lịch cho các cuộc gặp gỡ với họ một cách trực tuyến hoặc họ cóthể đặt thời gian cho cuộc gặp để chữa răng hay bảo hành thiết bị trực tiếp trênlịch của ta nếu ta muốn hãy tởng tợng, ta có thể hình dung hàng trăm ứng dụng
có thể xây dựng một khi ta có khả năng lập trình trên Web
2.2.2 SOAAP(simple Object Access Protocol)
1 SOAP là giao thức giao tiếp cho các dịch vụ WS Vì SOAP đợc mô tả nhmột giao thức giao tiếp, hầu hết tất cả mọi ngời đều nghĩ về DCOM hoặcCORBA và bắt đầu hỏi những câu hỏi đại loại nh “ làm thế nào để SOAP kíchhoạt đối tợng?” họăc “ dịch vụ đặt tên nào SOAP sử dụng” SOAP là một đặc tả
kỹ thuật xác định định dạng XML cho các thông điệp Nếu ta có một đoạn XML
đợc xây dựng tốt nằm trong một vài thành phần của SOAP thì chính là ta có mộtthộng điệp SOAP
2 Có các thành phần khác của đặc tả SOAP mô tả cách trình bày dữ liệu ợng trình dạng XML và sử dụng SOAP cho thủ tục gọi từ xa Những thành phần
ch-có thể lựa chọn này của đặc tả kỹ thuật đợc sử dụng để triển khai các ứng dụngkiểu RPC nơi mà một thông điệp SOAP chứa một hàm goi và các tham số để tạo
ra các chức năng đợc gửi từ máy trạm và máy chủ trả về một thông điệp với kếtquả hàm đợc chạy Hầu hết các triển khai hiện hành của SOAP hỗ trợ các ứngdụng RPC vì các lập trình viên sử dụng để tạo các ứng dụng COM hoặc CORBA
Trang 10điều khiển RPC SOAP còn hỗ trợ các ứng dụng kiểu văn bản nơi mà các thông
điệp SOAP chỉ là vỏ bọc xung quanh một văn bản XML Các ứng dụng SOAPkiểu văn bản là rất mêm dẻo và nhiều dịc vụ WS tận dụng tính mềm dẻo này đểxây dựng các dịch vụ có thể khó triển khai sử dụng RPC ( Remote procedureCalling Protocol)
3 Phần lựa chọn cuối cùng của đặc tả SOAP xác định một thông điệp HTTPchứa một thông điệp SOAP thì sẽ nh thế nào Phần HTTP là quan trọng vì HTTP
đợc hỗ trợ bởi hầu hết tất cả các hệ điều hành hiện hành Phận HTTP này là mộtlựa chọn nhng hầu hết tất cả các triển khai SOAP đều hỗ trợ nó bởi vì chỉ có nó
là giao thức đợc tiêu chuẩn hoá cho SOAP Vì vậy, có một sự hiểu lầm là SOAP
đòi hỏi phải có HTTP Một vài triển khai hỗ trợ MSMQ, MQ serrierm, SMTPhoặc TCP/IP, nhng hầu hết tất cả các dịch vụ WS hiện hành sử dụng HTTP vì nóthông dụng Vì HTTP là một giao thức cốt lõi của Web, hầu hết các tổ chức cónền tảng mạng hỗ trợ HTTP và mọi ngời hiểu cách quản trị nó Tính an toàn,việc theo dõi và nền tảng cân bằng tải cho HTTP là đã sẵn sàng hiện nay
4 Nguồn gốc chính của sự nhầm lẫn khi bắt đầu với SOAP là sự khác biệtgiữa các đặc tả của SOAP và nhiều triển khai của các đặc tả kỹ thuật SOAP.Nhiều ngời sử dụng SOAP không viết các thông điệp SOAP trực tiếp mà sử dụngmột bộ cộng cụ SOAP để tạo ra và làm trình biên dịch cho các thông điệp SOAP.Những bộ công cụ này thờng dịch các hàm gọi từ một vài dạng ngôn ngữ tớidạng thông điệp SOAP Ví dụ, bộ công cụ MS SOAP 2.0 dịch hàm COM gọi tớiSOAP và bộ công cụ Apache Tooolkit dịch hàm JAVA gọi SOAP Các loại chứcnăng gọi và các dạng dữ liệu của các tham số đợc hỗ trợ khác nhau đối với từngtriển khai SOAP vì thế một hàm làm việc với một bộ công cụ này có thể làm việcvới bộ kia Đây không phải là một hạn chế của SOAP mà là đơn giản là của mộtkhai triển đặc biệt nào đó mà ta đang sử dụng
5 SOAP có thể sử dụng để liên kết các hệ thống tạp nham khác nhau bêntrong và không cần tổ chức của bạn Có rất nhiều cố gắng đợc thực hiện trongquá khứ để có một giao thức giao tiếp chung có thể sử dụng đợc cho việc tíchhợp hệ thống, nhng không có cách nào trong số đó có đợc ứng dụng rộng rãi nhvới SOAP Vì sao vậy? Vì SOAP nhỏ hơn và đơn giản hơn nhiều khi triển khai
so với nhiều giao thức trớc đó DCE (Distributed Computing Envirinment) vàCORBA (Common Object Request Broker Arrchiture) là những ví dụ- có nhiềunăm đợc tiến hành thực hiện, nhng chỉ một vài triển khai là đợc tung ra thànhcông Tuy nhiên, SOAP có thể sử dụng bộ biên dịch XML và các th viện hiệnhành để thay thế hầu hết các công việc nặng nhọc, vì thế một triển khai SOAP có
Trang 11thể hoàn tất trong một tháng Điều này giải thích vì sao có nhiều triển khaiSOAP đang tồn tại.
6 Tính phổ dụng của HTTP và sự đơn giản của SOAP làm cho chúng trởthành nền tảng lý tởng cho việc triển khai dịch vụ WS và chúng có thể đợc gọi từhầu hết mọi môi trờng
2.2.3 Về vấn đề an ninh?
1 Một trong những câu hỏi đầu tiên đối với một ngời mới làm việc vớiSOAP là SOAP làm việc nh thế nào với vấn đề an ninh? Khi mới đợc phát triền,SOAP đợc xem nh là một giao thức dựa trên HTTP ngời ta giả định là an ninhHTTP có thể tơng xứng đối với SOAP Cuối cùng, có hàng ngàn ứng dụng Webchay hôm nay sử dụng an ninh HTTP nên chắc chắn điều này là tơng xứng vớiSOAP Vì láy do này, chuẩn SOAP hiện hành giả thiết vấn đề an ninh là một vấn
đề về truyền tải
2 Khi SOAP đợc mở rộng và trở thành một giao thức đa mục đích chạy bêntrên phần truyền tải thì an ninnh trở nên là một vấn đề lớn hơn Ví dụ, HTTPcung cấp nhiều cách để xác thực xem ngời sử dụng nào đang thức hiện một lờigọi SOAP, nhng làm cách nào để làm cho việc xác thực này có thể truyền tải đợckhi thông điệp đợc định tuyến từ HTTP tới một truyền tải SMTP? SOAP đợcthiết kế nh một giao thức đợc xây dựng dới dạng block, vì thế rất may là có sẵncác đặc tính kỹ thuật khi xây dựng trên SOAP cung cấp các tính năng an ninh bổsung cho các dịch vụ Web
2.2.4 WSDL
1 WSDL là chữ viết tắt của ngôn ngữ mô tả dịch vụ Web- Web ServicesDescription Language Ta có thể nói rằng một tệp WSDL là một văn bản XMLmô tả một tập hợp các thông điệp SOAP và cách mà các thông điệp trao đổi vớinhau Nói cách khác, WSDL đối với SOAP nh là một IDL (Interface DefinitionLanguage) đối với CORBA hoặc COM (Component Object Model) Vì WSDL làXML, nó có thể đọc đợc và sửa chữa đợc nhng trong nhiều trờng hợp, nó đợc tạo
ra và sử dụng bởi phần mềm
2 Để xem giá trị của WSDL, hãy mờng tợng là ta muốn bắt đầu gọi một
ph-ơng thức SOAP đợc cung cấp bởi một trong các đối tác Ta có thể hỏi anh ta vềmột vài thông điệp SOAP đơn giản và viết ứng dụng của ta nhằm tạo ra và sửdụng các thông điệp giống nh các ví dụ, nhng nó có thể còn có lỗi Ví dụ, ta cóthể thấy một mã khách hàng là 2837 và giả thiết đây là một số nguyên khi trongthực tế nó là một chuỗi ký tự WSDL xác định một thông điệp yêu cầu chứa cáigì và thông điệp trả lời sẽ đợc nhìn nh thế nào trong những ký hiệu rất rõ ràng
Trang 123 Những ký hiệu mà một tệp WSDL sử dụng để mô tả các định dạng thôngthông điệp dựa trên chuẩn của mô hình XML có nghĩa là nó có tính trung tínhvới ngôn ngữ lập trình và vừa dựa trên tiêu chuẩn tạo nên tính phù hợp cho việcmô tả các giao diện dich vụ WS truy nhập từ các nền tảng khác nhau và từ cácngôn ngữ lập trình khác nhau Hơn nữa, để mô tả nội dung các thông điệp,WSDL xác định nơi mà dịch vụ sẵn sàng và giao tiếp nào đợc sử dụng để nóichuyện đợc với dịch vụ Điều này có nghĩa là tệp WSDL xác định mọi yêu cầu
để viết một chơng trình làm việc với dịch vụ WS Có vài công cụ sẵn có để đọcmột tệp WSDL và tạo ra các mã theo yêu cầu để giao tiếp với một dịch vụ WS
4 Nhiều bộ công cụ SOAP hiện hành cho phép tạo các tệp WSDL từ giaodiện chơng trình hiện hành, nhng cũng có một số ít công cụ cho phép viết WSDLtrực tiếp Ngày nay, có thể nói WSDL sẽ trở thành cách u điểm trong việc tạo racác giao diện SOAP cho dịch vụ WS
2.2.5 UDDI
1 Tích hợp và mô tả trình bày tổng hợp UDDI (Universal DiscoveryDesscription and Integration) là các trang vàng của dịch vụ WS Giống nh cáctrang vàng truyền thống, ta có thể tìm một công ty chào các dịch vụ ta cần, đọc
về những thứ mà dịch vụ đa ra phục vụ và liên hệ với ai đó để tìm hiểu thêm cácthông tin liên quan Tất nhiên, ta có thể mở một thơng vụ trong tầng hầm của ta
và dựa trên quảng cáo bằng lời truyền miệng nhng nếu ta muốn có đợc một thịtrờng đáng kể, ta cần có UDDI so cho các khách hàng của ta có thể tìm thấy ta
2 Một nội dung th mục UDDI là một tệp XML mô tả một nghiệp vụ và cácdịch vụ nó chào Có 3 phần đối với một nội dung trong th mục UDDI đó “ Trangtrắng” mô tả công ty chào dịch vụ: tên, địa chỉ, các thông tin liên hệ,… Nếu các thông tin “Trangvàng” bao gồm các chủng loại công nghệ dựa trên các nguyên tắc phân loại tiêuchuẩn nh Hệ thống phân loại công nghệ Bắc Mỹ chẳng hạn “ Trang xanh” mô tảgiao diện đối với dịch vụ một cách đủ chi tiết cho ai đó có thể viết một ứng dụng
sử dụng dịch vụ WS này Cách thức mà các dịch vụ đợc xác định là thông quamột văn bản UDDI gọi là kiểu dạng (Type Model) hoặc là Tmodel Trong nhiềutrờng hợp, Tmodel này chứa một tệp WSDL mô tả giao diện SOAP đối với mộtdiịch vụ WS, nhng Tmodel cũng đủ mềm dẻo để mô tả hầu hết mọi dạng dịchvụ
3 Th mục UDDI cũng có một vài cách để tìm kiếm những dịch vụ mà tacần để xây dựng các ứng dụng ta cần Ví dụ, ta có thể tìm các nhà cung cấp củamột dịch vụ tromg một khu vực địa lý cụ thể nào đó sẽ cung cấp của một dạng
đặc biệt nào đó Th mục UDDI sau đó sẽ cung cấp các thông tin, các mối liên hệ,
Trang 13các đờng kết nối và các dữ liệu kỹ thuật để cho phép ta đánh giá những diochjvụnào đó đáp ứng đợc yêu cầu của ta.
4 UDDI cho phép ta tìm kiếm các nghiệp vụ mà từ đó ta có thể có đợc cácdịch vụ WS Ta sẽ không thể biết đợc sẽ tiến hành công việc với ai nếu ta khôngbiết dịch vụ nào sẽ đợc đa ra? Đặc tả kỹ thuật kiểm soát dịch vụ WS cho phép taxem xét một tập hợp các dịch vụ WS đợc đa ra trên một máy chủ đặc biệt để tìm
ra những dịch vụ nào ta có thể cần tới
2.2.6 Những vấn đề còn tồn tại
1 Cho tới giờ ta đã nói về cách nói chuyện với các dịch vụ WS ( SOAP) ,cách mà các dịch vụ WS đợc mô tả (WSDL) và cách tìm kiếm các dịch vụ WS(UDDI) Những thứ này là một tập hợp các đặc tả kỹ thuật cơ bản cung cấp choviệc tích hợp và tập hợp các ứng dụng Từ những đặc tả kỹ thuật cơ bản này, cáccông ty xây dựng nên các giải pháp thực và thu đợc những giá trị thực từ chúng
2 Trong khi rất nhiều công việc đã đợc thực hiện để làm cho các dịch vụ
WS trở nên hiện thực, vẫn còn nhiều thứ cần có thêm Ngày nay, mọi ngời thànhcông với các dịch vụ WS, nhng vẫn còn nhiều thứ còn là thử nghiệm đối với cácnhà lập trình phát triển nh các vấn đề an ninh, quản lý hoạt động, hệ thống thông
điệp đáng tin cây Kiến trúc các dịch vụ WS sẽ giúp cho các dịch vụ WS ở mứctiếp theo thông qua việc cung cấp một mô hình mục tiêu chung, chặt chẽ vhoviệc bổ sung những khả năng cao cấp mới đối với các dịch vụ WS dạng module
và ngày càng đợc mở rộng
3 An ninh WS là một trong những đặc tả kỹ thuật trong kiến trúc dịch vụ
WS toàn cầu Quản lý hoạt động cần có các thông điệp định tuyến giữa nhiềumáy chủ với nhau và việc thiết lập các máy chủ này một cách chủ động cho việc
xử lý cũng là một phần của kiến trúc dịch vụ WS toàn cầu và sẽ đạt đợc thôngqua đặc tả kỹ thuật định tuyến của WS và các đặc tả kỹ thuật tham chiếu của
WS Khi kiến trúc dịch vụ WS toàn cầu phát triển, các đặc tả kỹ thuật đối vớinhững nhu cầu nh vậy và cả những nhu cầu khác nữa sẽ đợc đa ra
3 Nghiên cứu một số mô hình áp dụng dịch vụ Web (WS)
trên thế giới.
3.1 Sử dụng dịch vụ WS để tơng hợp dữ liệu tại tổ chức Nông lơng thế giới FAO (Food and Agriculture Organization)
Trang 143.1.1 Tóm lợc
Trong tài liệu này chúng tôi trình bày kinh nghiệm sử dụng WS để hỗ trợtính tơng hợp các nguồn dữ liệu Tổ chức Nông lơng thế giới của Liên hợp quốc.Chúng tôi mô tả kiến trúc thông tin dạng theo tuyến (bus) dựa trên các WS nhằm
hỗ trợ thông qua việc truy cập đa ngôn ngữ tới các dữ liệu đợc lu trữ trong cácnguồn dữ liệu khác nhau và tạo nên các báo cáo động Kiến trúc này lu giữ đợctính tự quản của các nguồn dữ liệu tham gia và cho phép cải tiến hệ thống bằngcách thêm hoặc bớt các nguồn dữ liệu Hơn nữa, nhờ vào các đặc tính của WS vềviệc dấu đi các chi tiết triển khai của các dịch vụ cho nên có thể đợc sử dụng mộtcách độc lập với nền tảng phần cứng và phần mềm mà trên đó chúng triển khai,kiến trúc đợc đa ra hỗ trợ bài toán về sự khác biệt công nghệ đang đợc sử dụngrất thịnh hành trong tổ chức FAO và làm giảm bớt khó khăn phải chỉ định mộtcông nghệ duy nhất trong toàn bộ tổ chức Chúng tôi thảo luận về những lợi íchcũng nh khiếm khuyết của tiếp cận này và những kinh nghiệm có đợc trong khiphát triển kiến trúc của chúng tôi
3.1.2 Giới thiệu
1 Sự phát triển của các hệ thống mạng máy tính phân tán đã cung cấp nềntảng công nghệ cho việc truy cập dữ liệu và các ứng dụng từ xa Việc phát triểncác hệ thống khác nhau cũng làm gia tăng tiện ích của các hệ thống này, nhngkhông giải quyết đợc vấn đề tơng hợp giữa các ứng dụng khác nhau Các ứngdụng không đợc xây dựng để tích hợp với nhau và do đó chúng thờng xác địnhcác định dạng khác nhau, có những giao tiếp riêng của chúng và đợc phát triểntrên các nền tảng khác nhau
2 Tính tơng hợp của các hệ thống phân tán là một trở ngại Ngày nay điềuquan trọng là cho phép tính tơng hợp của các dạng nguồn thông tin khác nhautrong một công ty hoặc cộng đồng rộng lớn Ngời sử dụng và các ứng dụng cónhu cầu ngày một lớn về truy cập và quản trị dữ liệu từ nhiều nguồn thông tinrộng lớn độc lập, khác nhau một cách vật lý và logic Khó khăn khác liên quantới môi trờng còn là tính không đồng nhất và tính tự quản của các hệ thông cơ sởdữ liệu, cách giải quyết và việc nhận dạng mâu thuẫn, việc trình bày ngữ cảnhcủa dữ liệu, vị trí và nhận dạng của các thông tin phù hợp, việc truy cập và tínhthống nhất của các dữ liệu từ xa, việc xử lý các yêu cầu và sự tiến hành dễ dàngcủa hệ thông
3 Một ví dụ trong các vấn đề nêu trên đợc nhận ra trong tổ chức Nông lơngquốc tế FAO của Liên hiệp quốc FAO là một tổ chức chuyên biệt của Liên hiệpquốc, lãnh đạo những nỗ lực quốc tế chống đói nghèo FAO trợ giúp các quốcgia đang phát triển hiện đại hoá và phát triển nông nghiệp, trồng rừng, đánh cá
Trang 15và đảm bảo dinh dỡng tốt cho tất cả mọi ngời Một trong các chức năng quantrọng nhất của tổ chức này là thu thập, phân tích và đánh giá các thông tin hỗ trợcác chính phủ chống đói nghèo và đạt đợc an ninh lơng thực Để đạt đợc các mụctiêu này FAO đã thiết lập Trung tâm Nông nghiệp thế giới (WAICENT (WorldAgricculturel Information Center) để đánh giá và quản lý các thông tin nôngnghiệp
4 Trong khuôn khổ WAICENT, một số lợng đồ sộ các dữ liệu đợc trình bày
ở các định dạng hoàn toàn khác nhau, trên nhiều ngôn ngữ và đợc quản trị bởinhiều kiến trúc siêu dữ liệu, thờng đợc rạo ra hàng ngày và đợc lu trữ trong cácdạng dữ liệu khác nhau của nhiều nguồn dữ liệu khác nhau Tuy nhiên, không cócác tiêu chuẩn cho việc trình bày các ngôn ngữ, các siêu dữ liệu, và các thông tin
đặc biệt của các quốc gia Mọi ngời cần truy cập và quản lý các dữ liệu đợcphân tán trong nhiều nguồn khác nhau từ cả hai phái bên trong và bên ngoài tổchức Điều quan trọng là chia sẻ dữ liệu giữa các hệ thống nhanh chóng và dễdàng, không cần phải yêu cầu các hệ thống phải đợc “trói lại” chặt chẽ với nhau.Nói một cách đơn giản là các hệ thống đang tồn tại cần phải “nói chuyện” đợcvới nhau Một vấn đề chính nữa liên quan tới thực tế là bên trong tổ chức sử dụng
2 công nghệ khác nhau (Microsoft ASP [5] và Java JSP/sevlet[20]) một cách rấtrộng rãi và vì thế rất khó để theo chỉ một công nghệ nào trong toàn bộ tổ chứcFAO
5 Trong tài liệu này trình bày một cách tiếp cận dựa trên các dịch vụ webWS[17] và công nghệ ngôn ngữ đánh dấu mở rộng XML (eXtenxible MarkupLanguage) để cho phép tính tơng hợp đối với các nguồn dữ liệu khác nhau cótrong tổ chức FAO Đây là một tiếp cận nhẹ nhàng và dựa trên việc sử dụng mộtkênh thông tin cho phép dữ liệu giữa các nguồn thông tin khác nhau đợc triểnkhai bởi việc sử dụng các công nghệ khác nhau có thể trao đổi đợc với nhau.Kênh thông tin hỗ trợ truy cập đa ngôn ngữ tới các dữ liệu đợc lu trữ tới cácnguồn dữ liệu khác nhau, quản lý siêu dữ liệu theo cùng một cách và cho phépsiêu dữ liệu đợc sử dụng nh các mẫu trao đổi FAO Cách tiếp cận này cũng hỗtrợ tạo các báo cáo động Một công cụ mẫu đợc triển khai để trình diễn và đánhgiá tiếp cận này
Trang 16Figure 1 Existing information structure at FAO
Hình 1 Cấu trúc thông tin hiện tại của FAO
3.1.3 Đặt vấn đề
1 Tổ chức FAO có khoảng 200 hệ thống cung cấp thông tin cho việc truycập trên Internet, đợc triển khai trên hai công nghệ khác nhau: Microsoft ASP[5] và JavaB JSP/servlets[20] Các nguồn dữ liệu này cần chia sẻ và trao đổi cácdữ liệu giữa chúng với nhau một cach dễ dàng Tuy nhiên, việc sử dụng hai côngnghệ này rất rộng rãi trong tổ chức và không thể bắt tuân theo một công nghệduy nhất nào Hơn nữa, cần phải tránh việc phải viết lại các ứng dụng hiện có
2 Kiến trúc các thông tin hiện hành đợc chỉ ra trên hình 1 Nó bao gôm cácnguồn thông tin(các hệ thống cơ sở dữ liệu) chứa các dạng dữ liệu khác nhau,bao gồm, nhng không hạn chế, các dạng văn bản khác nhau đợ viết trên 5 ngônngữ chính thức là tiếng Anh, Pháp, Tây Ban Nha, Trung Quốc và ả Rập( và một
ít bằng tiếng Nga), các tài liệu th mục tham chiếu điện tử, các dữ liệu thống kê,các bản đồ và hình ảnh, các thông tin và sự kiện từ nhiều quốc gia khác nhau, vàthông tin web
3 Nhiều ngời khác nhau tạo ra các văn bản tài liệu trong các định dạngkhác nhau, và đợc đa vào trong các cơ sở dữ liệu sử dụng giao diện web Các dữliệu này truy cập đợc từ các cơ sở dữ liệu ở định dạng siêu văn bản HTML, vàcác ứng dụng sẵn sàng trên Internet Ví dụ về các ứng dụng này nh công cụ tìmkiếm thông tin trực tuyến của trung tâm có tên là WAICEENT InformationFinder, một catalog và th mục trực tuyến của các trung tâm có tên là FAOBIB,một th viện lu trữ th điện tử FAO Vitual librrary và một cơ sở dữ liệu thống kêcác lĩnh vực khác nhau FAOSTAT
Trang 174 ngời sử dụng FAO là một nông dân, nhà khoa học, nhà buôn, các nhà lamchính sách của chính phủ và phi chính phủ, cả ở trong tổ chức Những ngời nàycần truy cập và xuất bản thông tin Mặc dù việc thiết lập hiện hành chú trọngmột vài yêu cầu về tích hợp các hệ thống phân tán khác nhau, vẫn cọn nhiều hạnchế liên quan tới các thách thức về tài chính và kỹ thuật, tính cứng nhắc, thiếutiêu chuẩn hoá và khó khăn trong việc nâng cấp, mở rộng hệ thống Quan trọngphải có một công nghệ không đắt giá, dễ dàng triển khai, dễ dàng bảo trì và dựatrên các chuẩn mở, cho phép tác động tới các nguồn đang tồn tại mà không phảiviết lại các ứng dụng.
5 Công nghệ này cần hỗ trơ tính tơng hợp các nguồn dữ liệu sẵn có và quản
lý các phơng án đa ngôn ngữ mà không phải thay đổi kiến trúc của cơ sở dữ liệu.Cùng lúc, cần thiết phải tuỳ biến và bổ sung kiến thức cơ sở dữ liệu cho từngngôn ngữ khác nhau
6 Không có cách tiêu chuẩn nào để quản lý các phơng án ngôn ngữ văn bảnhoặc kiến trúc dữ liêụ Việc này tạo ra sự không ổn định giữa các ứng dụng theocách mà chúng đợc quản lý bằng ngôn ngữ khác nhau Hơn nữa, các cơ sở dữliệu không dễ dàng mở rộng khi các dữ liệu mới hoặc các phơng án ngôn ngữ đ-
ợc bổ sung Những khó khăn khác liên quan tới việc hỗ trợ và trình bày siêu dữliệu và trao đổi siêu dữ liệu theo cách thức tiêu chuẩn cũng nh việc định dạngbản gốc tiêu chuẩn Trong tổ chức FAO một kho văn bản đã đợc phát triển vớimục đích lu trữ phổ biến tất các xuất bản phẩm bằng điện tử Kho này lu trữ cácbiên bản họp, các văn bản siêu dữ liệu và dữ liệu chỉ mục Các giao diện ASPkhác nhau cho phép tìm kiếm kho văn bản theo dạng, ngôn ngữ và đối tợng củavăn bản Tuy nhiên, không có cách tiêu chuẩn nào để quản lý các phơng án ngônngữ của các văn bản hoặc các kiến trúc dữ liệu khác nhau nh các thông tin đặctrng của quốc gia và siêu dữ liệu Từ điển dữ liệu đa ngôn ngữ về nôngnghiệp(AGROVOC) [2] từ FAO đợc áp dụng cho web nh một chiến lợc đảm bảomột vài tính phù hợp với mô tả/phát kiến của các nguồn Tuy nhiên, chúngkhông đạt tới mức một công cụ hoàn chỉnh cho mục đích này theo nghĩa là cầnthêm thuật ngữ đặc trng của đối tợng và nhiều thứ khác mà từ điển đồng nghĩatruyền thống đa ra
3.1.4 Công việc liên quan
1 Thách thức và tơng hợp các hệ thống phân tán, đặc biệt là các hệ thống cơ
sở dữ liệu, đã tồn tại lâu nay và đợc nghiên cứu rất quyết liệt Nhiều tiếp cận đã
đợc đa ra cho phép tích hợp và tơng hợp các hệ thống phân tán và đợc phát triểnmột cách độc lập với nhau Những tiếp cận này đợc đa ra nh một kết quả công
Trang 18việc nghiên cứu cả trong giới hàn lâm lẫn trong giới công nghiệp Chúng ta cóthể chia tiếp cận này thành 2 nhóm chính Trong nhóm đầu một mô hình toàncầu đợc sử dụng nh một lớp khác nhau trên đỉnh các mô hình đang tồn tại và chophép ngời sử dụng các ứng dụng bức tranh về một hệ thống cơ sở dữ liệu tậptrung duy nhất.
2 Ví dụ của tiếp cận này nh hệ thống DATAPLEX [9], DDTS [13],MULTIBASE [29] vàPEGASUS [3] Tuy nhiên, việc xây dựng một mô hình tiàncầu không đơn giản, không đảm báo tính tự chủ của các hệ thống cơ sở dữ liệutham gia và không cho phép việc cải tiến hệ thống một cách dễ dàng về phơngdiện bổ sung hoặc loại bỏ các cơ sở dữ liệu tham gia Để vợt qua trở ngại về xâydựng mô hình tích hợp toàn cầu thì nhóm tiếp cận mô hình kiến trúc, kiến trúc
đa cơ sở dữ liệu mà một vài trong số đó đa ra cách sử dụng những yếu tố trunggian bằng việc ẩn đi hoặc để lộ ra giao diện bên trong của các nguồn dữ liệu, cácdữ liệu đợc định dạng lại và dịch các yêu cầu Ví dụ về các tiếp cận nh vậy baogồm kiến trúc kiểu liên kết [19], kiến trúc mô hình 5 mức [28], kiến trúc đa cơ
sở dữ liệu [22] [23], hệ thống Jupiter [18] và [33]
3 Bên trong các tiếp cận này không sử dụng mô hình toàn cầu mà một vàitrong số đó đa ra việc sử dụng thành phần trung gian và bộ bọc Trong các tiếpcận này nguồn dữ liệu đợc đóng gói lại làm cho nó có thể sử dụng đợc theo mộtcách thuận tiện hơn bằng cách làm ẩn đi hoặc cho lộ ra giao diện bên trong cácnguồn dữ liệu, các dữ liệu định dạng lại và dịch các yêu cầu Ví dụ về các hệthống nh vậy nh DIOM [24], DISCO [31], GARLIC [27] và TSIMMIS [16].Trong bất cứ cách tiếp cận và công nghệ nào nêu trên thì vấn đề liên quan tớicách làm thế nào để định dạng dữ liệu đợc trao đổi và cách chuyển các dữ liệu
đó vẫn là những vấn đề cha giải quyết đợc triệt để Đối với định dạng dữ liệu,hầu hết các công cụ có thể tự động hoá qui trình dịch dữ liệu sang các định dạngkhác Nhiều hệ thống sử dụng các tệp text trên mã ASCII phải có phần mềm tải
đợc xây dựng sẵn một cách tuỳ biến để quản lý các định dạng tệp khác nhau.Những hệ thống khác trao đổi dữ liệu thông qua một định dạng tệp đặc biệt vàkhông có khả năng bao quát đợc nhiều (nh Microsoft Excel chẳng hạn)
4 Mặt khác, việc truyền dữ liệu cũng khó thực hiện Sử dụng giao thứctruyền tệp FTP (File Transfer Protocol) tạo điều kiện cho việc truyền tệp, nhngkhông phải là một tiếp cận hớng đối tợng chặt chẽ để trao đổi các dữ liệu Giaothức trao đổi dữ liệu điện tử EDI (Electronic Data Iinterchange) vẫn còn đợc sửdụng để trao đổi dữ liệu Tuy nhiên, EDI lại cứng nhắc không mềm dẻo, phức tạp
và giá đắt khi triển khai Một vài công nghệ gần đây cho phép một tiếp cận rẻ
Trang 19hơn và có hớng đối tợng hơn dựa trên giao thức gọi thủ tục từ xa RPC (RemoteProcedure Calls) Ví dụ về các tiếp cận này là DCOM [12] và CORBA/IIOP[10].
5 Vấn đề với những công nghệ này là ở chỗ chúng phụ thuộc vào nền tảng,không dễ tích hợp và rủi ro an ninh mạng cao do yêu cầu phải mở các cổng đểchứa các thông điệp Các tiếp cận hiện hành làm giảm nhẹ các vấn đề về chia sẻdữ liệu giữa các nguồn dữ liệu hỗ tạp không đồng nhất Tuy nhiên, việc pháttriển các công nghệ dịch vụ WS [17], SOAP [8] va XML hỗ trợ các vấn đề vềkinh doanh điện tử bằng cách cho phép khả năng trình bày các kiến trúc dữ liệu
và mô tả các kiến trúc này theo một cách dễ dàng để triển khai và quản lý Phầntiếp sau sẽ mô tả một tiếp cận có sử dụng dịch vụ WS
3.1.5 Cách tiếp cận
1 Để khắc phục các vấn đề đợc mô tả ở trên ta đa ra một tiếp cận nhẹ nhàngdựa trên các công nghệ dịch vụ WS và XML Tiếp cận này đã đợc phát hiện theocách mà có thể triển khai trên nhiều nền tảng với công sức bỏ ra và khả năng đổ
vỡ ít nhất đối với các hệ thống đang tồn tại
2 Mục tiêu chính của tiếp cận này là tạo ra môi trờng nơi mà các hệ thôngthông tin mới dựa trên web có thể đợc phát triển nhanh chóng và dễ dàng, sửdụng bất cứ nền tảng công nghệ nào, bằng cách truy cập các thông tin từ mọi hệthống thông tin trong số 200 hệ thống đang tồn tại của FAO và hỗ trợ tính năng
đa ngôn ngữ của các văn bản cụ thể là 5 loại ngôn ngữ chính và tiếng Nga cũng
nh các ngôn ngữ địa phơng Mục tiêu khác là triển khai các máy tạo và phát triểnbáo cáo động của một kho văn bản XML để quản lý siêu dữ liệu (metadata) vàcác phơng án về ngôn ngữ theo một cách chung
3 Phần dới đây mô tả tiếo cận kênh thông tin đợc đa ra để hỗ trợ trao đổi dữliệu và tạo báo cáo động
3.1.5.1 Kênh thông tin
1 Hình 2 mô tả ngắng gọn kiến trúc kênh thông tin đợc đa ra nhằm hỗ trợtính tơng hợp các nguồn thông tin khác nhau Tiếp cận này bao gồm việc bao cácdữ liệu khác nhau cùng các giao diện của dịch vụ WS trong đó các đầu vào và
đầu ra của thông tin đợc đi qua nh các kiến trúc XML Khái niện kênh thông tin
là tất cả các dữ liệu đợc qua nó đợc trình bày bằng các định dạng XML chuẩn.Các định dạng này có thể bị áp đặt theo qui định bằng việc xuất bản mô hìnhXML đang đợc sử dụng bởi các hệ thống đang có, cú pháp XML hệt nh vậy đợc
sử dụng cho các tham số đầu vào và đầu ra trong các dịch vụ WS Ví dụ, tất cảdữ liệu liên quan tới quốc gia, ngôn ngữ và tiền tệ đợc trình bày trong một định
Trang 20dạng XML duy nhất sử dụng (a) mã quốc gia ISO 3166 (3 kí tự chữ cái), (b) mãngôn ngữ ISO 639-1 (2 kí tự chữ cái) và tiền tệ ISO 4217 một cách tơng ứng.
2 Với dịch vụ WS mới, không cần thiết phải xây dựng lại các hệ thống hiện
có thành các chuẩn XML mới Tuy nhiên, cần thiết phải tăng cờng các chuẩnXML trong các giao diện dịch vụ XML Ví dụ, các tham số đối với chức năngliên quan tới các mã ngôn ngữ luôn sử dụng mã 2 ký tự chữ cái ISO 639-1 Cácdịch vụ WS đã đợc phát triển cho các hệ thống chứa các thông tin về thống kê,văn bản, bản đồ, thông tin và sự kiện Các hệ thống đó là:
a) Nội bộ của FAO, đối với nó đội phát triển đã truy cập tới mã nguồn củacác ứng dụng
b) Nội bộ của FAO, nhng đội phát triển không truy cập tới mã nguồn củacác ứng dụng
c) Bên ngoài tổ thức FAO
3 Quản lý thông tin, bao gồm cả quản lý các phơng án đa ngôn ngữ cũngdựa trên XML Chúng ta có thể chuyển các thông tin có cấu trúc ra khỏi các tr-ờng của cơ sở dữ liệu và trình bày chúng dới dạng các văn bản XML để tạo ramột mô hình chung hơn, dễ dàng hơn cho việc quản lý và mở rộng các ngôn ngữmới (nh nhu cầu ngày càng tăng đối với việc hỗ trợ tiếng Nga bên cạnh 5 ngônngữ chính thức đang hiện hành) Trong khi các hệ thống hiện có sử dụng cáckiến trúc cơ sở dữ liệu của riêng mình (không chuẩn) đối với các dữ liệu theo môhình đa ngôn ngữ thì tiếp cận XML cung cấp một phơng tiện chung để quản lýcác thông tin có cấu trúc đối với bất cứ mô hình nào Các văn bản XML đợc lutrữ trong một kho XML nh
hình 2
Figure 2 Information bus architecture
Hình 2.Kiến trúc kênh cung cấp thông tintaij FAO
Trang 214 Có thể đoán trớc đợc rằng kế hoạch của dự án về quản lý siêu dữ liệumetadata cũng sẽ phải dựa trên XML và lu trữ trong kho XML mà kho này cóthể đợc sử dụng nh mô hình trao đổi trong toàn bộ tổ chức FAO Siêu dữ liệumetadata đợc trình bay nh RDF (Ressource Description Framework) [21], môhình RDF[7], các thành phần của Dublin Core phiên bản 1.1 [11] và XML TopicMaps [26].RDF có thể đợc sử dụng để xác định siêu dữ liệu metadata trong cáctài nguyên, nh các giá trị thuộc tính đối với các tài nguyên đó Mô hình RDF cóthể sử dụng để xác định các lớp tài nguyên và thuộc tính mà mỗi lớp có thể có.Hơn nữa, mô hình RDF, Dublin Core và XML Topic Maps có thể đợc sử dụng đểxác định bản thể mà bản thể này lấy đợc quan hệ giữa các lớp, các tài nguyên vàcác thuộc tính tạo nên một bản từ vựng Các mô hình XML [14] cũng có thể đợc
sử dụng để xác định siêu dữ liệu có ràng buộc có thể dựa trên các bản thể chuẩn
đợc xuất bản hoặc phát triển bên trong một tổ chức, cũng đợc trình bày ở dạngXML Điều này có thể tạo điều kiện thuận lợi cho việc nhập và việc xuất tất cảsiêu dữ liệu XML có trong các hệ thống tham gia
5 Kho XML chứa các tài nguyên (các văn bản) trong một cơ sở dữ liệuquan hệ, sử dụng một giao diện Java dựa trên một phiên bản mở rộng của XML:
DB API [32] phục vụ cho các phơng án văn bản (các phơng án ngôn ngữ khácnhau của cùng văn bản) và siêu dữ liệu liên quan tới văn bản Kho này cũng đợcbọc nh một dịch vụ WS để cho phép truy cập các văn bản bằng siêu dữ liệu vàngôn ngữ
6 FAO hiện có một ứng dụng web gọi là FAO Country profiles [15], đa racác thông tin từ hàng loạt các hệ thống trên mạng nội bộ và trình bày kiểu xemtổng quát, đợc sắp xếp theo quốc gia Bên trong mỗi bản sơ lợc tiểu sử quốc gianày, các thông tin đợc kiến trúc phù hợp với vác vùng chức năng chính của FAO
nh theo sự phát triển có thể xác minh đợc, theo tình trạng kinh tế, khu vực nôngnghiệp, khu vực lâm nghiệp, ng nghiệp, hợp tác kỹ thuật Đã phát triển đợc mộtứng dụng về sơ lợc tiểu sử các quốc gia thông qua việc sử dụng kiến trúc kênh
Trang 22thông tin Kiến trúc này có thể chứa 2 đăng ký UDDI (Universal Discovery,Description, and Integration) để hỗ trợ việc trình bày dữ liệu Một đăng kýUDDI là nội bộ đối với FAO và hỗ trợ việc chia sẻ và trao đổi thông tin giữa cácnguồn dữ liệu bên trong tổ chức Đăng ký UDDI kia thì đợc sử dụng để hỗ trợviệc chia sẻ và trao đổi dữ liệu giữa các nguồn thông tin bên ngoài tổ chức FAO.Trong triển khai ban đầu kiến trúc này, chỉ đăng ký bên trong là hoạt động.
7 Một ví dụ về kiến trúc XML đi qua đợc kênh thông tin có thể xem trênhình 3 Nó chứa một thông điếp SOAP [8] đợc làm bằng siêu dữ liệu từ các bảnthể đợc trình bày trong RDF [21] Trong ví dụ này, kiến trúc slxl đại diện chomột yêu cầu về các bản chứa thông tin về nghề rừng – 8859-1.?> forestry (từ khoá), tạiSengal (Quốc gia Sen), đợc viết bằng tiếng Anh – 8859-1.?> English ( Language – 8859-1.?> EN).Việc chuyển từ trình bày XML chuẩn đợc sử dụng nh các tham số đầu vào củadịch vụ WS, tới tham số đầu vào gốc của hệ thống đợc khai trong tự bản thân mãdịch vụ WS Điều này đạt đợc bằng việc sử dụng ánh xạ các kiến trúc từ cáctham số đầu vào gốc của ứng dụng đó (chuỗi, các số nguyên) tới các miêu tả ISO
đợc phác thảo trong kênh thông tin
8 Trong tiếp cận này, ta giả thiết sử dụng 3 dạng dịch vụ WS khác nhau dựatrên chức năng và tên của chúng: Support (hỗ trợ), relevace (liên quan) vàcontent (nội dung) Dạng dịch vụ WS hỗ trợ (support) chứa các tiện ích để trả vềcác mô tả về quốc gia, các loại siêu dữ liệu và các bản dịch ngôn ngữ Một ví dụ
về thông tin đợc trả về bằng dịch vụ hỗ trợ (suppport) đợc chỉ ra trên hình 4.Dạng dịch vụ WS liên quan (relevance) đợc sử dụng để xác định dịch vụ WS cóliên quan tới ngữ cảnh ứng dụng cụ thể nào đó và việc thiết lập các tham số cầnthiết để gọi dịch vụ WS đợc xác định đó, nh mô tả trên hình 5 Trong ví dụ nàythì dịch vụ WS với mã số ID 900 chứa mô tả về các bản đồ chung và phải truycập bằng việc sử dụng các tham số nh Country (quốc gia), Language (ngôn ngữ)
và Category (chủng loại)
Trang 23Figure 3 Example of XML structure passed in the information bus
9 Dạng dịch vụ WS nội dung (content) đợc gọi để trả về nội dung XML từcác nguồn thông tin đang có thông qua các giao diện của dịch vụ WS với cáctham số về ngôn ngữ, quốc gia, đối tợng và những thứ khác nữa Hình 6 chỉ ramột ví dụ về dịch vụ nội dung đợc trả về từ nguồn thông tin trực tuyến của BBCNews Online (bên ngoài tổ chức FAO)
3.1.5.2 Báo cáo sơ l ợc tiểu sử của quốc gia
1 Tiếp cận của chúng ta cũng hỗ trợ tạo ra các báo cáo động dựa trên dữliệu đợc trích ra từ nguồn thông tin khác nhau Các báo cáo này đợc tập hợp lại ởdạng XML và đợc diễn tả nh PDF bằng việc sử dụng ngôn ngữ XML StylesheetLanguage: Định dạng các đối tợng – 8859-1.?> XML: FO [1] và bộ xử lý FO nguồn mở
FO Processor của Apache [4] Các báo cáo đợc tạo ra dựa trên nội dung thông tin
đợc chọn bởi ngời sử dụng Khi ngời sử dụng này chọn một quốc gia và ngônngữ từ dịch vụ WS liên quan đợc sử dụng để xác định các thông tin sẵn có đốivới ngời sử dụng này trong ngữ cảnh đó Sau đó khi ngời sử dụng này chọn tạomột báo cáo động họ đợc trình bày bằng lựa chọn để gọi các dịch vụ WS khácnhau, phụ thuộc vào ngữ cảnh
2 Các dịch vụ WS này tạo ra các phần khác nhau của báo cáo, phụ thuộcvào tham chiếu của ngời sử dụng Một khi ngời sử dụng đã chọn các dịch vụ đểgọi sự tạo ra báo cáo, máy tạo báo cáo sẽ gọi tất cả các dịch vụ WS cùng một lúcbằng việc sử dụng đa chuỗi multithreading
Trang 243 Báo cáo đợc xây dựng trong bộ nhớ trong một trật tự phụ thuộc vào dịch
vụ WS nào sẽ trả lại kết quả trớc tiên, báo cáo cuối cùng, theo trật tự đúng sẽ đợcbiên dịch và tạo ra một khi dịch vụ WS cuối trả lại các kết quả Toàn bộ quátrình chiếm khoảng 60 giây từ việc gọi các dịch vụ để tạo báo cáo, một báo cáothông thờng sẽ liên quan tới khoảng 30 đến 50 dịch vụ WS khác nhau
Figure 4 Example of information returned from support service
Hinh 3 Ví dụ thông tin đáp ứng từ dịch vụ hỗ trợ
Trang 25Figure 5 Example of information returned from relevance service
H×nh 4 VÝ dô th«ng tin tr¶ vÒ tõ dÞch vô thÝch hîp