Tác dụng chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các nền tảng và các hệ thống được kết nối thông qua mạng Internet giúp con người, máy móc có thể đọc được... XML dùng để
Trang 11
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NGÀNH KỸ THUẬT ĐIỆN – ĐIỆN TỬ
BÁO CÁO BÀI TẬP THIẾT KẾ NGOẠI VI VÀ
KỸ THUẬT GHÉP NỐI
Đề tài: Tìm hiểu về chuẩn đóng gói XML
Giảng viên HD: Thầy Dương Quang Duy
Hà Nội, 2/2023
Trang 2MỤC LỤC
I XML LÀ GÌ? 3
II XML DÙNG ĐỀ LÀM GÌ? 4
III ƯU VÀ NHƯỢC ĐIỂM CỦA XML 5
1 Ưu điểm của XML 5
2 Nhược điểm của XML 5
IV LỢI ÍCH CỦA VIỆC SỬ DỤNG XML LÀ GÌ? 6
1 Hỗ trợ giao dịch giữa các doanh nghiệp 6
2 Duy trì tính toàn vẹn của dữ liệu 6
3 Nâng cao hiệu quả tìm kiếm 7
4 Thiết kế ứng dụng linh hoạt 7
V ỨNG DỤNG CỦA XML 8
1 Truyền dữ liệu 8
2 Ứng dụng web 8
3 Tài liệu 9
4 Loại dữ liệu 9
VI THÀNH PHẦN, CẤU TRÚC 9
1 Các thành phần của một file XML 9
2 Cấu trúc điển hình của một file XML 11
VII CÁC QUI TẮC CÚ PHÁP 12
1 Để khai báo XML 12
VIII SO SÁNH 16
IX Xử lí đăng nhập và xác thực người dùng bằng JWT 17
X Phần mô phỏng thực tế……….20
TRÍCH DẪN 26
Trang 33
I XML LÀ GÌ?
XML là từ viết tắt của từ Extensible Markup Language là ngôn ngữ đánh dấu mở
liệu và mô tả nhiều loại dữ liệu khác nhau Tác dụng chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các nền tảng và các hệ thống được kết nối thông qua mạng Internet giúp con người, máy móc có thể đọc được
Trang 4II XML DÙNG ĐỀ LÀM GÌ?
XML dùng để cấu trúc, lưu trữ và trong trao đổi dữ liệu giữa các ứng dụng và lưu
như cách tài liệu được lưu trữ và vận chuyển
Ví dụ:
Khi ta xây dựng một ứng dụng bằng Php và một ứng dụng bằng Java thì hai ngôn ngữ này không thể hiểu nhau, vì vậy ta sẽ sử dụng XML để trao đổi dữ liệu Chính vì vậy, XML có tác dụng rất lớn trong việc chia sẻ, trao đổi dữ liệu giữa các hệ thống
Trang 55
III ƯU VÀ NHƯỢC ĐIỂM CỦA XML
1 Ưu điểm của XML
Ưu điểm lớn nhất của XML là sự độc lập XML được sử dụng để mô tả dữ liệu dưới dạng text, nên hầu hết các phần mềm hay các chương trình bình thường đều có thể đọc được chúng
XML có thể đọc và phân tích nguồn dữ liệu khá dễ dàng nên nó được sử dụng với mục đích chính là trao đổi dữ liệu giữa các chương trình, các hệ thống khác nhau XML được sử dụng cho Remote Procedure Calls nhằm phục vụ cho các dịch vụ của website
2 Nhược điểm của XML
Tỷ lệ sai sót khi sử dụng XML để truyền dữ liệu khoảng từ 5-7% Con số này tuy không quá cao, nhưng trên thực tế, người ta vẫn cần cân nhắc trước khi sử dụng nó để trao đổi thông tin
Trang 6IV LỢI ÍCH CỦA VIỆC SỬ DỤNG XML LÀ GÌ?
1 Hỗ trợ giao dịch giữa các doanh nghiệp
Khi một công ty bán hàng hóa hoặc dịch vụ cho một công ty khác, hai doanh nghiệp cần trao đổi các thông tin như chi phí, thông số kỹ thuật và lịch trình phân phối Với Ngôn ngữ đánh dấu mở rộng (XML), họ có thể chia sẻ tất cả thông tin cần thiết qua dạng điện
tử và tự động đóng các giao dịch phức tạp mà không cần đến bất kỳ sự can thiệp nào từ con người
2 Duy trì tính toàn vẹn của dữ liệu
XML cho phép bạn truyền dữ liệu cùng với thông tin mô tả của dữ liệu đó, đảm bảo tính toàn vẹn của dữ liệu Bạn có thể sử dụng thông tin mô tả này để thực hiện các thao tác sau:
✔ Xác minh độ chính xác của dữ liệu
Trang 77
✔ Tự động tùy chỉnh cách trình bày dữ liệu cho những người dùng khác nhau
✔ Lưu trữ dữ liệu nhất quán trên nhiều nền tảng
3 Nâng cao hiệu quả tìm kiếm
Những chương trình máy tính như công cụ tìm kiếm có thể sắp xếp và phân loại các
tệp XML một cách hiệu quả và chính xác hơn nhiều loại tài liệu khác Ví dụ: từ mark có
thể là danh từ hoặc động từ Dựa trên thẻ XML, công cụ tìm kiếm có thể phân loại chính
xác mark cho kết quả tìm kiếm có liên quan Do đó, XML giúp máy tính diễn giải ngôn
ngữ tự nhiên hiệu quả hơn
4 Thiết kế ứng dụng linh hoạt
Với XML, bạn có thể thuận tiện nâng cấp hoặc điều chỉnh thiết kế ứng dụng của mình Nhiều công nghệ, đặc biệt là những công nghệ mới, đi kèm với khả năng hỗ trợ XML tích hợp Những công nghệ này có thể tự động đọc và xử lý các tệp dữ liệu XML,
do đó bạn có thể thực hiện thay đổi mà không cần phải định dạng lại toàn bộ cơ sở dữ liệu của mình
Trang 8V ỨNG DỤNG CỦA XML
Ngôn ngữ đánh dấu mở rộng (XML) là công nghệ cơ sở trong hàng nghìn ứng dụng, trải dài từ các công cụ năng suất phổ biến như xử lý văn bản cho đến phần mềm xuất bản sách, hay thậm chí là cả các hệ thống cấu hình ứng dụng phức tạp
1 Truyền dữ liệu
Bạn có thể sử dụng XML để truyền dữ liệu giữa hai hệ thống lưu trữ cùng một dữ liệu
ở nhiều định dạng khác nhau Ví dụ: trang web của bạn lưu trữ ngày ở định dạng MM/DD/YYYY, nhưng hệ thống kế toán của bạn lại lưu trữ ngày ở định dạng DD/MM/YYYY Bạn có thể truyền dữ liệu từ trang web đến hệ thống kế toán bằng XML Nhà phát triển của bạn có thể viết mã tự động chuyển đổi những yếu tố sau:
✔ Chuyển đổi dữ liệu trang web thành định dạng XML
✔ Chuyển đổi dữ liệu XML thành dữ liệu hệ thống kế toán
✔ Chuyển đổi dữ liệu hệ thống kế toán trở lại định dạng XML
✔ Chuyển đổi dữ liệu XML trở lại dữ liệu trang web
2 Ứng dụng web
XML cung cấp cấu trúc cho dữ liệu mà bạn nhìn thấy trên các trang web Các công nghệ trang web khác, chẳng hạn như HTML, làm việc với XML để trình bày dữ liệu nhất quán và có liên quan đến khách truy cập trang web Ví dụ: hãy xem xét một trang web thương mại điện tử bán quần áo Thay vì hiển thị mọi loại quần áo cho tất cả khách truy cập, trang web này sử dụng XML để tạo các trang web tùy chỉnh dựa trên sở thích của người dùng Trang web tùy chỉnh này hiển thị sản phẩm từ các thương hiệu cụ thể khi lọc thẻ <brand>
Trang 99
3 Tài liệu
Bạn có thể sử dụng XML để chỉ định thông tin cấu trúc của bất kỳ tài liệu kỹ thuật nào Sau đó, các chương trình khác xử lý cấu trúc tài liệu để trình bày nó một cách linh hoạt Ví dụ: bạn có các thẻ XML cho một đoạn văn, một mục trong danh sách được đánh số và một tiêu đề Khi sử dụng những thẻ này, các loại phần mềm khác sẽ tự động chuẩn bị tài liệu để phục vụ cho nhiều mục đích sử dụng, chẳng hạn như in ấn và xuất bản trang web
4 Loại dữ liệu
Nhiều ngôn ngữ lập trình hỗ trợ XML như một kiểu dữ liệu Nhờ đó, bạn có
thể dễ dàng viết chương trình bằng những ngôn ngữ khác có thể làm việc trực tiếp
với các tệp XML
VI THÀNH PHẦN, CẤU TRÚC
Các thành phần của một file XML
Trang 12Ví dụ một file lưu trữ thông tin nhân viên với cấu trúc như sau:
VII CÁC QUI TẮC CÚ PHÁP
1 Để khai báo XML
Trang 1313
với “<?xml>” ở đây “xml” viết ở dạng chữ thường
XML
✔ Một HTTP Protocol có thể ghi đè giá trị của encoding mà bạn đặt trong
khai báo XML
2 Qui tắc cú pháp (Syntax Rules) cho các thẻ và phần tử
- Cú pháp phần tử: Mỗi phần tử XML cần được bao trong hoặc với phần tử bắt
đầu hoặc kết thúc như sau:
Hoặc đơn giản theo cách:
- Lồng các phần tử:
Một phần tử XML có thể chứa nhiều phần tử XML khác như là con của nó, nhưng các phần tử con này phải không đè lên nhau, ví dụ: Một thẻ đóng của một phần tử phải có cùng tên như thẻ mở kết nối với nó
Ví dụ
<element> </element>
<element/>
Trang 14- Quy tắc cho attribute (thuộc tính):
VD: HREF và href là hai thuộc tính khác nhau trong XML
sai cú pháp bởi vì Attribute b được xác định hai lần:
pháp: (Vì giá trị của attribute b không bọc trong dấu ngoặc)
- Quy tắc cho Text
✔ Trong ngôn ngữ XML, tên của phần tử và thuộc tính sẽ là “phân biệt kiểu chữ” nên 2 phần tử mở và đóng cần phải được viết giống hệt nhau (kể cả viết hoa và dấu câu)
Trang 16VIII SO SÁNH
XML khác với HTML như thế nào?
Ngôn ngữ đánh dấu siêu văn bản (HTML) là ngôn ngữ được sử dụng trong hầu hết các trang web Trình duyệt web xử lý và hiển thị các tài liệu HTML dưới dạng trang đa phương tiện Hiệp hội web toàn cầu (W3C) là cộng đồng quốc tế phát triển các giao thức và hướng dẫn để đảm bảo web phát triển lâu dài W3C đã thiết lập cả hai tiêu chuẩn HTML và Ngôn ngữ đánh dấu mở rộng (XML) mà các nhà phát triển trang web triển khai để đảm bảo tính nhất quán và chất lượng
Trang 1919
“typ” (type) chỉ ra rằng đối tượng là một JWT
“alg” (algorithm) thuật toán mã hóa cho chuỗi là HS256
Trang 20Lấy ví dụ cụ thể ứng dụng của JWT trong bài toán Authenticate (xác thực) Khi user đăng nhập thành công (Browser sẽ post username và mật khẩu về Server), Server sẽ trả
về một chuỗi JWT về Browser, và Token JWT này cần được lưu lại trong Browser của người dùng (thường là LocalStorage hoặc Cookies), thay vì cách truyền thống là tạo một session trên Server và trả về Cookie
4 Khi nào nên sử dụng JWT
Trong thực tế, JWT có thể được ứng dụng cho nhiều hoạt động đa dạng khác nhau Tuy nhiên, hai trường hợp điển hình được ứng dụng nhiều nhất đó là trong:
- Uỷ quyền:
Đây là trường hợp sử dụng phổ biến nhất của JWT Khi người dùng đăng nhập vào hệ thống thì những yêu cầu tiếp theo đến người dùng như tài nguyên, dịch vụ, sẽ có thêm
mã JWT Điều này cho phép người dùng có quyền được truy cập vào các URL, dịch vụ
và resource mà token cho phép
- Trao đổi thông tin:
JWT giúp đảm bảo mức độ an toàn tuyệt đối trong việc truyền tin giữa các thành viên với nhau dựa vào phần signature Thông qua phần signature, phía người nhận có thể xác định được người gửi thông tin là ai và chữ ký gửi đến có bị giả mạo hay không
Trang 211, Luồng đi của hệ thống
Khi người dùng thực hiện thao tác trên ứng dụng hoặc website thì từ máy Client sẽ gửi yêu cầu đến server (máy chủ) Lúc này, controller sẽ tiến hành tiếp nhận và xử lý yêu cầu Một vài trường hợp cần truy xuất dữ liệu thì controller sẽ kết nối với Model để
hỗ trợ database
Sau khi Controller xử lý xong các yêu cầu thì kết quả sẽ được chuyển về View Lúc này View sẽ tiến hành tạo các mã HTML để trả về giao hiện của trình duyệt kết quả theo yêu cầu của người dùng
Trang 222, Code mô phỏng
2.1 Phía server (Model)
Khởi tạo 1 server tại localhost và chạy tại port 3001
- API
API là các đường link URL với chức năng để giao tiếp giữa 2 phía server (server-side)
và phía client (client-side) Dưới đây là các API sử dụng trong phần mô phỏng
Trang 242.2 Phía client (View)
Trong phần mô phỏng nhóm đã sử dụng thư viện Reactjs để hiển thị phần view cho người dùng
- Đầu tiên, khi người dùng đăng nhập sẽ gửi data (gồm userName và password) qua API: api/v1/authen đến cho server
Nếu như đăng nhập thành công Client sẽ nhận được một chuỗi JWT, dùng để xác thực người dùng cho các request sau
- Khi server đã xác thực được người dùng, client sẽ tiếp tục gửi request lên cho server thông qua API: api/v1/xml
Nếu gọi thành công sẽ nhận được gói XML, sau đó client sẽ chuyển gói dữ liệu đó thành các dạng thông tin phù hợp để sử dụng
Trang 2525
3, Kết quả mô phỏng
Kết quả nhận được là thông tin về người dùng, sau đó được biến đổi thành kiểu dữ liệu string để hiển thị lên Web
Trang 26TRÍCH DẪN
[1] https://jobs.hybrid-technologies.vn/blog/tim-hieu-ve-ngon-ngu- xml/#Cau_truc_cua_mot_file_XML_dien_hinh
[2] https://itnavi.com.vn/blog/file-xml-la-gi
[3] https://vietnix.vn/xml-la-gi/
[4] https://aws.amazon.com/vi/what-is/xml/