Thứ Hai, 15 tháng 8, 2016

Xây dựng ứng dụng áp dụng RESTful Web Services – sử dụng .NET để consume RESTful Web Services viết bằng java như là client

Xây dựng ứng dụng áp dụng RESTful Web Services – sử dụng .NET để consume RESTful Web Services viết bằng java như là client

Mục đích: Chủ đề của bài này giới thiệu về cách consume RESTful Web Services viết bằng java bằng công nghệ .NET để cho thấy tính uyển chuyển và đơn giản của RESTful khi xử lý bằng một client khác ngôn ngữ - đơn giản hơn rất nhiều so với việc sử dụng .NET để consume các dạng kỹ thuật công nghệ của web services khác

Xây dựng ứng dụng áp dụng RESTful Web Services – sử dụng .NET để consume RESTful Web Services viết bằng java như là client

Mục đích: Chủ đề của bài này giới thiệu về cách consume RESTful Web Services viết bằng java bằng công nghệ .NET để cho thấy tính uyển chuyển và đơn giản của RESTful khi xử lý bằng một client khác ngôn ngữ - đơn giản hơn rất nhiều so với việc sử dụng .NET để consume các dạng kỹ thuật công nghệ của web services khác

Yêu cầu về kiến thức cơ bản cho các khái niệm về RESTFul Web Services

  • Nắm vững các khái niệm về MVC, khái niệm liên quan đến Service Oriented Architecture (SOA), kiến trúc của Web Services
  • Nắm vững các khái niệm về Web Services với các công nghệ và framework như
    • AXIS 2 (Loạt bài về xây dựng web services với axis2)
    • JAX-WS (Xây dựng Web Service sử dụng Web Server Tomcat và sử dụng service áp dụng MVC Pattern trên Web)
    • JAX-RPC
    • JAX-RS (Xây dựng Web Services đơn giản với RESTful Web Services)
    • Xây dựng Web Services RESTful để xử lý object
  • Nắm vững khái niệm về ngôn ngữ lập trình Java, lập trình thao tác hướng đối tượng
  • Nắm vững khái niệm về lập trình web sử dụng J2EE hay JavaEE với các kiến thức về Servlet, JSP
  • Nắm vững khái niệm về cơ chế Filter và RequestDispatcher trong Servlet
  • Nắm vững toàn bộ cách thức vận dụng và xây dựng ứng dụng hoàn chỉnh ứng dụng áp dụng web services với các công nghệ nêu trên

Vận dụng .NET để consume RESTful Web Services của các bài trước (tham khảo các bài Giới thiệu về RESTful Web Services, Xây dựng ứng dụng áp dụng RESTful Web Services – xử lý object – truyền và nhận object)

  • Yêu cầu
    • Nắm vững các khái niệm về MVC, khái niệm liên quan đến Service Oriented Architecture (SOA), kiến trúc của Web Services, RESTful (từ đơn giản đến xử lý object)
    • Nắm vững về ngôn ngữ lập trình Java, lập trình thao tác hướng đối tượng
    • Nắm vững cách thức cài đặt của JAX-RPC, JAX-WS, Axis2, JAX-RS
    • Cách thức sử dụng JSP, Servlet
    • Tools sử dụng ở đây là Netbeans 6.9.1
    • JDK 6 update 22
    • Server: Tomcat 6.0.26
    • Thư viện hỗ trợ: JAX-RS, Jersey. Driver 4 loại 4 kết nối DB (sqljdbc.jar, sqljdbc4.jar)
  • Các bước thực hiện
    • Tạo project ASP.NET website trong Visual Studio (chúng tôi đang sử dụng Visual Studio 2005) với hình form hỗ trợ phép toán cộng 02 số của RESTful Web Services đơn giản và RESTFul Webservices xử lý object dạng như sau

    • Chuyển qua môi trường NETBeans, start server Tomcat và deploy lại 02 RESTful Web Services (nếu chưa) để start 02 Web Services này để .NET có thể consume chúng
    • Chuyển lại tool Visual Studio và mở code trang Default.aspx.cs
      • Để hỗ trợ thư viện kết nối và thao tác dữ liệu kết nối thông qua network và đón nhận dữ liệu kiểu tập hợp hay mảng object chúng ta cần import thư viện với System.NET, System.IO, System.Collections.Generic
      • Trong phát sinh biến cố click của hàm add, sau đó thực hiện code cho hàm này.
      • Trong hàm addClick, chúng ta tạo kết nối từ Client thông qua WebClient
      • Xác định url để truy vấn dữ liệu từ RESTful tương tự như java
      • Chúng ta lấy kết quả tra về thông qua hàm DownloadString của WebClient

    • Chúng ta tiếp tục phát sinh biến cố cho nút Subtract và viết code tương tự cho hàm add nhưng chuỗi kết nối là khác
    • Tương tự chúng ta phát sinh biến cố cho nút Search và viết code tương tự như hàm add, ngoại trừ
      • Vì RESTful xử lý object trả về dạng xml, do vậy, ở .NET dưới vai trò client, chúng ta thực hiện lấy dữ liệu dưới dạng xml về dạng file thay vì dạng string như trong hàm add và substract với phương thức DownloadFile
      • Khi đó có file xml, chúng ta nạp xml vào trong data grid với phương thức ReadXml
      • Cập nhật lại lưới với phương thức DataBind của data grid

    • Chúng ta thực hiện Build code và chạy ứng dụng trên Visual Studio
      • Bây giờ chúng ta đang chạy 02 server, server hỗ trợ services RESTful bằng ngôn ngữ Java của Tomcat và client hỗ trợ ứng dụng Web với .NET framework của IIS
      • Demo thể hiện tính tối ưu của Web Services về độc lập platform và tính đơn giản rất nhiều của RESTful Web Services

 

 

Chúc mừng các bạn đã nâng cao kỹ năng về Web Services vì chúng ta đã sử dụng web services theo đúng khái niệm về độc lập platform – không lệ thuộc ngôn ngữ lập trình bởi vì chỉ cung cấp dịch vụ và sử dụng dịch vụ nơi cung cấp mà không lệ thuộc.

Chúng tôi hy vọng nội dung của bài này giúp ích các bạn trong việc sử dụng web services với nhiều cách khác nhau, cụ thể là ngôn ngữ khác nhau và thấy được tính tối ưu cùng với cách giao tiếp sử dụng thông qua XML.

Rất mong sự góp ý chân thành và chia sẻ của quí vị về vấn đề này. Hẹn gặp lại quý vị ở các chủ đề khác.

Không có nhận xét nào:

Đăng nhận xét