Tải bản đầy đủ (.pdf) (36 trang)

Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động Bài 4: Tương tác giữa Web Services với ứng dụng trên thiết bị di động

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 (990.93 KB, 36 trang )

Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh
TRUNG TÂM TIN HỌC

Bài 4: Tương tác giữa Web Service
với ứng dụng trên thiết bị di động
Ngành Mạng & Thiết bị di động
www.t3h.vn

2015


Nội dung
1. Giới thiệu các dạng dữ liệu tương tác giữa Web

Service với ứng dụng trên TBDĐ
2. Tổng quan về JSON
3. Tạo JSON bằng .Net Web Service
4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Xây dựng và triển khai Web Service cho ứng dụng di động

2


1. Giới thiệu các dạng dữ liệu tương tác giữa
Web Service với ứng dụng trên TBDĐ
XML - eXtensible Markup Language






Là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị.
Là một dạng chuẩn cho phép lưu các thông tin hướng cấu trúc,
được tổ chức dưới dạng thẻ (tag) tương ứng.

Các thẻ (tag) của XML thường không được định nghĩa trước mà
chúng được tạo ra theo quy ước của người, (hoặc Chương trình)




tạo ra XML theo những quy ước của chính người tạo.

Giúp đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác
nhau, đặc biệt là các hệ thống được kết nối với Internet.
Sử dụng các khai báo kiểu dữ liệu DTD (Document Type Definition)

hay lược đồ Schema để mô tả dữ liệu.
Xây dựng và triển khai Web Service cho ứng dụng di động

3


1. Giới thiệu các dạng dữ liệu tương tác giữa
Web Service với ứng dụng trên TBDĐ
XML - eXtensible Markup Language
Ví dụ:
<cacthanhphan>
<the1>



</the1>
</cacthanhphan>

Xây dựng và triển khai Web Service cho ứng dụng di động

4


1. Giới thiệu các dạng dữ liệu tương tác giữa
Web Service với ứng dụng trên TBDĐ
JSON - JavaScript Object Notation
Định nghĩa dữ liệu theo ngôn ngữ JavaScript, tiêu chuẩn ECMA262 năm 1999.

Là một định dạng văn bản đơn giản với các trường dữ liệu được
lồng vào nhau.

Xây dựng và triển khai Web Service cho ứng dụng di động

5


Nội dung
1. Giới thiệu các dạng dữ liệu tương tác giữa Web

Service với ứng dụng trên TBDĐ

2. Tổng quan về JSON








JSON là gì?
Tạo sao nên sử dụng JSON?
Cú pháp JSON

Cấu trúc xây dựng JSON
Các kiểu dữ liệu JSON

3. Tạo JSON bằng .Net Web Service

4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Xây dựng và triển khai Web Service cho ứng dụng di động

6


2. 1 JSON là gì?
JSON - JavaScript Object Notation



Định nghĩa dữ liệu theo ngôn ngữ JavaScript, tiêu chuẩn
ECMA-262 năm 1999.




Là một định dạng văn bản đơn giản với các trường dữ
liệu được lồng vào nhau.



Dùng để trao đổi dữ liệu giữa các thành phần của một
hệ thống tương thích với hầu hết các ngôn ngữ C, C++,

C#, Java, JavaScript, Perl, Python...

Xây dựng và triển khai Web Service cho ứng dụng di động

7


2. 2 Tại sao nên sử dụng JSON?




Có thể đọc hiểu và dễ dàng tiếp cận (human-readability).
Dữ liệu truyền tải ngắn gọn so với những định dạng dữ liệu khác

như: XML, HTML, … → Tiết kiệm dung lượng hơn XML, HTML,...



Dễ dàng chuyển đổi (parse) dữ liệu từ dạng chuỗi (nhận từ server)
sang dữ liệu có thể sử dụng được (thành Object, Number, Array).





Dễ truy cập nội dung.
Với những ứng dụng AJAX lấy và xử lý dữ liệu từ 1 web service nào
đó khác domain. Nếu nội dung trả về có dạng JSON thì javascript

từ trang web của chúng ta có thể trực tiếp truy cập (dùng lệnh
eval).



