1. Lập trình mạng – Chương 7 1
ỨNG DỤNG XML
TRONG LẬP TRÌNH MẠNG
1.1 Giới thiệu ngôn ngữ XML
1.2 XML trong các ứng dụng mạng
1.3 Một số ví dụ.
2. Lập trình mạng – Chương 7 2
1.1 Giới thiệu ngôn ngữ XML
• XML (Extensible Markup Language) là tập con của SGML (Standard
Generalized Markup Language), được đơn giản hóa để hướng tới
web.
• Các đặc điểm:
• Meaningful Searches
• XML/EDI (XML for Electronic Data Interchange)
• Enterprise Application Integration
• Data accessibility/ Application simplification
3. Lập trình mạng – Chương 7 3
1.1 Giới thiệu ngôn ngữ XML
• So sánh HTML và XML:
• Đều là tập con của SGML
• HTML định dạng các tag để hiển thị, XML định dạng các tag thể hiện ngữ
nghĩa dữ liệu.
• XML hướng đến việc xử lý dữ liệu ở client.
• XML có thể làm dữ liệu trao đổi giữa các ứng dụng trên Internet.
• XML có thể dùng để lưu trữ dữ liệu như một database.
4. Lập trình mạng – Chương 7 4
1.1 Giới thiệu ngôn ngữ XML
• Cấu trúc file XML:
• Được định nghĩa dựa vào các tags theo cấu trúc phân cấp.
• Các tag do người sử dụng đặt
• Tags và cấu trúc XML được định nghĩa theo DTD (Document Type Definition)
hoặc XML Schema
5. Lập trình mạng – Chương 7 5
1.1 Giới thiệu ngôn ngữ XML
• Ví dụ file XML đơn giản:
<?xml version="1.0"?>
<!DOCTYPE personals SYSTEM "personal.dtd">
<personals>
<person id="N.URAMOTO">
<name><family>URAMOTO</family> <given>Naohiko</given></name>
<email>uramoto@jp.ibm.com</email>
<link manager=" H.MARUYAMA"/>
</person>
<person id="K.TAMURA">
<name> <family>TAMURA</family> <given>Kent</given> </name>
<!-- This URL is mail address.-->
<url href="mailto:kent@trl.ibm.co.jp"/>
<url href="mailto:tkent@jp.ibm.com"/>
<link manager="H.MARUYAMA"/>
</person>
</personals>
6. Lập trình mạng – Chương 7 6
1.1 Giới thiệu ngôn ngữ XML
• DTD:
<?xml encoding="US-ASCII"?>
<!ELEMENT personals (person)+>
<!ELEMENT person (name,email*,url*,link?)>
<!ATTLIST person id ID #REQUIRED>
<!ELEMENT family (#PCDATA)>
<!ELEMENT given (#PCDATA)>
<!ELEMENT name (#PCDATA|family|given)*>
<!ELEMENT email (#PCDATA)>
<!ELEMENT url EMPTY>
<!ATTLIST url href CDATA #REQUIRED>
<!ELEMENT link EMPTY>
<!ATTLIST link
manager IDREF #IMPLIED
subordinates IDREFS #IMPLIED>
7. Lập trình mạng – Chương 7 7
1.1 Giới thiệu ngôn ngữ XML
• Truy xuất các phần tử trong file XML:
• Có thể sử dụng bất cứ ngôn ngữ lập trình trên các platform khác nhau.
• Các cách truy xuất đã được W3C(www.w3c.org) định nghĩa
• Document Object Model(DOM)
• XPointer
• XML StyleSheet Language(XSL)
• XML Query Language(XQL)
• …
8. Lập trình mạng – Chương 7 8
1.2 XML trong các ứng dụng mạng
• Định nghĩa các format dữ liệu để trao đổi:
• Cấu trúc file XML với DTD hay XML Schema quy định về protocol giao tiếp.
• Dữ liệu được biểu diễn theo các tag.
• Là môi trường để các hệ thống không đồng nhất có thể giao tiếp với nhau.
• Hệ thống cho phép mở rộng nhiều đối tượng tham gia, mở rộng giao dịch mà
không ảnh hưởng đến các giao dịch cũ.
• Có thể truyền qua giao thức HTTP
9. Lập trình mạng – Chương 7 9
1.2 XML trong các ứng dụng mạng
• Ví dụ mô hình giao dịch ngân hàng:
XML
Bank
C
Bank
B
Bank
A
10. Lập trình mạng – Chương 7 10
1.2 XML trong các ứng dụng mạng
• Các công nghệ dựa trên XML được sử dụng hiện nay:
• Simple Object Access Protocol(SOAP)
• Các dữ liệu XML được truyền qua giao thức HTTP như một đối tượng.
• Web services
• Chuẩn XML được hỗ trợ để truyền giữa các ứng dụng web để trao đổi dữ liệu.
• Microsoft .NET Framework