Tải bản đầy đủ (.doc) (50 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (528 KB, 50 trang )

CHUYÊN Đề : TổNG QUAN KIếN TRúC Hệ THốNG
Và MÔ HìNH ứNG DụNG DịCH Vụ WEB (WEB SERVICES)
TRÊN THế GIớI
1. Tổng quan về ngôn ngữ XML
1.1 Khái niệm cơ bản
XML là viết tắt của eXtensible Markup Language,đợc phát triển bởi W3C
( Hiệp hội Web toàn cầu ). Phiên bản 1.0 đợc đa ra vào tháng 2 năm 1998. XML
thừa kế các chức năng của SGML và HTML. XML đợc biết tới nh một ngôn ngữ
phù hợp hoặc cốt yếu cho thơng mại điện tử ( tao đổi tài liệu ). Bản thân XML là
siêu ngôn ngữ và chỉ có cú pháp là đợc định nghĩa. Để áp dụng XML, cần phải
định nghĩa một số từ ngữ cà phần từ. Ngày nay, có nhiều hoạt động để thiết lập
cá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 ci 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ờng
trong 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 nh
tầ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.
1


- XML là công cụ dùng đợc trên mọi nền phần cứng, độc lập với
phầ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 nhng
khô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ơng
thích
- Trong thế giới thực, các hệ thống và cơ sở dữ liệu máy tính chứa
dữ 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µy
cµng nhiỊu hƯ XML vµ B2B ( Business To Business doanh nghiệp tới doanh
nghiệp) trong tơng lai gần. XML sẽ là ngôn ngữ chính để trao đổi thông tin tài
chính giữa các doanh nghiệp qua Internet. Nhiều ứng dụng B2B thú vị đang đợc
phá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ơng
pháp không phụ thuộc phần cứng và phần mêm để chia sẻ dữ liệu. Nó cho phép
tạ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àm
việ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ành
mớ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 hay
trong 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ới
phầ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 đợc
khô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áy
moc (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ử
2


dụ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 ứng
dụ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 ích
chuyển đổi nào.
1.7 Một ví dụ về tệp XML
Dữ liệu của một thông điệp th tín của Jim gửi Tom, dới dạng XML, đợc
viết nh sau:
< ?xml version = 1.0 encoding = “ISO – 8859-1.?> 8859-1.?>
<message>
<to> Tom </ to>
< from> Jim </from> <heading> Reminder <body> Please call me this weekend ! </body>
</message>

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áp
thiết lập cho XML bëi tỉ chøc qc tÕ W3C.
- Khai b¸o XML
- Dữ liệu XML
b) XML hợp lệ (Valid document)
Hầu hết các trình duyệt trớc hết kiểm tra xem tài liệu XML có hợp lệ khuôn
dạng không. Tiếp theo một vài ntrinhf duyệt có ntheer kiểm tra thêm tính hợp lệ
của tài liệu. Một tài liệu XML đợc gọi là hợp lệ khi nó đợc kết hợp với định
nghĩa kiểu t liệu ( Document Type Definition DTD) và tuân theo tiêu chuÈn
DTD.
- Khai b¸o XML
- DTD
3


- Dữ liệu XML
Một DTD định nghĩa các phần tử hợp lệ của một tài liệu XML. Mục đích
của DTD là định nghĩa các khối hợp lệ nên một tài liệu XML. Nó định ra phần tử
và cấu trúc cây phần tử của dữ liệu. DTD không phải là bắt buộc. Nếu không có
DTD, chỉ cần nhận dạng cấu trúc thẻ.


1.8.1 XML hợp khuôn dạng
Nh trên đà nói, nội dung tài liệu XML bị ràng buộc bởi 2 tính chất: hợp
khuôn dạng và hợp lệ. Tài liệu đợc coi là hợp khuôn dạng khi theo đúng các bớc
thiết kế và xây dựng XML do W3C đa ra. Nói chung là tuân theo đúng cú pháp
khi khai báo thẻ XML và tuân theo cách đặt các thẻ XML theo một trật tự có thể
phân tích đợc bởi các bộ phân tích.
Cá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ài
liệ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ác
phầ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
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ột
dòng mới thờng đợc lu trữ nh một ký tù LF. C¸c øng dơng Macintosh chØ dïng
mét ký tự CR để lu trữ một dòng mới.
4



1.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ác
phầ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
®Ĩ trao ®ỉi.
øng dơng cã thĨ dïng mét DTD chuẩn để kiểm chứng dữ liệu nó nhận từ
bên ngoài có hợp lệ hay không
DTD có thể khai báo bên trong tài liệu XML hoặc tham chiếu bên ngoài.
Khai báo DOCTYPE bên trong
Nếu DTD đợc bao gồm trong tệp XML, có thể gói nó trong một định nghĩa
DOCTYPE với cú ph¸p nh sau:
< ! 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ĩa
DOCTYPE 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ản
bì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ự.
1.9.1 Các thành phần trong một DTD
Trong DTD, loại hoặc cấu trúc của phần tử XML đợc khai báo bằng một
khai báo phần tử. Khai báo phần tử có có ph¸p nh sau:
<!ELEMENT element-naame category>
EMPTY(#PCDATA)ANY

5


hoặc
<!ELEMENT element-name (element-content)>
Child-element-name, (sequence)
Child-element-name
Child-element-name+
Child-element-name*
Child-element-name?
Child-element-name/ Child-element-name
(mixed)
2. Tổng quan về dịch vụ Wed
2.1 Khái niệm
1. 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¸c
giao thøc chn Internet. WS tËp hợp các khía cạnh tốt nhất của việc phát triển
dự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ển
khai nh thế nào. Không giống nh những công nghệ thành phần hiện hanh, WS
khô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 Method
Invocation) hc 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
Mô tả dịch vụ một cách chính xác thức: WSDL
Giao tiếp dịch vụ: SOAP
Định dạng dữ liệu tổng hợp: XML
Giao tiếp thông thờng: Internet
Đơn giản, Mở, Hỗ trợ rộng rÃi
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 ta
thấ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ác
tá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ụng
khá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 theo
module có khả năng tự mô tả theo cách có thể đợc phát tán, định vị và loại bỏ
6


thô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 ứng
dụ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ển
khai đó.
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ông
nghệ đ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ác
giao diện ở chế độ thời gian thực, giúp làm tối thiểu hoá mọi sự chuẩn bị, cần
thiế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 Application
Integration) đô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 đợc
thiế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ông
gắ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ắn
và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ác
giao thức chẩn của Web.
b) Sử dụng các giao thøc chn 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ải
phá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 nh
CORBA 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ền
tả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 qua
việ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

