Hướng dẫn lấy dữ liệu json từ website sử dụng Web Services
Hôm nay, mình xin hướng dẫn các bạn các sử dụng WEBSERVICES trong VB.NET, để lấy dữ liệu từ website về ứng dụng của mình. Vậy Web Service là gì? Web service (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt ...
Hôm nay, mình xin hướng dẫn các bạn các sử dụng WEBSERVICES trong VB.NET, để lấy dữ liệu từ website về ứng dụng của mình.
Vậy Web Service là gì?
Web service (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to Customer). Giá trị cơ bản của Web service dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa.
Các phần mềm được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nền tảng khác nhau có thể sử dụng Web service để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao tiếp tương tự bên trong một máy tính. Tuy nhiên, công nghệ xây dựng Web service không nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML, SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet, Web service thật sự là một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ thống. Chúng ta sẽ xem xét các Web service từ mức khái niệm đến cách thức xây dựng.
Dưới đây là giao diện demo ứng dụng:
1. Giới thiệu về Web service
Theo định nghĩa của W3C (World Wide Web Consortium), Web service 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. Web service là tài nguyên 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. Một Web service được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ Web service khác. Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server.
Trước hết, có thể nói rằng ứng dụng cơ bản của Web service là tích hợp các hệ thống và là một trong những hoạt động chính khi phát triển hệ thống. Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) 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. Trong thời gian gần đây, việc phát triển mạnh mẽ của thương mại điện tử và B2B cũng đòi hỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tương tác với hệ thống bên ngoài – bên cạnh tương tác với các thành phần bên trong của hệ thống trong doanh nghiệp).
Dưới đây, chúng ta sẽ xem qua những khái niệm và cách thức cơ bản nhất để xây dựng một Web service trong tích hợp và phát triển hệ thống.
2. Đặc điểm của Web service
a. Đặc điểm
- Web service cho phép client và server tương tác được với nhau ngay cả trong những môi trường khác nhau. Ví dụ, đặt Web server cho ứng dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này.
- Phần lớn kĩ thuật của Web service được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML.
- Một Web service bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet.
- Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet.
- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server. Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP, Oracle Application server hay Microsoft.Net…
- Ngày nay Web service đang rất phát triển, những lĩnh vực trong cuộc sống có thể áp dụng và tích hợp Web service là khá rộng lớn như dịch vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, thông tin thuê xe…
- Các ứng dụng có tích hợp Web service đã không còn là xa lạ, đặc biệt trong điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn mạnh của Internet. Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp với Web service, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng. Do vậy, việc phát triển và tích hợp các ứng dụng với Web service đang được quan tâm phát triển là điều hoàn toàn dễ hiểu.
b. Ưu và nhược điểm
Ưu điểm:
+ Web service 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ở. Giao thức và định dạng dữ liệu dựa trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được.
+ 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 bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện Web service.
+ 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 quả với hệ thống của các doanh nghiệp khác.
Nhược điểm:
+ Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web service, 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.
Hướng dẫn viết ứng dụng demo ở trên:
- Đầu tiên các bạn cần tạo 1 website lấy dữ liệu từ database sau đó trả về json, trong ví dụ này, mình sử dụng php và php Codeiginter Framework để làm webservices.
Code PHP
public function index() { $data = $this->db->query("select CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Country, PostalCode, Phone from Customers")->result_array(); echo json_encode($data, JSON_PRETTY_PRINT); }
- Giao diện webservices trả dữ liệu json từ website:
- Hướng dẫn cài đặt thư viện json.Net, các bạn có thể truy cập vào trang chủ tại: http://www.newtonsoft.com/json
- Bây giờ mình sẽ cài đặt thư viện từ Nuget:
Sau đó các bạn tiếp tục gõ dòng lệnh cài đặt json.Net từ Package Manager Console
PM> Install-Package Newtonsoft.Json
Các bạn có thể theo dõi tiếp hình bên dưới:
Dưới đây là đoạn code của Demo
Imports System.ComponentModel Imports System.Text Imports System.IO Imports System.Net Imports System.Xml.Linq Imports Newtonsoft.Json Partial Public Class Form1 Inherits DevExpress.XtraEditors.XtraForm Shared Sub New() DevExpress.UserSkins.BonusSkins.Register() DevExpress.Skins.SkinManager.EnableFormSkins() End Sub Public Sub New() InitializeComponent() End Sub Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click Dim request As HttpWebRequest Dim response As HttpWebResponse = Nothing Dim reader As StreamReader Try request = DirectCast(WebRequest.Create(txthttp.Text), HttpWebRequest) response = DirectCast(request.GetResponse(), HttpWebResponse) reader = New StreamReader(response.GetResponseStream()) Dim rawresp As String rawresp = reader.ReadToEnd() txtDataJson.Text = rawresp Catch ex As Exception MsgBox(ex.ToString) Finally If Not response Is Nothing Then response.Close() End Try End Sub Private Sub SimpleButton2_Click(sender As Object, e As EventArgs) Handles SimpleButton2.Click Dim dt As DataTable = JsonConvert.DeserializeObject(Of DataTable)(txtDataJson.Text) GridControl1.DataSource = dt End Sub End Class
Video hướng dẫn code ứng dụng Demo
Chúc các bạn thành công. Mọi câu hỏi thắc mắc đến bài viết xin truy cập http://hoidap.laptrinhvb.net để được support.
ĐỪNG QUÊN LIKE AND SHARE NHA CÁC BẠN.
CÁM ƠN CÁC BẠN ĐÃ THEO DÕI.
DOWNLOAD SOURCE