Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động - Bài 2: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động (Phần I)

Nội dung

Tìm hiểu LinQ

Tổng quan

Môi trường hỗ trợ LinQ

Cách truy vấn:

Dùng LinQ đọc danh sách đối tượng và thực hiện truy vấn

Dùng LinQ đọc dữ liệu XML và thực hiện truy vấn

Hướng dẫn xây dựng Web Service dùng API RESTful Service

 

ppt 44 trang yennguyen 3440
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động - Bài 2: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động (Phần I)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động - Bài 2: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động (Phần I)

Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động - Bài 2: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động (Phần I)
 Bài 2: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động – P hần 1 
Ngành Mạng & Thiết bị di động 
www.t3h.vn 
Tìm hiểu LinQ 
Tổng quan 
Môi trường hỗ trợ LinQ 
Cách truy vấn: 
Dùng LinQ đọc danh sách đối tượng và thực hiện truy vấn 
Dùng LinQ đọc dữ liệu XML và thực hiện truy vấn 
Hướng dẫn xây dựng Web Service dùng API RESTful Service 
Nội dung 
Xây dựng và triển khai Web Service cho ứng dụng di động 
2 
1.1 Tổng quan 
Xây dựng và triển khai Web Service cho ứng dụng di động 
3 
LinQ là gì? 
LINQ là tên viết tắt của Language Integrated Query (ngôn ngữ truy vấn thông minh). 
Là một tập hợp các thành phần mở rộng cho phép viết các câu truy vấn dữ liệu ngay trong một ngôn ngữ lập trình, như C# hoặc VB.NET . 
Là một mô hình ORM (Object-relational mapping) hỗ trợ lập trình CSDL hướng đối tượng mạnh mẽ . 
Cú pháp đơn giản, dễ hiểu. 
Có thể hiển thị, binding trực tiếp lên các giao diện . 
1.1 Tổng quan 
Xây dựng và triển khai Web Service cho ứng dụng di động 
4 
LinQ là gì? 
Chú ý: 
LINQ không làm tăng tốc độ thực thi chương trình mà nó giúp viết mã lệnh nhanh hơn và dễ quản lý mã hơn. 
Có thể kết hợp LINQ với ADO.Net để truy vấn. 
1.1 Tổng quan 
Xây dựng và triển khai Web Service cho ứng dụng di động 
5 
Mô hình kiến trúc LinQ 
1.1 Tổng quan 
Xây dựng và triển khai Web Service cho ứng dụng di động 
6 
Có các loại LinQ sau: 
LINQ To Objects. 
LINQ To XML ( XLINQ) . 
 Có thể kết hợp với ADO.Net để truy vấn: 
LINQ To Dataset. 
LINQ To SQL (DLINQ). 
LINQ To Entities. 
1.2 Môi trường hỗ trợ LinQ 
Xây dựng và triển khai Web Service cho ứng dụng di động 
7 
Có nhiều công cụ hỗ trợ LinQ, nhưng Visual Studio là công cụ hỗ trợ được sử dụng phổ biến và mạnh mẽ nhất hiện nay (từ Visual Studio 2008 trở đi). 
LinQ được hỗ trợ trên nền tảng .NET 3.5 trở lên . 
Để sử dụng LINQ phải khai báo thư viện System.LinQ . 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
8 
LINQ có 2 kiểu truy vấn LinQ: 
Lamda (Method) Syntax 
Ví dụ: 
var doDaiToiDas = dodais. Where ( d => d. length > 10); 
Query (Comprehension) Syntax 
 Ví dụ: 
var doDaiToiDas = from d in dodais where d. length > 10; 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
9 
Các biểu thức truy vấn (Query Expressions ) của LINQ với các từ khóa Select, From, Where và OrderBy tương tự như cú pháp truy vấn của SQL. 
Ví dụ: 
// Tạo một mảng kiểu int chứa các điểm số 
int[] diems = new int[] { 7, 8, 10, 9}; 
// Sử dụng cú pháp truy vấn của LINQ để lấy danh sách điểm trên 8 điểm 
IEnumerable diemQuery = from diem in diems where diem > 80 select diem ; 
// Xử lý hiển thị ra màn hình 
foreach (int i in diemQuery) { 
	Console.Write(i + " "); 
} Console.ReadLine(); 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
10 
Các phương thức truy vấn mở rộng (Extension Methods ) 
Các phương thức này chỉ được khai báo trong các lớp tĩnh (static class) 
Được sử dụng để biên dịch các biểu thức truy vấn ( Query Expressions) thành các phương thức gọi truyền thống (object-oriented). 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
11 
Các toán tử truy vấn (Query Operators ) 
LINQ có các toán tử truy vấn cơ bản sau: Filtering (lọc), Join (nối), Projection (phép chiếu), Sorting (sắp xếp) , Grouping (gom nhóm), Conversions (chuyển đổi), Concatenation (ghép nối), Aggregation (kết hợp), Quantifier (toán tử định lượng) , Partition (phân hoạch), Generation , Set , Equality (bằng nhau), Element. 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
12 
Các toán tử truy vấn (Query Operators ) 
Toán tử lọc ( Filtering Operators) 
Sử dụng từ khóa: where 
Dùng để lọc các giá trị theo yêu cầu. 
Ví dụ: 
string[] cacTu= { “toi", “yeu", “lap", “trinh"}; 
IEnumerable query = from tu in cacTu where 
 tu. Length == 3 select tu; 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
