XMLvàthôngtintheoyêucầu
Để thực hiện được thôngtintheoyêu cầu, ngành công nghệ thôngtin (CNTT) trên
thế giới đã chuyển phần mềm ứng dụng từ kiến trúc dựa trên dự án sang kiến trúc
hướng đến dịch vụ (SOA).
Ứng dụng hướng dự án là việc thực hiện các ứng dụng tương đối độc lập với nhau.
Ví dụ, ứng dụng quản lý tài sản riêng với ứng dụng quản lý tài chính, ứng dụng
quản lý nhân sự riêng với ứng dụng nghiệp vụ… Các ứng dụng được xây dựng với
ban quản lý dự án riêng, làm đầy đủ các việc từ thiết kế, xây dựng đến mua sắm
thiết bị triển khai… Sau một thời gian, các ứng dụng riêng biệt đã phát huy tác
dụng. Tuy nhiên, có một yêucầu nảy sinh và là nhu cầu của mọi tổ chức, đó là tích
hợp các ứng dụng đó lại thành một thể thống nhất. Bản thân tổ chức là một thể
thống nhất, có làm như vậy mới đáp ứng được yêucầu tổng hợp của kinh doanh,
phản ứng nhanh trước các biến động của thị trường, của các đối thủ cạnh tranh…
Như vậy, muốn xây dựng hệ thống “thông tintheoyêu cầu”, việc làm quan trọng
nhất là phải tích hợp được các ứng dụng riêng lẻ. Các ứng dụng này có thể chạy
trên các nền tảng khác nhau, viết bằng các ngôn ngữ lập trình khác nhau, đưa vào
sử dụng tại các thời điểm khác nhau. Nếu số lượng các ứng dụng này ít, người ta
sẽ chỉnh sửa để chúng “nói chuyện” được với nhau. Nhưng trên thực tế công việc
này không đơn giản, thậm chí là không thể làm được. Vậy đâu là lối thoát cho nhu
cầu tích hợp các ứng dụng ? Đó chính là kiến trúc hướng đến dịch vụ.
Kiến trúc hướng đến dịch vụ là kiến trúc lấy các dịch vụ làm hạt nhân. Dịch vụ là
các ứng dụng đã được “phân rã” đến mức là đơn vị nhỏ nhất cung cấp thôngtin
(thế nào là nhỏ nhất tùy thuộc vào người thiết kế). Để thực hiện một công việc
nhất định, người ta sẽ lắp ghép hàng loạt các dịch vụ theo một trình tự nào đó. Khi
quy trình công việc thay đổi, chỉ cần sắp xếp lại trình tự thực hiện các dịch vụ đó
(thậm chí người sử dụng có thể tự mình quyết định trình tự thực hiện các dịch vụ
đó như thế nào cho công việc của mình, mà không cần nhờ đến các chuyên viên
CNTT, nhờ vào các công cụ sẵn có).
Đặc điểm của kiến trúc hướng đến dịch vụ là:
- Nó là việc liên hệ lỏng giữa các hệ thống, không phụ thuộc vào nhau.
- Độc lập nền tảng và ngôn ngữ.
- Sử dụng lại hạ tầng công nghệ sẵn có, do đó nó đơn giản, chi phí rẻ.
- Được nhiều hãng công nghiệp hỗ trợ (IBM, Microsoft, SAP, Oracle…).
- Mọi thứ đều dựa trên Web services/XML và các chuẩn công nghiệp khác.
Đã có khái niệm “các dịch vụ”, như vậy sẽ có nơi cung cấp các dịch vụ (là nguồn
cung cấp thông tin) và nơi sử dụng các dịch vụ đó (các chức năng nghiệp vụ). Vậy
làm thế nào để sử dụng được các dịch vụ đó? Cũng giống như chương trình chính
gọi các hàm hay chương trình con để hoàn thành một thủ tục, cũng có khái niệm
gọi dịch vụ. Đến đây lại xuất hiện dịch vụ Web (Web Service) và các chuẩn liên
quan. Nói một cách chung nhất, dịch vụ Web là một cách chuẩn hóa để gọi hàm
trên mạng mà không cần biết hàm này nằm ở đâu, chạy trên nền tảng hệ điều hành
nào, viết bằng ngôn ngữ gì.
Việc gọi dịch vụ được tiến hành bằng cách gửi thông điệp, nơi yêucầu dịch vụ gửi
thông điệp yêucầuthôngtin đến nơi cung cấp dịch vụ, nơi cung cấp gói kết quả
vào một thông điệp và gửi trả về cho nơi yêu cầu. Các ứng dụng tích hợp với nhau
bằng cách gửi thông điệp hỏi và trả lời, mà không cần quan tâm làm thế nào để có
câu trả lời ấy. Do vậy, các ứng dụng trên nền tảng khác nhau, ngôn ngữ khác
nhau… muốn tích hợp được đều phải hiểu chung nhau ngôn ngữ thông điệp. Ngôn
ngữ để viết các thông điệp đó là chuẩn “ngôn ngữ đánh đấu mở rộng” (XML -
eXtensible Markup Language).
Có một cách đơn giản nhất để hiểu XML là so sánh nó với HTML. HTML là ngôn
ngữ đánh dấu trang siêu văn bản, được sử dụng nhằm mục đích “trình bày” dữ
liệu. Nghĩa là dữ liệu sẽ được nhìn thấy như thế nào trên trình duyệt của người sử
dụng. Trong khi đó thì XML nhằm mục đích nói “Nội dung” đấy là gì. Dưới đây
là một số khái niệm chính của ngôn ngữ XML.
- Là chuẩn để mô tả ý nghĩa của dữ liệu, dữ liệu này là gì. Ví dụ, cũng là một đoạn
văn bản nhưng sử dụng XML, ta biết được đâu là họ, đâu là tên; với một dãy số thì
biết được đó là giá tiền hay số lượng
- Các thẻ trong XML chưa được định nghĩa sẵn từ trước, ta có thể tự định nghĩa
được các thẻ.
- Độc lập về công nghệ, không phụ thuộc vào phần cứng và hệ điều hành cũng như
các phần mềm khác nhau.
- XML có thể kết nối với các ứng dụng viết bằng các ngôn ngữ khá
. XML và thông tin theo yêu cầu
Để thực hiện được thông tin theo yêu cầu, ngành công nghệ thông tin (CNTT) trên
thế giới đã. cách gửi thông điệp, nơi yêu cầu dịch vụ gửi
thông điệp yêu cầu thông tin đến nơi cung cấp dịch vụ, nơi cung cấp gói kết quả
vào một thông điệp và gửi