Giáo trình Lập trình trên nền Web (Phần 2)

Khi phát triển các ứng dụng trên nền Web thì công việc chủ yếu phải giải quyết là

xử lý các nghiệp vụ, trong đó phần lớn là xử lý cơ sở dữ liệu. Trong môi trường phát triển

Microsoft .NET tất cả các ứng dụng Web Form hay Win Form đều thống nhất sử dụng

chung một bộ thư viện để truy xuất và thao tác cơ sở dữ liệu gọi là ADO.NET (Active

Data Object).

ADO.NET là một tập các lớp nằm trong bộ thư viện lớp cơ sở của .NET

Framework, cho phép các ứng dụng Windows (như C#, VB.NET) hay ứng dụng Web

(như ASP.NET) thao tác dễ dàng với các nguồn dữ liệu. Mục tiêu chính của ADO.NET

là:

- Cung cấp các lớp để thao tác cơ sử dữ liệu trong cả hai môi trường là phi kết nối

(Disconected data) và kết nối (Connected data).

- Tích hợp chặt chẽ với XML (Extensible Markup Language).

- Tương tác với nhiều nguồn dữ liệu thông qua mô tả dữ liệu chung.

- Tối ưu truy cập nguồn dữ liệu (OLE DB & SQL Server).

- Làm việc trên môi trường Internet.

ADO.NET bao gồm hai Provider (hai bộ thư viện) để thao tác với các cơ sở dữ liệu

là: OLE DB Provider (nằm trong System.Data.OLEDB) dùng để truy xuất đến cơ sở dữ

liệu nào có hỗ trợ OLEDB; SQL Provider (nằm trong System.Data.SQLClient) chuyên

dùng để truy xuất đến cơ sở dữ liệu SQL Server (không qua OLE DB nên nhanh hơn).

Hiện nay, các hãng thứ ba cung cấp các Provider khác như : MySQL, Oracle

provider cho phép ứng dụng .NET truy xuất đến cơ sở dữ liệu không phải của Microsoft.

 

Giáo trình Lập trình trên nền Web (Phần 2) trang 1

Trang 1

Giáo trình Lập trình trên nền Web (Phần 2) trang 2

Trang 2

Giáo trình Lập trình trên nền Web (Phần 2) trang 3

Trang 3

Giáo trình Lập trình trên nền Web (Phần 2) trang 4

Trang 4

Giáo trình Lập trình trên nền Web (Phần 2) trang 5

Trang 5

Giáo trình Lập trình trên nền Web (Phần 2) trang 6

Trang 6

Giáo trình Lập trình trên nền Web (Phần 2) trang 7

Trang 7

Giáo trình Lập trình trên nền Web (Phần 2) trang 8

Trang 8

Giáo trình Lập trình trên nền Web (Phần 2) trang 9

Trang 9

Giáo trình Lập trình trên nền Web (Phần 2) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 87 trang duykhanh 9140
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Lập trình trên nền Web (Phần 2)", để 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: Giáo trình Lập trình trên nền Web (Phần 2)

Giáo trình Lập trình trên nền Web (Phần 2)
ng chung thƣờng gọi là ngôn ngữ mô 
tả dịch vụ Web (Web Services Description Language – WSDL). Các hệ thống khác thực 
hiện tƣơng tác với dịch vụ Web thông qua giao thức SOAP (Simple Object Access 
Protocol). Đây là giao thức giúp trao đổi thông tin sử dụng HTTP kết hợp với việc sử 
dụng đặc tả XML cùng với một số chuẩn khác. 
 Nhƣ vậy, mục đích chính của việc phát triển của dịch vụ Web là cho phép giao tiếp 
và trao đổi các chức năng, thông tin, dữ liệu giữa các ứng dụng một cách dễ dàng mà 
không cần quan tâm đến môi trƣờng phát triển, ngôn ngữ lập trình bởi tất cả đã đƣợc quy 
về một định dạng chung. 
 Bản chất của Web Services là một tập hợp các đối tƣợng, các phƣơng thức đƣợc 
thực thi và công bố trên mạng để có thể đƣợc gọi từ xa thông qua các ứng dụng khác. 
5.2. Kiến trúc và các thành phần Web Services 
 Công nghệ Web Services ra đời dựa trên sự kết hợp các nền tảng công nghệ sẵn có 
trƣớc đó. Nó là sự tích hợp các ứng dụng dựa trên Web sử dụng các chuẩn mở nhƣ XML, 
SOAP, WSDL, UDDI. Trong đó, XML đƣợc sử dụng để mô tả dữ liệu, SOAP đóng vai 
trò giao thức truyền tải dữ liệu, WSDL mô tả cho dịch vụ Web và UDDI liệt kê danh sách 
các dịch vụ Web đang hoạt động. 
a) XML – Extensible Markup Language 
 XML do W3C đề ra và đƣợc phát triển từ SGML. XML là một ngôn ngữ đánh dấu 