7


1. 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 đợc

xây dựng để di chuyển trong hệ thống máy tính phân tán trên Internet. Các
chuẩ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 cho
việ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ều
nguồ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 giao
thøc chn 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»m
cho 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ới
chú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 trong
nhữ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ết
bằ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 nhau
dự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 giao
thức SOAP, đợc mô tả bằng một tệp WSDL và đợc dăng ký trong UDDL. Các
dị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ích
hợ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

8


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ột
và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ệc
thuê 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 ứng
dụng mua bán để tự động lấy các thông tin về giá cả từ nhiều nhà cung cấp khác
nhau, 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ác
dị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ủa
khá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ụng
Web để làm một điều gì đó mà hiện nay ta không thể thực hiện đợc. Ví dụ, một
trong 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ĩ nha
khoa 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ên
lị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ả nh

một giao thức giao tiếp, hầu hết tất cả mọi ngời đều nghĩ về DCOM hoặc
CORBA và bắt đầu hỏi những câu hỏi đại loại nh làm thế nào để SOAP kích
hoạ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ột
thộ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 chợ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
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ụng
kiể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ết
quả 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 ứng
dụ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

9


đ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 SOAP
kiể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 procedure
Calling Protocol).
3. PhÇn lùa chän ci cùng của đặc tả SOAP xác định một thông điệp HTTP
chứ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ột
lự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, SMTP
hoặ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ệt
giữ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ụng
mộ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ới
dạng thông điệp SOAP. Ví dụ, bộ công cụ MS SOAP 2.0 dịch hàm COM gọi tới
SOAP và bộ công cụ Apache Tooolkit dịch hàm JAVA gọi SOAP. Các loại chức
nă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ừng
triể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ệc
vớ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ột
khai 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ên
trong 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 trong
quá khứ để có mét giao thøc giao tiÕp chung cã thĨ sư dơng đợc cho việc tích
hợp hệ thống, nhng không có cách nào trong số đó có đợc ứng dụng rộng rÃi nh
vớ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ều
năm đợc tiÕn hµnh thùc hiƯn, nhng chØ mét vµi triĨn khai là đợc tung ra thành
công. Tuy nhiên, SOAP có thể sử dụng bộ biên dịch XML và các th viện hiện
hà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ã