Có cách phân tích xử lý đơn giản, chỉ qua 1 bước (chuyển chuỗi
nhận được từ máy chủ sang dữ liệu có thể sử dụng được)
Xây dựng và triển khai Web Service cho ứng dụng di động

8


2. 3 Cú pháp JSON?
Cú pháp JSON là một tập hợp con của cú pháp đối tượng JavaScript:






Dữ liệu là các cặp tên/giá trị (name/values)
Dữ liệu được phân cách bằng dấu phẩy

Đối tượng nằm trong cặp ngoặc nhọn „{}‟

Dấu ngoặc vuông giữ mảng „[]‟

Để kiểm tra cú pháp chuỗi JSON, chúng ta có thể truy cập vào trang
để kiểm tra.

Xây dựng và triển khai Web Service cho ứng dụng di động

9


2. 3 Cú pháp JSON?
Cặp tên và giá trị (name & values) của JSON

• Dữ liệu JSON được viết trong cặp Tên/Giá trị.
• Một cặp Tên/Giá trị chứa tên 1 trường (trong dấu nháy đôi “”),
theo sau là dấu phẩy, cuối cùng là giá trị.
Ví dụ:

"ten" : "An"

Xây dựng và triển khai Web Service cho ứng dụng di động

10


2. 3 Cú pháp JSON?
Tập tin JSON (JSON Files)





Kiểu tập tin (file) của JSON là ".json"
Kiểu MIME của JSON là "application/json"

Xây dựng và triển khai Web Service cho ứng dụng di động

11


2. 3 Cấu trúc xây dựng JSON
Được xây dựng trên 2 cấu trúc chính:



Tập hợp của các cặp tên và giá trị name-value
Các kiểu thể hiện:
1 đối tượng (object), sự ghi (record), cấu trúc (struct), từ điển
(dictionary), bảng băm (hash table), danh sách khoá (keyed

list), hay mảng liên hợp.



Tập hợp các giá trị đã được sắp xếp
Các kiểu thể hiện:
1 mảng, véc tơ, tập hợp hay là 1 dãy tuần tự (sequence).

Xây dựng và triển khai Web Service cho ứng dụng di động


12


2. 4 Các kiểu dữ liệu JSON
JSON có 5 kiểu dữ liệu chính:

• Kiểu số (Number)
• Kiểu chuỗi (String)
• Kiểu mảng (Array)
• Kiểu đối tượng (Object)
• Giá trị (Value)

Xây dựng và triển khai Web Service cho ứng dụng di động

13


2. 4 Các kiểu dữ liệu JSON
Kiểu đối tượng (Object)




1 đối tượng là 1 hổn độn của các cặp tên và giá trị.
1 đối tượng bắt đầu bởi dấu ngoặc đơn trái { và kết thúc với

dấu ngoặc đơn phải }.




Từng tên được theo sao bởi dấu 2 chấm (:) và các cặp
tên/giá trị được tách ra bởi dấu phẩy (,).



1 đối tượng có thể chứa nhiều cặp tên/giá trị (Name/Values)

Xây dựng và triển khai Web Service cho ứng dụng di động

14


2. 4 Các kiểu dữ liệu JSON
Kiểu đối tượng (Object)

Ví dụ:
{ “ten":“An" , “ho":“Nguyen" }

Xây dựng và triển khai Web Service cho ứng dụng di động

15


2. 4 Các kiểu dữ liệu JSON
Kiểu mảng (Array)





1 mảng là 1 tập hợp các giá trị đã được sắp xếp.
1 mảng bắt đầu bởi dấu mở ngoặc vuông [ và kết thúc với

dấu ngoặc vuông phải ].




Các giá trị được cách nhau bởi dấu phẩy (,).
1 mảng có thể chứa nhiều đối tượng.

Xây dựng và triển khai Web Service cho ứng dụng di động

16


2. 4 Các kiểu dữ liệu JSON
Kiểu mảng (Array)



Ví dụ

{

"NhanVien":
[
{"tenNV":"An" , "hoNV":"Nguyễn" },

{"tenNV":"Bình" , "hoNV":"Trần" },

{"tenNV":"Châu" , "hoNV":"Lê" }
]

}