mở rộng với cấu trúc do ngƣời dùng định nghĩa. Về hình thức, XML có cú pháp tƣơng tự 
HTML, nhƣng không tuân theo một đặc tả quy ƣớc nhƣ HTML. Ngƣời sử dụng hay các 
chƣơng trình có thể quy ƣớc định dạng các thẻ XML, ngoài ra không chứa bất cứ thông 
tin nào khác về cách sử dụng hay hiển thị những thông tin ấy. 
 Web Services là sự kết hợp của nhiều thành phần khác nhau và nó hỗ trợ tƣơng tác 
giữa các hệ thống đƣợc cài đặt trên các môi trƣờng khác nhau. Do đó, cần sử dụng một 
dạng tài liệu có thể giúp giải quyết vấn đề tƣơng thích và XML hoàn toàn phù hợp với 
yêu cầu trên. Nó đã trở thành nền tảng cho việc xây dựng các Web Services. XML có hai 
vai trò chính: 
 - Trao đổi dữ liệu trong hệ thống sử dụng Web Services. 
 - Mô tả các giao thức sử dụng trong dịch vụ Web. 
b) SOAP – Simple Object Access Protocol 
 SOAP (Simple Object Access Protocol) là giao thức dùng để truy xuất thông tin từ 
Web Services thông qua một dạng thông điệp chung. SOAP đƣợc Microsoft đề xuất vào 
năm 1998. Hiện nay, nó thuộc quyền quản lý và cải tiến bởi tổ chức W3C. SOAP là một 
giao thức dựa trên nền tảng XML, mô tả cách định dạng, đóng gói thông tin của các thông 
điệp và trao đổi chúng thông qua mạng mà không phụ thuộc vào bất kỳ ngôn ngữ hay môi 
trƣờng thực thi nào. Đơn vị trao đổi thông tin cơ bản của giao thức SOAP là thông điệp 
SOAP (SOAP Message). Mỗi thông điệp SOAP sẽ đƣợc chỉ định bởi một thẻ root 
 chứa 2 thành phần là SOAP Header và SOAP Body. SOA Header chứa các 
thông tin cần thiết cho việc thực hiện chuyển thông điệp hay cơ chế định danh, bảo mật. 
SOAP Body chứa dữ liệu ứng dụng. 
c) WSDL – Web Services Description Language 
 WSDL (Web Services Description Language) là một dạng tài liệu dựa trên cú pháp 
XML để mô tả các dịch vụ Web. Lúc đầu nó đƣợc Microsoft, IBM và Ariba để xuất, 
nhƣng hiện nay đƣợc quản lý bởi tổ chức W3C. Một tài liệu WSDL sẽ cung cấp tài liệu 
cho các hệ thống phân tán nhƣ mô tả chức năng của một Web Services, cách thức tƣơng 
tác, các thông điệp tƣơng ứng cho các theo tác request hay response. Sau đây là cấu trúc 
cơ bản của một tài liệu. 
 Một tài liệu WSDL bao gồm hai thành phần chính: Phần trừu tƣợng (abstract 
definitions) Error! Reference source not found và phần hiện thực (concrete 
definitions)Error! Reference source not found.. Phần trừu tƣợng bao gồm các thông tin 
đƣợc chứa các thẻ types, message, operation và port types. Phần hiện thực chứa thông tin 
trong các thẻ bindings và ports. Mỗi thành phần sẽ có một tham chiếu đến một thành phần 
khác đƣợc mô tả nhƣ hình sau: 
 Hình 5.1. Các thành phần của WSDL 