10


thể hoàn tất trong một tháng. Điều này giải thích vì sao có nhiều triển khai
SOAP đ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íi
SOAP 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 ninh
HTTP có thể tơng xứng đối với SOAP. Cuối cùng, có hàng ngàn ứng dụng Web
chay 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ới
SOAP. 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ên
trên phần truyền tải thì an ninnh trở nên là một vấn đề lớn hơn. Ví dụ, HTTP
cung 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ời
gọ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 đợc
khi thông điệp đợc định tuyến từ HTTP tới một truyền tải SMTP? SOAP đợc
thiế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ẵn
cá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 Services
Description Language. Ta có thể nói rằng một tệp WSDL là một văn bản XML
mô 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ới
nhau. Nói cách khác, WSDL đối với SOAP nh là một IDL (Interface Definition
Language) đố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 trong
thự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ái

gì 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.

11


3. Những ký hiệu mà một tệp WSDL sử dụng để mô tả các định dạng thông
thô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ính
vớ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ệc
mô 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ác
ngô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ói
chuyệ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ó để đọc
mộ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ừ giao
diệ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 WSDL
trù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 ra
cá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 Discovery
Desscription and Integration) là các trang vàng của dịch vụ WS. Giống nh các
trang 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ác
thô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 trun miƯng nhng nÕu ta mn 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ác
dịch vụ nó chào. Có 3 phần đối với một nội dung trong th mục UDDI đó. Trang
trắ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 Trang
và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êu

chuẩ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 qua
một văn bản UDDI gọi là kiểu dạng (Type Model) hoặc là Tmodel. Trong nhiều
trờng hợp, Tmodel này chứa một tệp WSDL mô tả giao diện SOAP đối với một
diịch vụ WS, nhng Tmodel cũng đủ mềm dẻo để mô tả hầu hết mọi dạng dịch
vụ.
3. Th mục UDDI cũng có một vài cách để tìm kiếm những dịch vụ mà ta
cầ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ủa
mộ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ệ,

12


cá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ác
dị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ông
biế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 ta
xem 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 cho
việ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ác
cô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ành

cô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ác
nhà 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ức
tiếp theo thông qua việc cung cấp một mô hình mục tiêu chung, chặt chẽ vho
việ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ều
má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ông
qua đặc tả kỹ thuật định tuyến của WS và các đặc tả kü tht 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ới
nhữ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)
13


3.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ác
nguồ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ữ đợc
tí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ằng
cá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ột

