Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh
TRUNG TÂM TIN HỌC
Bài 1: Giới thiệu về Web Service cho
ứ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 về dịch vụ Web (Web Service)
• Giới thiệu dịch vụ Web
• Giới thiệu các cơng nghệ xây dựng dịch vụ Web
• Đặc điểm của dịch vụ Web
• Kiến trúc của dịch vụ Web
• Các thành phần chính của dịch vụ Web
• An toàn cho dịch vụ Web
• Xây dựng mợt dịch vụ Web
• Tích hợp dịch vụ Web theo chuẩn
2. Giới thiệu về IIS (Internet Information Service)
Xây dựng và triển khai Web Service cho ứng dụng di động
2
1.1 Giới thiệu các loại dịch vụ
Web
Dịch vụ Web (Web Service)
là gì?
Là sự kết hợp các ứng dụng
trên máy tính cá nhân, thiết
bị di động với ứng dụng
trên các thiết bị khác, các
cơ sở dữ liệu và các mạng
máy tính để tạo thành một
cơ cấu tính toán hoàn hảo
mà người sử dụng có thể
làm việc, yêu cầu, phân
tích, khai thái, cập nhật,…
thông tin với nó thông qua
mạng Internet hoặc Wifi.
Xây dựng và triển khai Web Service cho ứng dụng di động
3
1.1 Giới thiệu các loại dịch vụ
Web
Theo định nghĩa của W3C (World Wide Web Consortium):
•Dịch vụ Web là mợt hệ thống phần mềm được thiết kế để hỗ
trợ khả năng tương tác giữa các ứng dụng trên các máy tính
khác nhau thông qua mạng Internet, giao diện chung và sự
gắn kết của nó được mơ tả bằng XML.
•Là tài ngun phần mềm có thể xác định bằng địa chỉ URL.
•Thực hiện các chức năng và đưa ra các thông tin người dùng
yêu cầu.
•Ưng dụng cơ bản của Dịch vụ Web là tích hợp các hệ thống.
•Các ứng dụng được tích hợp với cơ sở dữ liệu và các ứng
dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến hành
phân tích và lấy dữ liệu.
Xây dựng và triển khai Web Service cho ứng dụng di động
4
1.2 Các công nghệ xây dựng dịch vụ
Web
Phân loại theo Công nghệ sử dụng để xây dựng dịch vụ
Web cho ứng dụng di động dùng .NET Framwork (phiên
bản 4.5.3), hiện nay có các cơng nghệ chính sau:
•
•
•
•
Web Service
WCF Service
WCF REST Service
Web API Service
Xây dựng và triển khai Web Service cho ứng dụng di động
5
1.3 Đặc điểm của dịch vụ Web
Ưu điểm
•Cung
cấp khả năng hoạt động rộng lớn với các ứng dụng phần
mềm khác nhau chạy trên những nền tảng khác nhau.
•Sử dụng các giao thức và chuẩn mở.
•Nâng cao khả năng tái sử dụng.
•Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại.
•Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành
phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng
phân tán.
•Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ
giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu
dựng và triển khai Web Service cho ứng dụng di động
quả với hệ thống của Xâycác
doanh nghiệp khác.
6
1.3 Đặc điểm của dịch vụ Web
Khuyết điểm
•Vào những khoảng thời gian chết của Web service
sẽ dẫn
đến những thiệt hại lớn:
Giao diện không thay đổi
Có thể lỗi nếu một máy khách không được nâng cấp
Thiếu các giao thức cho việc vận hành
•Có quá nhiều chuẩn cho Web Service khiến người dùng khó
nắm bắt.
•Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.
Xây dựng và triển khai Web Service cho ứng dụng di động
7
1.4 Kiến trúc của dịch vụ Web
Mô hình hoạt động của dịch vụ Web
Xây dựng và triển khai Web Service cho ứng dụng di động
8
1.4 Kiến trúc của dịch vụ Web
Dịch vụ Web gồm có 4 chuẩn chính:
• SOAP (Simple Object Access Protocol)
• WSDL (Web Service Description Language)
• UDDI (Universal Description, Discovery, and
Integration)
• REST (Representational State Tranfer)
Xây dựng và triển khai Web Service cho ứng dụng di động
9
1.4 Kiến trúc của dịch vụ Web
Xây dựng và triển khai Web Service cho ứng dụng di động
10
1.4 Kiến trúc của dịch vụ Web
Dịch vụ Web 1.0: dùng SOAP
Xây dựng và triển khai Web Service cho ứng dụng di động
11
1.4 Kiến trúc của dịch vụ Web
SOAP ?
•
SOAP là mợt giao thức giao tiếp có cấu trúc như XML và
mã hóa thành định dạng chung cho các ứng dụng trao
đổi với nhau.
•
•
Ý tưởng bắt đầu từ Microsoft và phần mềm Userland.
Một đặc tả việc sử dụng các tài liệu XML theo dạng các
thơng điệp.
•
Đặc tả về SOAP định nghĩa mợt mô hình trao đổi dữ liệu
dựa trên 3 khái niệm cơ bản: Các thông điệp là các tài
liệu XML, chúng được truyền đi từ bên gửi đến bên nhận,
bên nhận có thể chuyển tiếp dữ liệu đến nơi khác.
Xây dựng và triển khai Web Service cho ứng dụng di động
12
1.4 Kiến trúc của dịch vụ Web
Đặc trưng của SOAP
-
SOAP được thiết kế đơn giản và dễ mở rộng.
-
Tất cả các message SOAP đều được mã hóa sử dụng
XML.
-
SOAP sử dùng giao thức truyền dữ liệu riêng.
-
Không có garbage collection phân tán, và cũng không
có cơ chế tham chiếu. Vì thế SOAP client không giữ bất
kỳ một tham chiếu đầy đủ nào về các đối tượng ở xa.
-
SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình
nào hoặc công nghệ nào.
Xây dựng và triển khai Web Service cho ứng dụng di động
13
1.4 Kiến trúc của dịch vụ Web
Hệ thống Soap đơn giản
Cấu trúc thông điệp SOAP
Xây dựng và triển khai Web Service cho ứng dụng di động
14
1.4 Kiến trúc của dịch vụ Web
Dịch vụ Web 2.0: dùng REST
4 nguyên tắc thiết kế cơ bản:
•Sử dụng phương thức HTTP rõ ràng.
•Phi trạng thái.
•Hiển thị cấu trúc thư mục URIs
•Chuyển đổi JSON/ XML hoặc cả hai.
Xây dựng và triển khai Web Service cho ứng dụng di động
15
1.4 Kiến trúc của dịch vụ Web
REST ?
REST (Representational State Tranfer) là một kiến trúc phần
mềm cho các hệ thống phân tán siêu truyền thông như WWW,
được chọn sử dụng rộng rãi thay cho Web service dựa trên
Đặc trưng
của REST
SOAP
và WSDL.
•
•
•
•
•
•
Là dạng client – server.
Phân tách giao diện của client ra khỏi dữ liệu.
Cho phép mỗi thành phần phát triển độc lập.
Hỗ trợ đa nền tảng.
Mỗi yêu cầu từ client phải có đủ thông tin cần thiết để
server có thể hiểu được mà không cần phải lưu trữ
thêm thông tin nào trước đó.
Tất cả tài nguyên được truy cập thông qua một
interface thống nhất (HTTP GET, PUT, POST,
Xây dựng và triển khai Web Service cho ứng dụng di động
16
1.5 Các thành phần chính của dịch vụ
Web
XML – eXtensible Markup Language/ JSON
(JavaScript Object Notation)
WSDL – Web Service Description Language
Universal
Description,
Discovery,
and
Integration (UDDI)
SOAP – Simple Object Access Protocol
RSS – Really Simple Syndication
RDF – Resource Description Framework
RESTful - Representational State Transfer
WADL - Web Application Description Language
Xây dựng và triển khai Web Service cho ứng dụng di động
17
1.5 Các thành phần chính của dịch vụ
Web
XML – eXtensible Markup Language
•
Mợt ch̉n mở do W3C đưa ra cho cách thức mơ tả dữ
liệu
•
Dùng để định nghĩa các thành phần dữ liệu trên trang
web và cho những tài liệu B2B.
•
Kiến trúc nền tảng cho việc xây dựng mợt Web service,
liệu sẽ được
chuyển
sang định dạng thẻ XML hoặc
JSON dữ
(JavaScript
Object
Notation)
•
JSON.dữ liệu theo ngơn ngữ JavaScript, tiêu ch̉n
Định nghĩa
ECMA-262 năm 1999.
•
Cấu trúc 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.
•
Là cấu trúc dữ liệu phổ dụng hiện nay.
Xây dựng và triển khai Web Service cho ứng dụng di động
18
1.5 Các thành phần chính của dịch vụ
Web
WSDL – Web Service Description Language Universal
Description, Discovery, and Integration (UDDI): định
nghĩa một tài liệu XML mô tả giao diện của các dịch vụ
web.
Xây dựng và triển khai Web Service cho ứng dụng di động
19
1.5 Các thành phần chính của dịch vụ
Web
RESTful - Representational State Transfer
-
Là một dịch vụ web đơn giản sử dụng HTTP và
tính chất của REST.
-
Là một tập tài nguyên các thành phần được định
nghĩa:
o URI gốc cho dịch vụ web.
o MIME type hỗ trợ bởi dịch vụ web.
o Tập hành động hỗ trợ bởi dịch vụ web sử dụng
phương thức HTTP (GET, POST, PUT, DELETE).
Xây dựng và triển khai Web Service cho ứng dụng di động
20
1.5 An toàn cho dịch vụ Web
Việc đảm bảo an toàn cho dịch vụ Web là một vấn đề
quan trọng.
Đảm bảo an toàn cho Web Service:
•
WS-Security (bảo mật cho Web service) - chuẩn an toàn
bao trùm cho SOAP, nó được dùng khi muốn xây dựng
những Web service toàn vẹn và tin cậy.
•
Các
thành
phần
được
thêm
vào:
WS-Secure
Conversation Describes, WS-Authentication Describes,
WS-Policy Describes hay WS-Trust Describes, ...
Xây dựng và triển khai Web Service cho ứng dụng di động
21
1.6 Xây dựng một dịch vụ Web
Có 4 giai đoạn chính để xây dựng một dịch vụ
Web
•
Giai đoạn xây dựng: phát triển và chạy thử ứng dụng
dịch vụ Web, xây dựng các chức năng và định nghĩa dịch
vụ. Có 2 cách :
o Red-path- solod
o
•
•
•
Blue-path-dashed
Giai đoạn triển khai
Giai đoạn tiến hành
Giai đoạn quản ly
Xây dựng và triển khai Web Service cho ứng dụng di động
22
1.6 Xây dựng một dịch vụ Web
Có 4 giai đoạn chính để xây dựng một dịch vụ
Web
•
•
Giai đoạn xây dựng
Giai đoạn triển khai công bố định nghĩa dịch vụ,
xây dựng WSDL và triển khai mã thực thi của dịch
vụ Web.
•
Giai đoạn tiến hành tìm kiếm và gọi thực thi dịch
vụ Web bởi những người sử dụng dịch vụ.
•
Giai đoạn quản ly quản lý và quản trị dịch vụ,
duy trì sự ổn định của dịch vụ, cập nhật thông tin
mới, sửa lỗi Xây
khi
xảy
ra.cho ứng dụng di động
dựng nó
và triển khai
Web Service
23
1.6 Xây dựng một dịch vụ Web
Qui trình xây dựng một dịch vụ Web bao gồm các
bước sau:
1. Định nghĩa và xây dựng các chức năng, các dịch vụ
mà dịch vụ sẽ cung cấp.
2. Tạo WSDL cho dịch vụ.
3. Xây dựng SOAP hoặc REST server
4. Đăng ký WSDL với UDDI registry để cho phép các
client có thể tìm thấy và truy xuất.
5. Client nhận tập tin WSDL và từ đó xây dựng SOAP
hoặc REST client để có thể kết nối với SOAP hoặc
REST server
6. Xây dựng ứng dụng phía client và sau đó gọi thực
Xây dựng và triển khai Web Service cho ứng dụng di động
24
1.7 Tích hợp dịch vụ Web theo
chuẩn
Giám sát (monitoring)
Giám sát các dịch vụ Web chạy như thế nào qua toàn bộ
mạng, từ một chi nhánh con của một công ty trên mạng tới
các chi nhánh khác trong công ty hay giao tiếp với doanh
nghiệp
khác.
Xác định
đường đi dữ liệu (Data
routing)
Hướng tới tối đa hóa khả năng sử dụng lại.
Những thể hiện của cùng một thành phần có thể dễ dàng
được sử dụng lại trong các ứng dụng phân tán khác bởi vì
chúng hoàn toàn độc lập và không phụ thuộc lẫn nhau.
Xây dựng và triển khai Web Service cho ứng dụng di động
25