Mỗi thành phần có một chức năng riêng cụ thể nhƣ sau: 
 - types: chỉ định kiểu dữ liệu cho các thông điệp gửi và nhận. 
 - messages: là một thành phần trừu tƣợng mô tả cách thức giao tiếp giữa client và 
Server 
 - porttypes: mô tả ánh xạ giữa các thông điệp – đƣợc mô tả trong phần tử messages 
và các phƣơng thức (operations). 
 - binding: xác định giao thức nào đƣợc sử dụng khi giao tiếp với dịch vụ Web. Định 
nghĩa kiểu binding (RPC/Document) và giao thức vận chuyển. binding cũng định nghĩa 
các operations. 
 - Port: chỉ định địa chỉ hoặc điểm kết nối đến Web Services, nó thƣờng là một chuỗi 
URL 
d) UDDI – Universal Description, Discovery, and Integration 
 UDDI (Universal Description, Discovery, and Integration) Error! Reference source 
not found.Error! Reference source not found.Error! Reference source not found.Error! 
Reference source not found. đƣợc đề xuất bởi Microsoft, IBM và Ariba vào năm 2000. 
Ngày nay, UDDI thuộc quyền quản lý và phát triển bởi tổ chức OASIS (Organization for 
the Advancement of Structured Information Standards). Nó đƣợc xây dựng nhằm mục 
đích cung cấp khả năng cho phép công bố, tổng hợp và tìm kiếm các dịch vụ Web. 
 UDDI đƣa ra một tập các hàm API đƣợc chia làm 2 phần: Inquiry API (dùng để 
tìm kiếm và truy xuất) và Publisher‟s API (công bố các Web Services). Thông tin tổ chức 
trong UDDI đƣợc chia thành 3 phần: 
 - White pages: Liệt kê thông tin của các nhà cung cấp dịch vụ Web bao gồm địa chỉ, 
thông tin liên lạc và định danh. 
 - Yellow pages: Phân loại dịch vụ theo tổ chức hay nhóm dịch vụ hoặc địa điểm đặt 
các dịch vụ. 
 - Green pages: Cung cấp thông tin về các dịch vụ Web đƣợc, về cách thức truy xuất 
các Web Services đó. 
e) Kết luận 
 Thông qua các phần trên để có một có cái nhìn toàn cảnh về Web Services, các kỹ 
thuật cốt lõi của việc áp dụng các ứng dụng phân tán dựa vào SOAP, WSDL và UDDI: 
 Các nhà cung cấp Web Services sẽ mô tả Web Services của mình trong một tài liệu 
WSDL và công bố thông qua việc đăng ký UDDI sử dụng Publisher‟s API (dựa trên nền 
tảng SOAP). 
 Một service requester sử dụng UDDI Inquiry API để tìm kiếm các service provider 
tƣơng ứng với yêu cầu bên trong hệ thống đăng ký UDDI. Nếu có một dịch vụ nào đó 
đƣợc tìm thấy, việc làm tiếp theo là dựa vào để tham chiếu đến tài liệu WSDL 
tƣơng ứng. 
 Một SOAP request sẽ đƣợc tạo ra tƣơng ƣng với Web Services đƣợc tìm thấy. 
SOAP request sẽ đƣợc gửi đến service provider và provider xử lý trả về. 
5.3. Tạo Web Services 
 Từ menu File | New | New WebSite..., cửa sổ New Web Site xuất hiện thiết lập 