cá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ụng
rấ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ột
cô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 ích
cũng nh khiếm khuyết của tiếp cận này và những kinh nghiệm có đợc trong khi
phá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ền
tả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ển
cá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, nhng
không giải quyết đợc vấn đề tơng hợp giữa các ứng dụng khác nhau. Các ứng
dụng không đợc xây dựng để tích hợp với nhau và do đó chúng thờng xác định
các định dạng khác nhau, có những giao tiếp riêng của chúng và đợc phát triển
trê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ều
quan 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 nhau
trong 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 tin
rộ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 quan
tớ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ảnh
củ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ính
thố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àng
củ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ơng
quố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ệp
quốc, lÃnh đạo những nỗ lực quốc tế chống đói nghèo. FAO trợ giúp các quốc
gia đang phát triển hiện đại hoá và phát triển nông nghiệp, trồng rừng, ®¸nh c¸
14



và đả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 quan
trọ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ục
tiêu này FAO đà thiết lập Trung tâm Nông nghiệp thế giới (WAICENT (World
Agricculturel Information Center) để đánh giá và quản lý các thông tin nông
nghiệ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ởi
nhiề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ác
dạ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 đợc
phâ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 đợc
vớ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ất
rộng rÃi và vì thế rất khó để theo chỉ một công nghƯ nµo trong toµn bé tỉ chøc
FAO.
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ụ web
WS[17] và công nghệ ngôn ngữ đánh dấu mở rộng XML (eXtenxible Markup
Language) để 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ột
kênh thông tin cho phép dữ liệu giữa các nguồn thông tin khác nhau đợc triển
khai 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ác
nguồ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ép
siê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à đánh
giá tiếp cận này.

15


Figure 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 truy
cậ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ác
dữ 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ông
nghệ 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ác
nguồ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ôn
ngữ 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ạng
khá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ìm
kiếm thông tin trực tuyến của trung tâm có tên là WAICEENT Information
Finder, 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.

16


4. ngời sử dụng FAO là một nông dân, nhà khoa học, nhà buôn, các nhà lam
chính sách của chính phủ và phi chính phủ, cả ở trong tổ chức. Những ngời này
cầ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ọng
mộ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ạn
chế 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ếu
tiêu chuẩn hoá và khó khăn trong việc nâng cấp, mở rộng hệ thống. Quan trọng
phả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ựa
trê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ải
viế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ừng
ngô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ản
hoặ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 theo
cá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ạng
bả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ới
mụ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ác
biê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 ASP
khá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ủa
vă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ôn
ngữ 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 đặc
trng của quốc gia và siêu dữ liệu. Từ điển dữ liệu đa ngôn ngữ về nông
nghiệp(AGROVOC) [2] từ FAO đợc áp dụng cho web nh một chiến lợc đảm bảo
mộ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úng

khô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ần
thêm thuật ngữ đặc trng của đối tợng và nhiều thứ khác mà từ điển đồng nghĩa
truyề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ển
mộ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

17


việ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àn
cầ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à cho
phé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ập
trung 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àn
cầ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ệu
tham 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ơng
diệ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ây
dự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ố trung
gian 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ác
dữ 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 bao
gå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ài
trong số đó đa ra việc sử dụng thành phần trung gian và bộ bọc. Trong các tiếp

cậ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ột
cá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ác
nguồ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ới
cá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ạng
khá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øc
trun tƯp FTP (File Transfer Protocol) tạo điều kiện cho việc truyền tệp, nhng
khô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. Giao
thứ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Ỵ

18


hơ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 (Remote
Procedure 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át
triể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ần
tiế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àng
dự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 theo
cá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ông
thô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ển
bá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ác
dữ 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ình
XML đ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

19



d¹ng XML duy nhÊt sư dơng (a) m· qc 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ẩn
XML trong các giao diện dịch vụ XML. Ví dụ, các tham số đối với chức năng
liê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ác
dị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· ngn cđa
c¸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ủa
cá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ũng
dự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 ra
mộ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ôn
ngữ chính thức đang hiện hành). Trong khi các hệ thống hiện có sử dụng các
kiế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 lu
trữ 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

20




×