Xây dựng và triển khai Web Service cho ứng dụng di động

17


2. 4 Các kiểu dữ liệu JSON
Kiểu giá trị (Value)

•Giá trị JSON có thể là:
 1 số (nguyên (integer) hay số thực (floating point))

 1 chuỗi (nằm trong dấu nháy đôi "")
 1 số luận lý (true hoặc false)
 1 mảng (nằm trong dấu ngoặc vuông [])

 1 đối tượng (nằm trong dấu ngoặc nhọn {})
 Kiểu null

•Những cấu trúc này có thể đã được lồng vào nhau.

Xây dựng và triển khai Web Service cho ứng dụng di động

18



2. 4 Các kiểu dữ liệu JSON
Kiểu giá trị (Value)

Xây dựng và triển khai Web Service cho ứng dụng di động

19


2. 4 Các kiểu dữ liệu JSON
Kiểu chuỗi (String)

•1 chuỗi (string) là 1 tập hợp của các số hay mẫu tự Unicode, được
bao bọc trong các dấu trích dẫn kép (").

•Dùng dấu chéo (/) để thoát khỏi 1 chuỗi.
•1 ký tự đã được hiển thị như là 1 chuỗi ký tự đơn độc.

Xây dựng và triển khai Web Service cho ứng dụng di động

20


2. 4 Các kiểu dữ liệu JSON
Kiểu chuỗi (string)

Xây dựng và triển khai Web Service cho ứng dụng di động

21



2. 4 Các kiểu dữ liệu JSON
Kiểu số (Number)
Giống với kiểu số trong C và Java, trừ định dạng bát phân và hex là
không thể dùng.

Xây dựng và triển khai Web Service cho ứng dụng di động

22


2. 4 Các kiểu dữ liệu JSON
Ví dụ sử dụng các kiểu dữ liệu JSON
{

SVNganhCNTT:
[

{hoTen: “Nguyễn Văn An”, tuoi: 21, nam: true, queQuan: “Đồng Tháp”},
{hoTen: “Trần Văn Bình”, tuoi: 22, nam: true,queQuan:“Hồ Chí Minh”},

{hoTen: “Lê Thị Châu”, tuoi: 23, nam: false, queQuan: “Vĩnh Long” }
],

SVNganhCNSH:
[

{hoten: “Trần Văn Bông”, tuoi: 24, nam: true, queQuan: “Long An”},
{hoten: “Nguyễn Thị Hoa”, tuoi: 22, nam: false, queQuan: “Cần Thơ”},

]

}

Xây dựng và triển khai Web Service cho ứng dụng di động

23


2. 4 Các kiểu dữ liệu JSON
Phân tích ví dụ
- Tuoi (tuổi) kiểu dữ liệu là Number
- hoTen (họ tên) kiểu dữ liệu là String

- nam (giới tính) kiểu dữ liệu là Boolean
- SVNganhCNTT (sinh viên ngành CNTT), SVNganhCNSH (Sinh viên
ngành CNSH) kiểu dữ liệu làArray

- {hoTen: “Nguyễn Văn An”, tuoi: 21, nam: true, queQuan: “Đồng
Tháp”} là một kiểu Object
- hoTen : “Nguyễn Văn An” là một cặp giá trị của một Object, hoTen là

tên thuộc tính, “Nguyễn Văn An” là giá trị của thuộc tính đó
- SVNganhCNTT: [...] và SVNganhCNSH: [...] cũng được xem là những
cặp giá trị
Xây dựng và triển khai Web Service cho ứng dụng di động

24


Nội dung
1. Giới thiệu các dạng dữ liệu tương tác giữa Web


Service với ứng dụng trên TBDĐ

2. Tổng quan về JSON

3. Chuyển đổi giữa kiểu dữ liệu JSON và đối tượng .NET

(Serializing - Deserializing JSON)
● Cấu hình Web API Service chỉ trả về JSON

● Chuyển đổi từ đối tượng .NET sang chuỗi JSON ( Tạo chuỗi JSON)
● Chuyển đổi từ chuỗi JSON sang đối tượng .NET

4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Xây dựng và triển khai Web Service cho ứng dụng di động

25


×