nhƣ hình dƣới để tạo ứng dụng Web Services tên WS_MinhHoa sử dụng Web Server IIS. 
 Hình 5.2. Hộp thoại tạo ứng dụng Web Services 
 Sau khi WS_MinhHoa đƣợc tạo viết lệnh trong tập tin App_Code/Service.cs nhƣ sau. 
 using System; 
 using System.Collections.Generic; 
 using System.Linq; 
 using System.Web; 
 using System.Web.Services; 
 [WebService(Namespace = "")] 
 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
 public class Service : System.Web.Services.WebService 
 { 
 public Service () 
 { 
 } 
 [WebMethod] 
 public string LayGioHienHanh() 
 { 
 return DateTime.Now.ToString("hh:mm:ss"); 
 } 
 } 
 Trong Web Services này ta khai báo một phƣơng thức tên LayGioHienHanh dùng 
để lấy giờ hiện hành phía Server. 
5.4. Kiểm tra Web Services 
 Sau khi xây dựng thành công Web Services, trƣớc khi đƣa vào sử dụng nên tiến 
hành kiểm tra Web Services. Các Web Services đƣợc xây dựng trong VS.Net tự động 
phát sinh ra các trang kiểm tra tƣơng ứng. 
 Thi hành ứng dụng giao diện sau đây liệt kê danh sách phƣơng thức Web hiện có 
trong Web Services. 
 Hình 5.3. Màn hình kiểm tra Web Services 
 Trang kiểm tra Web Services sẽ liệt kê các phƣơng thức hiện có trong Web 
Services đƣợc chọn thi hành. Chọn phƣơng thức cần kiểm tra. Ở đây, nhấp vào liên kết 
LayGioHienHanh để gọi phƣơng thức này. 
 Hình 5.4 Thực thi phƣơng thức LayGioHienHanh 
Nhấn nút Invoke để thực thi phƣơng thức LayGioHienHanh kết quả nhƣ màn hình sau . 
 Hình 5.4 Kết quả trả về từ phƣơng thức 
5.5. Sử dụng Web Services 
5.5.1. Sử dụng Web Services do mình tạo 
 Sau khi hoàn tất việc xây dựng, kiểm tra độ tin cậy và tính chính xác của Web 
Services sẽ tiến hành đƣa Web Services đi vào sử dụng. 
 Để sử dụng một Web Services, Client cần phải biết Web Services đó hỗ trợ những 
phƣơng thức nào, phƣơng thức cần có những tham số nào, kết quả trả về ra sao 
 Những thông tin này của một Web Services đƣợc mô tả bởi tài liệu WSDL (Web 
Services Description Language). WSDL là định dạng chuẩn để mô tả các Web Services, 
sử dụng ngôn ngữ XML. 
 Có thể xem WSDL của một Web Services bằng cách thêm vào chuỗi tham số wsdl 
vào sau chuỗi URL. 
 Tạo ứng dụng Web Consumer, có thể sử dụng bất kỳ ứng dụng nào để gọi đến 
Web Services ( ASP.Net. Window Form, Console ,...). Trong ví dụ này sử dụng ASP.Net. 
 Tạo ứng dụng ASP.Net gồm một trang LayGioHienHanh.aspx giao diện nhƣ sau : 
 Hình 5.5 Giao diện trang sử dụng Web Services 
 Thiết lập tham chiếu đến ứng dụng Web Service WS_MinhHoa: Từ ứng dụng 
ASP.Net, nhấp chọn References, nhấp phải chuột chọn Add Web Reference... 
 Hình 5.6 Cửa sổ chọn Add Web Reference 
Trên cửa sổ Add Web Reference nhấp vào liên kết Web Services on the local machine 
 Hình 5.7 Màn hình liên kết Web Services 
Sau đó chọn service nhƣ hình sau: 
 Hình 5.8. Chọn Web Services trên máy cục bộ 
 Hình 5.9. Kiển tra Web Services 
Nhấn Add Reference để thêm tham chiếu vào ứng dụng. 
 Hình 5.10. Đƣa Web Services tham chiếu vào ứng dụng 