13 
Các toán tử truy vấn (Query Operators ) 
Toán tử nối ( Join Operators): 
Cú pháp sử dụng: 
	Toán tử Join: 
	 join  in  on  equals  
	Toán tử GoupJoin: 
	 join  in  on  equals  into  
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
14 
Các toán tử truy vấn (Query Operators ) 
Toán tử nối ( Join Operators): 
	Ví dụ sử dụng toán tử Join: 
	 var danhSachNV = (from nv in nhanviens 
 join p in phongbans on 
 nv.PhongBanId equals d.PhongBanId 
 select new 
 { 
 TenNhanVien = nv.TenNhanVien, 
 TenPhongBan = d.TenPB 
 }); 	 	 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
15 
Các toán tử truy vấn (Query Operators ) 
Phép chiếu (Projection Operations) 
	 Sử dụng từ khóa: select 
	 Có 2 dạng: select và SelectMany 
Ví dụ sử dụng select: 
List dsCacTu = new List() { “chu", “meo", “con" }; 
 var query = from tu in dsCacTu select tu.Substring(0, 1); 
Ví dụ sử dụng SelectMany: 
List dsCacCumTu = new List() { “chu meo con", “chay lon ton trong san" }; 
var query = from cumTu in dsCacCumTu from tu in 
 cumTu.Split(' ') select tu; 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
16 
Các toán tử truy vấn (Query Operators ) 
Sắp xếp (Sorting Operators ) 
	 Có 5 loại: 
	 OrderBy 
	 OrderByDescending: orderby ... descending 
	ThenBy: orderby ,  
	 ThenByDescending: orderby ,  descending 
	 Reverse 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
17 
Các toán tử truy vấn (Query Operators ) 
Sắp xếp (Sorting Operators ) 
Ví dụ: 
int[] num = { -20, 12, 6, 10, 0, -3, 1 }; 
// Sắp xếp dãy số trên thứ tự tăng dần 
var daySo = from n in num orderby n select n; 
// Sắp xếp dãy số trên theo thứ tự giảm dần 
var daySoTangDan = from n in num orderby n descending select n; 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
18 
Các toán tử truy vấn (Query Operators ) 
Gom nhóm (Grouping Operators ) 
GroupBy 
	 group  by 
	Hoặc: 
	 group  by  into  
ToLookup 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
19 
Các toán tử truy vấn (Query Operators ) 
Conversions 
AsEnumerable 
AsQueryable 
Cast 
OfType 
ToArray 
ToDictionary 
ToList 
ToLookup 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
20 
Các toán tử truy vấn (Query Operators ) 
Concatenation 
Concat 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
21 
Các toán tử truy vấn (Query Operators ) 
Aggregation 
Aggregate 
Average 
Count 
LonCount 
Max 
Min 
Sum 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
22 
Các toán tử truy vấn (Query Operators ) 
Quantifier Operations 
All 
Any 
Contains 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
23 
Các toán tử truy vấn (Query Operators ) 
Partition Operators 
Skip 
SkipWhile 
Take 
TakeWhile 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
24 
Các toán tử truy vấn (Query Operators ) 
Generation Operations 
DefaultIfEmpty 
Empty 
Range 
Repeat 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
25 
Các toán tử truy vấn (Query Operators ) 
Set Operations 
Distinct 
Except 
Intersect 
Union 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
26 
Các toán tử truy vấn (Query Operators ) 
Equality 
SequenceEqual 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
27 
Các toán tử truy vấn (Query Operators ) 
Element Operators 
ElementAt 
ElementAtOrDefault 
First 
FirstOrDefault 
Last 
LastOrDefault 
Single 
SingleOrDefault 
DefaultIfEmpty 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
28 
LINQ To Objects 
Là c ách sử dụn g LINQ đối với các đối tượng Collection mà đã được thực thi giao diện IEnumerable hoặc IEnumerable 
L à trường hợp sử dụng đơn giản nhất của LINQ khi làm việc với dữ liệu. 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
29 
LINQ To Objects 
Ví dụ: 
namespace LINQtoObjects{ 
 class HocVien{ 
 static void Main(string[] args){ 
 string[] tenHocViens = { “Tí", “Tèo", “Bin", “Bo", “Bom" }; 
 var list = from t in tenHocViens select t; 
 StringBuilder sb = new StringBuilder(); 
 foreach (string s in list) { 
 sb.Append(s + Environment.NewLine); 
 } 
 Console.WriteLine(sb.ToString()); 
 Console.ReadLine(); 
 } 
 } 
} 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
30 
LINQ To XML 
 Sử dụng LINQ với mục đích truy vấn file XML. 
 Có các phương thức hỗ trợ sau: Xattribute, XCData, Xcomment, Xcontainer, Xdeclaration, Xdocument, XDocumentType, Xelement, Xname, Xnamespace, Xnode, XNodeDocumentOrderComparer, XNodeEqualityComparer, Xobject, XObjectChange, XObjectChangeEventArgs, XObjectEventHandler, XProcessingInstruction, Xtext. 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
31 
LINQ To XML 
 Ví dụ sử dụng LINQ để đọc tập tin XML: 
//Khai báo các thư viện 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Xml.Linq; 
1.3 Cách truy vấn 
Xây dựng và triển khai Web Service cho ứng dụng di động 
32 
LINQ To XML 
 Ví dụ sử dụng LINQ để đọc tập tin XML: 
namespace LINQtoXML { 
class MinhHoaDocXML { 
 static void Main(string[] args) { 
 string myXML = @" Account 
 SalesPre-Sales 
 Marketing "; 
	XDocument xdoc = new XDocument(); 
 xdoc = XDocument.Parse(myXML); 
 var result = xdoc.Element("Departments").Descendants(); 
 foreach (XElement item in result) { 
 Console.WriteLine("Department Name - " + item.Value); } } } } 
Tìm hiểu LinQ 
Hướng dẫn xây dựng Web Service dùng API RESTful Service 
Giới thiệu về ASP.NET Web API 
Giới thiệu cơ bản về RESTful Service 
Các nguyên tắc cơ bản để tạo ra RESTful Service 
Xây dựng Web Service 
Nội dung 
Xây dựng và triển khai Web Service cho ứng dụng di động 
33 
2. 1 Giới thiệu về ASP.NET Web API 
Xây dựng và triển khai Web Service cho ứng dụng di động 
34 
ASP.NET Web API là gì? 
Là framework giúp chúng ta tạo ra các Web API - API trên nền web (HTTP). 
Web API là các dịch vụ Web (Web service ) được xây dựng dựa trên HTTP sử dụng mô hình lập trình convention ( như ASP.NET MVC ) . 
2. 1 Giới thiệu về ASP.NET Web API 
Xây dựng và triển khai Web Service cho ứng dụng di động 
35 
 Đặc điểm Web API (.NET 4.0 trở lên) 
G iúp cho việc xây dựng các HTTP service rất đơn giản , nhanh chóng 
Mã nguồn mở ( Open Source ) và có thể được sử dụng bởi bất kì client nào hỗ trợ XML, JSON . 
Hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content formats . 
Có thể host trong ứng dụng hoặc trên IIS . 
Kiến trúc lý tưởng cho các thiết bị có băng thông giới hạn như các thiết bị di động. 
Định dạng dữ liệu có thể là JSON, XML hoặc một kiểu dữ liệu bất kỳ . 
2. 1 Giới thiệu về ASP.NET Web API 
Xây dựng và triển khai Web Service cho ứng dụng di động 
36 
 Đặc điểm Web API (.NET 4.0 trở lên) 
Làm mới và hiện đại hóa các mẫu dự án mặc định 
Mẫu dự án trên điện thoại di động 
Nhiều tính năng mới để hỗ trợ các ứng dụng di động 
Tùy chỉnh sinh mã (code). 
Tăng cường hỗ trợ cho các phương pháp bất đồng bộ 
Đọc danh sách đầy đủ tính năng trong các ghi chú phát hành 
2. 1 Giới thiệu về ASP.NET Web API 
Xây dựng và triển khai Web Service cho ứng dụng di động 
37 
Ưu điểm của Web API 
Cấu hình đơn giản hơn nhiều so với WCF. 
Hiệu suất (performance) cao. 
Hỗ trợ RESTfull đầy đủ. 
Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model binder, IoC container, dependency injection, unit test,  
Mã nguồn mở (Open source). 
2. 2 Giới thiệu cơ bản về RESTful Service 
Xây dựng và triển khai Web Service cho ứng dụng di động 
38 
Là một dịch vụ web đơn giản sử dụng HTTP và tính chất của REST. 
Nó tuân thủ theo 4 nguyên tắc thiết kế cơ bản sau: 
Sử dụng các phương thức HTTP một cách rõ r à ng 
Phi trạng thái 
Hiển thị cấu trúc thư mục như URls 
Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai. 
2 . 3 Nguyên tắc cơ bản để tạo ra RESTful Service 
Xây dựng và triển khai Web Service cho ứng dụng di động 
39 
4 nguyên tắc thiết kế cơ bản sau: 
Sử dụng các phương thức HTTP một cách rõ r à ng 
T hiết lập một ánh xạ 1-1 giữa các hành động : tạo, đọc, cập nhật và xoá (CRUD) các quá trình vận hành và các phương thức HTTP : 
POST - T ạo một tài nguyên trên máy chủ 
GET - T ruy xuất một tài nguyên 
PUT - T hay đổi trạng thái một tài nguyên hoặc để cập nhật nó 
DELETE - H uỷ bỏ hoặc xoá một tài nguyên 
Xây dựng và triển khai Web Service cho ứng dụng di động 
40 
4 nguyên tắc thiết kế cơ bản sau: 
Phi trạng thái 
Ví dụ: 
Thiết kế trạng thá i: 
Thiết kế phi trạng thái: 
2 . 3 Nguyên tắc cơ bản để tạo ra RESTful Service 
Xây dựng và triển khai Web Service cho ứng dụng di động 
41 
4 nguyên tắc thiết kế cơ bản sau: 
Hiển thị cấu trúc thư mục như URls 
C ấu trúc địa chỉ của RESTful service: 
Giấu các đuôi tài liệu mở rộng của bản gốc trong máy chủ (.jsp, .php, .asp) . 
Để mọi thứ là chữ thường. 
Thay thế các khoảng trống bằng gạch chân hoặc gạch nối (một trong hai loại). 
Tránh các chuỗi yêu cầu. 
Thay vì sử dụng mã (404 Not Found) khi yêu cầu địa chỉ cho một phần đường dẫn thì luôn luôn cung cấp một trang mặc định hoặc tài nguyên như một phản hồi. 
2 . 3 Nguyên tắc cơ bản để tạo ra RESTful Service 
Xây dựng và triển khai Web Service cho ứng dụng di động 
42 
4 nguyên tắc thiết kế cơ bản sau: 
Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai . 
Là một bản tóm tắt các thuộc tính của những thứ trong mô hình dữ liệu hệ thống. 
Định dạng dữ liệu mà ứng dụng và trao đổi dịch vụ trong mức đáp ứng yêu cầu/ phản hồi hoặc trong phần thân của HTTP. 
Các chủ thể trong mô hình dữ liệu có liên quan với nhau. 
Cấu trúc dịch vụ sao cho nó tận dụng được phần đầu chấp nhận HTTP có sẵn bên trong – một loại MIME 
2 . 3 Nguyên tắc cơ bản để tạo ra RESTful Service 
2. 4 Xây dựng Web Service 
Xây dựng và triển khai Web Service cho ứng dụng di động 
43 
Bước 1: 
Khởi động Visual Studio → tạo một project ASP.NET Web Application và chọn template Web API. 
Bước 2: 
T ạo Data Model sử dụng Entity Framework để W eb API service có thể tương tác CRUD (Create, Read, Update, Delete) dữ liệu được. 
Bước 3: Tạo ra các Web API 
Nhấp chuột phải vào thư mục Controllers và chọn thêm controller. 
Web API 2 Controller Empty : tự viết các phương thức từ đầu . 
Web API 2 Controller with read/write actions : phát sinh các phương thức ví dụ để bạn có thể biết cách viết các service này. 
Bước 4: Chạy thử và kiểm tra. 
Xây dựng và triển khai Web Service cho ứng dụng di động 
44 

File đính kèm:

  • pptbai_giang_xay_dung_va_trien_khai_web_service_cho_ung_dung_di.ppt