Lệnh xử lý sự kiện cho trang LayGioHienHanh.aspx 
 using System; 
 using System.Collections.Generic; 
 using System.Linq; 
 using System.Web; 
 using System.Web.UI; 
 using System.Web.UI.WebControls; 
 namespace MinhHoa 
 { 
 public partial class HienThiGioHienHanh : System.Web.UI.Page 
 { 
 protected void Page_Load(object sender, EventArgs e) 
 { 
 } 
 protected void btnHienThi_Click(object sender, EventArgs e) 
 { 
 //khai báo đối tượng Service 
 localhost.Service s = new localhost.Service(); 
 //gọi phương thức 
 lbGioHienHanh.Text = s.LayGioHienHanh(); 
 } 
 } 
 } 
 Thi hành trang LayGioHienHanh.aspx sau đó nhấn nút hiển thị để xem kết quả. 
 Hình 5.11. Kết quả sử dụng dịch vụ Web Services 
5.5.2. Sử dụng Web Services đƣợc cung cấp trên mạng 
 Để biết đƣợc những Web Services đƣợc cung cấp miễn phí trên mạng dùng google 
để thực hiện tìm kiếm. Ở đây, giới thiệu đến trang:  cung cấp 
khá nhiều các Web Services hữu ích. Trong phần này sẽ hƣớng dẫn sử dụng các Web 
Services để lấy thông tin tỷ giá ngoại tệ, thông tin thời tiết, các thành phố chính của một 
quốc gia và các đơn vị tiền tệ của các quốc gia trên thế giới. Các bƣớc thực hiện nhƣ sau: 
 - Chọn Add Web Reference từ thực đơn ngữ cảnh của ứng dụng 
 Hình 5.12. Thêm Web Services vào ứng dụng 
 - Nhập thông tin đƣờng dẫn của Web Services, nhấn biểu tƣợng để thực hiện 
việc xác thực Web Services. 
 - Nếu Web Services đƣợc xác thực thành công, thông tin mô tả về Web Services sẽ 
đƣợc hiển thị ngay phía bên dƣới. Trong ví dụ này lần lƣợt xác thực 3 Web Services sau: 
  (Thời tiết) 
  (Tỷ giá) 
 Hình 5.13. Tham chiếu Web Services 
 - Đặt tên tham chiếu cho Web Services: Web reference name. 
 - Nhấn Add Reference để hoàn tất tham chiếu Web Services. 
Bảng sau mô tả các phƣơng thức và tài liệu hƣớng dẫn của Web Services 
 Hình 5.14. Danh sách các Web Services đƣợc tham chiếu 
 - Thiết kế màn hình 
 Hình 5.15. Màn hình thiết kế 
 - Viết lệnh xử lý 
 Ws_Thoi_tiet.GlobalWeather hn= new Ws_Thoi_tiet.GlobalWeather(); 
 Ws_Thoi_tiet.GlobalWeather hcm = new Ws_Thoi_tiet.GlobalWeather(); 
 Ws_Ty_gia.CurrencyConvertor tgusd = new Ws_Ty_gia.CurrencyConvertor(); 
 Ws_Ty_gia.CurrencyConvertor tgeur = new Ws_Ty_gia.CurrencyConvertor(); 
 Ws_Ty_gia.CurrencyConvertor tggbp = new Ws_Ty_gia.CurrencyConvertor(); 
 lblUSD.Text = tgusd.ConversionRate(Ws_Ty_gia.Currency.USD, 
 Ws_Ty_gia.Currency.VND).ToString(); 
 lblEUR.Text = tgeur.ConversionRate(Ws_Ty_gia.Currency.EUR, 
 Ws_Ty_gia.Currency.VND).ToString(); 
 lblGBP.Text = tggbp.ConversionRate(Ws_Ty_gia.Currency.GBP, 
 Ws_Ty_gia.Currency.VND).ToString(); 
 lblHN.Text = hn.GetWeather("Ha Noi", "Viet Nam"); 
 lblHCM.Text = hcm.GetWeather("Ho Chi Minh", "Viet Nam"); 
 Tỷ giá ngoại tệ và thông tin thời tiết đƣợc lấy từ Web Services. Lúc thi hành các 
giá trị này có thể thay đổi. 
 Hình 5.16. Màn hình kết quả 
5.6. Bài tập 
1. Thiết kế Web Service cung cấp dịch vụ các phép tính (+, -, *, /) và kiểm tra các phép 
 toán thông qua việc sử dụng Web Services trong môi trƣờng phát triển. 
2. Tạo Web Services cho việc chuyển đổi tiền tệ. Sau đó kiểm tra kết quả. 
3. Tạo Web Services cung cấp ứng dụng xem giá vàng SJC. Sau đó kiểm tra kết quả. 
4. Xây dựng Web Services truy xuất cơ sở dữ liệu theo yêu cầu sau: 
 Tạo cơ sở dữ liệu tên MyAccount gồm 1 bảng tên UserAccount chứa các thông tin 
sau: UserName (nvarchar 15 ), Password (nvarchar 100), BirthDate (DateTime), Adress 
(nvarchar 50 ), Email (nvarchar 50 ) . 
Tạo Web Service thực hiện các chức năng sau : 
 - AddNewAccount () : phƣơng thức này dung để thêm mới một Account và 
Password đƣợc mã hóa theo thuật toán ( MD5 hoặc SHA1, tuy chọn ), trƣớc khi thêm cần 
kiểm tra Account có tồn tại hay không? thông qua phƣơng thức CheckAccount. 
 - DeleteAccount (.): dùng để xóa 1 Account 
 - UpdateAccount(.) : cập nhật thông tin 1 Account. 
 - GetAccount() : lấy tất cả thông tin của các Account. 
 - CheckAccount(.) : Kiểm tra một Account có tồn tại hay không? 
Tạo các trang aspx sử dụng Web Service mô tả nhƣ sau : 
 - Trang Login.aspx: kiểm tra Account, trang này link với trang CreateAccount.aspx. 
Nếu login thành công thì chuyển sang trang MaintainAccount.aspx. 
 - Trang CreateAccount.aspx : dùng để thêm một Account.Trên trang này có một 
button dùng để kiểm tra 1 UserName có tồn tại không? mà không cần Postback về Server. 
Trang này link với trang Login.aspx 
 - Trang MaintainAccount.aspx : trang này gồm một GridView cho phép xem, xóa, 
sửa thông tin Account. 
5. Xây dựng Web Services truy xuất cơ sở dữ liệu theo yêu cầu sau: 
 Tạo cơ sở dữ liệu tên KhachHang gồm một bảng tên tbl_KhachHang chứa các 
thông tin sau: 
Tạo Web Service thực hiện các chức năng sau : 
 - Đọc danh sách khách hàng từ cơ sở dữ liệu 
 - Thêm khách hàng 
 - Xóa khách hàng 
 TÀI LIỆU THAM KHẢO 
 [1]. Ngọc Bích. C# dành cho ngƣời tự học Tập 1,2. NXB Thông tin và truyền thông. 2011 
 [2]. Phạm Hữu Khang. C# 2005 tập 5 Lập trình ASP.NET 2.0 tập 1, 2, 3. Nhà xuất bản lao 
động xã hội. 2009 
 [3]. Phạm Hữu Khang. Lập trình ASP.Net. NXB Lao Động xã hội. 2007. 
 [4]. Phạm Hữu Khang. Xây dựng ứng dụng tuyển dụng trực tuyến bằng ASP.NET 2.0 và SQL 
Server. NXB Lao Động xã hội. 2007. 
 [5]. Nguyễn Văn Lân. Kỹ thuật xây dụng ứng dụng ASP.NET – tập 1, 2, 3. Nhà xuất bản lao 
động xã hội. 2008 
 [6]. Hồng Phúc. Lập trình thiết kế Web trong ASP.Net với các ví dụ C#. NXB Thống kê. 2005 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_tren_nen_web_phan_2.pdf