Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---------- NGUYỄN THỊ YẾN HỢP NGHIÊN CỨU VỀ WEB API VÀ VIẾT ỨNG DỤNG XÂY DỰNG PHẦN MỀM QUẢN LÝ BẢO HÀNH THIẾT BỊ TIN HỌC TRÊN WEB SERVICE KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 4 năm 2017 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ---------- KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: NGHIÊN CỨU VỀ WEB API VÀ VIẾT ỨNG DỤNG XÂY DỰNG PHẦN MỀM QUẢN LÝ BẢO HÀNH THIẾT BỊ TIN HỌC TRÊN WEB SERVICE Sinh viên thực hiện NGUYỄN THỊ YẾN HỢP MSSV: 2113011012 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2013 – 2017. Cán bộ hướng dẫn ThS. TRẦN THỊ DIỆU HIỀN MSCB: ……… Quảng Nam, tháng 4 năm 2017 MỤC LỤC Phần 1. MỞ ĐẦU ........................................................................................................... 1 1.1. Lý do chọn đề tài ...................................................................................................... 1 1.2. Mục tiêu của đề tài .................................................................................................... 1 1.3. Đối tượng và phạm vi nghiên cứu ............................................................................ 1 1.4. Phương pháp nghiên cứu .......................................................................................... 2 1.5. Lịch sử nghiên cứu.................................................................................................... 2 1.6. Đóng góp của đề tài .................................................................................................. 2 1.7 Cấu trúc đề tài ............................................................................................................ 2 Phần 2. NỘI DUNG NGHIÊN CỨU ............................................................................ 3 Chương 1: CƠ SỞ LÝ THUYẾT ................................................................................. 3 1.1. Tổng quan về Web Service ....................................................................................... 3 1.1.1. Giới thiệu Web Service.......................................................................................... 3 1.1.2. Các công nghệ xây dựng Web Service .................................................................. 3 1.1.3. Đặc điểm của Web Service .................................................................................... 4 1.1.4. Kiến trúc của Web Service .................................................................................... 5 1.1.5. Các thành phần chính của Web Service ................................................................ 8 1.1.6. An toàn cho Web Service .................................................................................... 11 1.1.7. Xây dựng một Web Service ................................................................................. 11 1.1.8. Tích hợp Web Service theo chuẩn ....................................................................... 11 1.2. So sánh giữa RESTful và SOAP............................................................................. 12 1.3. Giới thiệu về API .................................................................................................... 13 1.4. Giới thiệu về Web API ........................................................................................... 14 1.5. So sánh ASP.NET Web API và ASP.NET MVC.................................................. 15 Chương 2: LẬP TRÌNH TRÊN WEB SERVICE ..................................................... 17 2.1. Giới thiệu về lập trình trên Web Service ................................................................ 17 2.2. Tìm hiểu về ASP.NET Core ................................................................................... 17 2.2.1. Khái niệm ASP.NET Core ................................................................................... 17 2.2.2. Những cải tiến của ASP.NET Core ..................................................................... 17 2.2.3. Các tính năng của ASP.NET Core ....................................................................... 17 2.3. Giới thiệu Visual Studio 2015 Update 3 ................................................................. 19 2.4. Giới thiệu về SQL Sever 2016 ................................................................................ 21 Chương 3: PHÂN TÍCH VÀ XÂY DỰNG PHẦN MỀM BẢO HÀNH .................. 22 THIẾT BỊ TIN HỌC ................................................................................................... 22 3.1. Giới thiệu phần mềm bảo hành thiết bị tin học....................................................... 22 3.2. Phân tích và thiết kế ứng dụng................................................................................ 22 3.2.1. Mô tả bài toán ...................................................................................................... 22 3.2.2. Đặc tả yêu cầu ...................................................................................................... 22 3.2.3. Xác định tác nhân của hệ thống ........................................................................... 23 3.2.4. Các chức năng chính của hệ thống ...................................................................... 24 3.2.5. Xác định các UC .................................................................................................. 25 3.2.6. Đặc tả UC............................................................................................................. 26 3.2.8. Biểu đồ tuần tự ..................................................................................................... 33 3.2.9. Biểu đồ lớp ........................................................................................................... 44 3.2.10. Biểu đồ trạng thái............................................................................................... 45 3.3. Xây dựng web API cho phần mềm bảo hành thiết bị tin học ................................. 48 3.4. Sử dụng fiddler để test Web API ............................................................................ 53 3.4.1. Giới thiệu fiddler.................................................................................................. 53 3.4.2. Get dữ liệu bằng Fiddler ...................................................................................... 53 3.4.3. Post dữ liệu với Fiddler........................................................................................ 53 3.4.4. Put dữ liệu với Fiddler ......................................................................................... 55 3.4.5. Delete dữ liệu với Fiddler .................................................................................... 57 3.5. Tạo ứng dụng Client kết nối với Web API ............................................................. 58 Phần 3. KẾT LUẬN VÀ KIẾN NGHỊ ....................................................................... 61 1. Kết luận ...................................................................................................................... 61 2. Kiến nghị.................................................................................................................... 61 Phần 4. TÀI LIỆU THAM KHẢO ............................................................................. 62 NHẬN XÉT CỦA GIÁO VIÊN .................................................................................. 63 DANH MỤC HÌNH ẢNH Hình 1.1: Mô hình Web Service ....................................................................................... 3 Hình 1.2: Mô hình hoạt động của Web Service ............................................................... 5 Hình 1.3: Mô hình hoạt động của Web Service dùng SOAP ........................................... 6 Hình 1.4: Hệ thống SOAP đơn giản ................................................................................ 7 Hình 1.5: Cấu trúc thông điệp SOAP .............................................................................. 7 Hình 1.6: Mô hình Web Service dùng REST.................................................................... 8 Hình 1.7: Mô hình Web API .......................................................................................... 14 Hình 2: Giới thiệu Microsoft Visual Studio 2015 .......................................................... 19 Hı̀ nh 3.1: Biểu đồ UC hệ thống ..................................................................................... 29 Hı̀ nh 3.2: Biểu đồ UC quản lý nhân viên....................................................................... 30 Hı̀ nh 3.3: Biểu đồ UC quản lý sả n phẩ m ....................................................................... 30 Hı̀ nh 3.4: Biểu đồ UC quản lý nhà cung cấp ................................................................. 30 Hı̀ nh 3.5: Biểu đồ UC quản lý khá ch hàng .................................................................... 31 Hı̀ nh 3.6: Biểu đồ UC quản lý tiếp nhận sản phẩm ....................................................... 31 Hı̀ nh 3.7: Biểu đồ UC bàn giao sản phẩ m..................................................................... 32 Hı̀ nh 3.8: Biểu đồ UC quản lý công việc bảo hành ....................................................... 32 Hı̀ nh 3.9: Biểu đồ UC thống kê tı̀nh trạng trong kho .................................................... 33 Hı̀ nh 3.10: Biểu đồ tuần tự chức năng đăng nhập......................................................... 33 Hı̀ nh 3.11: Biểu đồ tuần tự chức năng đăng xuất .......................................................... 34 Hı̀ nh 3.12: Biểu đồ tuần tự chức năng thêm nhân viên ................................................. 34 Hı̀ nh 3.13: Biểu đồ tuần tự chức năng sửa nhân viên ................................................... 35 Hı̀ nh 3.14: Biểu đồ tuần tự chức năng xóa nhân viên ................................................... 35 Hı̀ nh 3.15: Biểu đồ tuần tự chức năng thêm sản phẩ m ................................................. 36 Hı̀ nh 3.16: Biểu đồ tuần tự chức năng sửa sản phẩm ................................................... 36 Hı̀ nh 3.17: Biểu đồ tuần tự chức năng xóa sản phẩm ................................................... 37 Hı̀ nh 3.18: Biểu đồ tuần tự chức năng thêm nhà cung cấ p ........................................... 37 Hı̀ nh 3.19: Biểu đồ tuần tự chức năng sửa nhà cung cấp ............................................. 38 Hı̀ nh 3.20: Biểu đồ tuần tự chức năng xóa nhà cung cấp ............................................. 38 Hı̀ nh 3.21: Biểu đồ tuần tự chức năng thêm khách hàng .............................................. 39 Hı̀ nh 3.22: Biểu đồ tuần tự chức năng sửa khách hà ng ................................................ 39 Hı̀ nh 3.23: Biểu đồ tuận tự chức năng xóa khách hà ng ................................................ 40 Hı̀ nh 3.24: Biểu đồ tuần tự chức năng thêm nhà sản xuất ............................................ 40 Hı̀ nh 3.25: Biểu đồ tuần tự chức năng sửa nhà sản xuất .............................................. 41 Hı̀ nh 3.26: Biểu đồ tuần tự chức năng xóa nhà sản xuất .............................................. 41 Hı̀ nh 3.27: Biểu đồ tuần tự chức năng tạo phiế u sửa chữa ........................................... 42 Hı̀ nh 3.28: Biểu đồ tuần tự chức năng cập nhật phiếu sửa chữa .................................. 42 Hı̀ nh 3.29: Biểu đồ tuận tự chức năng xóa phiếu sửa chữa .......................................... 43 Hı̀ nh 3.30: Biểu đồ tuần tự chức năng thống kê ............................................................ 43 Hı̀ nh 3.31: Biểu đồ tuần tự chức năng tı̀m kiế m thông tin ............................................ 44 Hı̀ nh 3.32: Biểu đồ lớp của hệ thống ............................................................................. 44 Hı̀ nh 3.33: Biểu đồ trạng thái lớp nhân viên chức năng đăng nhập ............................. 45 Hı̀ nh 3.34: Biểu đồ trạng thái lớp nhân viên chức năng thêm thông tin ....................... 45 Hı̀ nh 3.35: Biểu đồ trạng thái lớp nhân viên chức năng cập nhật thông tin ................. 46 Hı̀ nh 3.36: Biểu đồ trạng thái lớp nhân viên chức năng xóa thông tin ......................... 46 Hı̀ nh 3.37: Biểu đồ trạng thái lớp nhân viên chức năng tı̀ m kiếm thông tin ................. 47 Hı̀ nh 3.38: Biểu đồ trạng thái lớp phiếu sửa chữa ........................................................ 47 Hình 3.39: Biểu đồ trạng thái lớp hóa đơn ................................................................... 48 Hı̀ nh 3.40: Giao diện dữ liệu trả về json trong web API ............................................... 52 Hình 3.41: Test API với phương thức GET ................................................................... 53 Hình 3.42: POST dữ liệu trong Fiddler......................................................................... 54 Hình 3.43: POST dữ liệu thành công ............................................................................ 54 Hình 3.44: PUT dữ liệu với Fiddler .............................................................................. 55 Hình 3.45: Kết quả kiểm tra với PUT service ............................................................... 56 Hình 3.46: Kết quả PUT thành công ............................................................................. 56 Hình 3.47: Delete dữ liệu với fiddler ............................................................................. 57 Hình 3.48: Kiểm tra xóa thành công ............................................................................. 57 Hình 3.49: Giao diện trang đăng nhập ......................................................................... 58 Hình 3.50: Giao diện quản lý nhân viên........................................................................ 58 Hình 3.51: Giao diện quản lý khách hành dùng .Net Core ........................................... 59 Hình 3.52: Giao diện quản lý nhân viên........................................................................ 59 Hình 3.53: Giao diện thêm mới nhân viên..................................................................... 60 Hình 3.54: Giao diện lập phiếu bảo hành ..................................................................... 60 DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT Tên viết tắt Mô tả API Application Programming Interface B2B Business To Business W3C World Wide Web Consortium REST Representational State Tranfer WWW World Wide Web WSDL File Transfer Protocol JSON Javascript Object Notation HTTP Hypertext Transfer Protocol HTML Hypertext Markup Language POP3 Post Office Protocol phiên bản 3 SOAP Simple Object Access Protocol SOA Service Oriented Architecture SSL Security Sockets Layers UDDI Universal Description Discovery and Integration URL Uniform Resource Locator WSDL Web Service Description Language WS Web Service W3C World Wide Web Consortium Sinh viên thực hiện: Nguyễn Thị Yến Hợp 1 Phần 1. MỞ ĐẦU 1.1. Lý do chọn đề tài Trong thời đại bùng nổ công nghệ thông tin như ngày nay, công nghệ Web đã trở thành một nền tảng quen thuộc và phát triển rộng khắp. Có nhiều tổ chức lớn như Facebook, Google, Amazon, Ebay, Paypal, Youtube đang phát triển và thu được những thành tựu nổi bật nhờ phát triển website của họ cùng với những Web Service, những tiện ích Web cho người dùng kèm theo. Web Service ra đời giống như một cuộc cách mạng, đã làm thay đổi cách thức cộng tác trong kinh doanh giữa các tổ chức với nhau. Giờ đây, một Web Service không chỉ được cung cấp bởi chỉ một tổ chức nữa mà có thể có nhiều tổ chức khác nhau cùng cộng tác với nhau trong một môi trường thuận tiện, dễ dàng để cùng nhau phát triển Web Service của họ. Web Service là một ứng dụng tuyệt vời của kĩ thuật lập trình phân tán và đượ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, B2C và nhiều loại dịch vụ mạng khác. Giá trị cơ bản của Web Service là dựa trên việc cung cấp các phương thức theo chuẩn và cho phép các đối tượng khác nhau ở rất nhiều hệ thống khác nhau truy cập đến. Web Service hoàn toàn độc lập với mọi nền tảng máy tính, khiến cho hai máy tính bất kì nào, dù chạy hệ điều hành Windows hay Linux,… cũng đều có thể tương tác, trao đổi dữ liệu với nhau được dễ dàng. Trong thời gian gần đây, công nghệ mới đây nhất là Web API đang nổi lên là công nghệ lý tưởng nhất cho việc xây dựng các ứng dụng điện toán đám mây. Với mong muốn tìm hiểu sâu về Web Service và những công nghệ mới đang được áp dụng trong việc phát triển các ứng dụng Web Service và để xây dựng phần mềm ứng dụng Web Service nên em chọn đề tài “ Nghiên cứu về Web API và viết ứng dụng xây dựng phần mềm quản lý bảo hành thiết bị tin học trên Web Service”. 1.2. Mục tiêu của đề tài - Nắm vững các kiến thức lý thuyết về Web API - Tìm hiểu về lập trình trên Web Service - Triển khai ứng dụng Web Service với phần mềm bảo hành thiết bị tin học 1.3. Đối tượng và phạm vi nghiên cứu - Đối tượng nghiên cứu của đề tài là lý thuyết kiến trúc Web Service, công nghệ Web API. - Phạm vi nghiên cứu của đề tài được giới hạn trong các nội dung sau: về mặt lý thuyết, đó là kiến trúc Web Service, nền tảng, mô hình kiến trúc, khả năng ứng dụng của Web Service trong việc xây dựng các ứng dụng hướng dịch vụ (SOA) và công nghệ Web API trong Web Service. Về thực tế, xây dựng phần mềm ứng dụng bảo hành thiết bị tin học trên Web Service. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 2 1.4. Phương pháp nghiên cứu - Tìm kiếm tài liệu liên quan đến Web Service, công nghệ Web API và các kiến thức liên quan. - Đọc tài liệu, chọn những công cụ cần thiết cho việc xây dựng ứng dụng. - Phương pháp nghiên cứu lí thuyết. - Sử dụng các phương pháp thu thập thông tin, phân tích và tổng hợp. 1.5. Lịch sử nghiên cứu - Nội dung này được các tác giả trong và ngoài nước nghiên cứu. Tuy nhiên, đây là đề tài mới, với công nghệ mới, phù hợp với thời đại công nghệ phát triển. Với mong muốn nâng cao kiến thức của bản thân và chia sẻ một phần kiến thức của mình nên tôi lựa chọn đề tài này để phát triển. 1.6. Đóng góp của đề tài - Cung cấp kiến thức về Web Service, công nghệ Web API và triển khai xây dựng ứng dụng trên thực tế. - Cung cấp một nền tảng ứng dụng trên di động. Có thể nói đây là một ứng dụng thiết thực và có tính ứng dụng cao. Ứng dụng sẽ làm phong phú thêm cho kho ứng dụng trên di động, giúp người dùng có thêm nhiều lựa chọn và những trải nghiệm tốt nhất. - Với đề tài này tôi mong muốn chia sẻ kiến thức và cung cấp một tài liệu tham khảo cho các bạn sinh viên công nghệ thông tin khi tiếp cận, tìm hiểu về công nghệ và ứng dụng Web. Hi vọng đề tài sẽ giúp ích cho mọi người. 1.7 Cấu trúc đề tài Với đề tài này, phần nội dung thực tập gồm 3 chương sau: Chương 1: Cơ sở lý thuyết. Chương này sẽ tôi sẽ trình bày tổng quan về Web Service, công nghệ Web API và các ưu điểm của nó so với các công nghệ khác. Chương 2: Lập trình trên Web Service . Chương này tôi sẽ trình bày về ngôn ngữ và các công cụ cần thiết để xây dựng ứng dụng Web Service. Chương 3: Phân tích và xây dựng ứng dụng phần mềm . Chương này tôi sẽ trình bày các phần phân tích hệ thống và xây dựng phần mềm bảo hành thiết bị tin học trên Web Service. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 3 Phần 2. NỘI DUNG NGHIÊN CỨU Chương 1: CƠ SỞ LÝ THUYẾT 1.1. Tổng quan về Web Service 1.1.1. Giới thiệu Web Service 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ác, cập nhật thông tin với nó thông qua mạng Internet hoặc Wifi. Hình 1.1: Mô hình Web Service 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 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. - Ứng dụng cơ bản của Web Service 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 cơ sở dữ liệu để tiến hành phân tích và lấy dữ liệu. 1.1.2. Các công nghệ xây dựng Web Service 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 Sinh viên thực hiện: Nguyễn Thị Yến Hợp 4 - WCF Service - WCF REST Service - Web API Service 1.1.3. Đặc điểm của Web Service - 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. - 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, ứ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ư đấu giá qua mạng, hay dịch vụ giao dịch trực tuyến như đặt vé máy bay, thông tin thuê xe… Ư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 quả với hệ thống của các doanh nghiệp khác. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 5 Nhược đ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. 1.1.4. Kiến trúc của Web Service - Mô hı̀nh hoạt động của dịch vụ Web Hình 1.2: Mô hình hoạt động của Web Service - Web Service 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) Sinh viên thực hiện: Nguyễn Thị Yến Hợp 6 1. Giới thiệu về SOAP Hình 1.3: Mô hình hoạt động của Web Service dùng SOAP Khái niệm 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, trải qua nhiều lần thay đổi, hiện tại là phiên bản SOAP 1.2 với nhiều ưu điểm vượt trội hơn phiên bản SOAP 1.1. SOAP được xem như là cấu trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều ngôn ngữ, hệ điều hành khác nhau. - SOAP là 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 ba 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. Đặc trưng của SOAP - SOAP được thiết kế đơn giản và dễ mở rộng. - Tất cả các thông điệp 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ó 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. Vì những đặc trưng này, nó không quan tâm đến công nghệ gì được sử dụng để thực hiện miễn là người dùng sử dụng các thông điệp theo định danh dạng XML. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 7 Tương tự, Service có thể được thực hiện trong bất kỳ ngôn ngữ nào, miễn là nó có thể xử lý được những thông điệp theo định dạng XML. Khi trao đổi thông điệp SOAP, có hai thành phần liên quan: Bên gửi và bên nhận. Thông điệp sẽ được chuyển từ bên gửi sang bên nhận. Đây là ý niệm đơn giản nhất trong trao đổi thông điệp SOAP. Trong nhiều trường hợp, kiểu trao đổi này không cung cấp đủ chức năng. Nhưng đây là mô hình cơ bản, dựa trên đó sẽ phát triển các mô hình trao đổi phức tạp hơn. Hệ thống SOAP đơn giản Hình 1.4: Hệ thống SOAP đơn giản Một cấu trúc SOAP được định nghĩa gồm các thành phần: , , Cấu trúc thông điệp SOAP Hình 1.5: Cấu trúc thông điệp SOAP 2. Giới thiệu về REST - Bốn 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. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 8 Hình 1.6: Mô hình Web Service dùng REST Khái niệm 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 SOAP và WSDL. Đặc trưng của REST - 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 phương thức thống nhất (HTTP GET, PUT, POST, DELETE,...). 1.1.5. Các thành phần chính của Web Service 1. XML – eXtensible Markup Language Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử 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 (mô hình doanh nghiệp). Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần đó chứa cái gì. Với XML, các thẻ có thể được lập trình viên tự tạo ra trên mỗi trang web và được chọn là định dạng thông điệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở. Do Web Service là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp. XML là công cụ chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một Web Service, tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML. Khi đó, các thông tin mã hóa Sinh viên thực hiện: Nguyễn Thị Yến Hợp 9 sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML - RPC và có thể tương tác với nhau trong một thể thống nhất. 2. WSDL - Web Service Description Language WSDL định nghĩa cách mô tả Web Service theo cú pháp tổng quát của XML, bao gồm các thông tin: - Tên dịch vụ - Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của Web Service - Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của Web Service cộng với tên cho giao diện này). Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương thức kết nối) và phần thi hành mô tả thông tin truy xuất cơ sở dữ liệu. Cả hai phần này sẽ được lưu trong hai tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch vụ. Giao diện của một Web Service được miêu tả trong phần này đưa ra cách thức làm thế nào để giao tiếp qua Web Service. Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tương tác với Web Service được đưa vào thư mục của WSDL. WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp Web Service qua Internet. Một client khi kết nối tới Web Service có thể đọc WSDL để xác định những chức năng sẵn có trên server. Sau đó, client có thể sử dụng SOAP để lấy ra chức năng chính xác có trong WSDL. 3. Universal Description, Discovery, and Integration (UDDI) Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ. UDDI định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm và nhận những thông tin được yêu cầu khi sử dụng Web Service. - Cấu trúc UDDI : + Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính yếu của Web Service, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin này cho phép các đối tượng khác xác định được dịch vụ. + Trang vàng - Yellow pages: chứa thông tin mô tả Web Service theo những loại khác nhau. Những thông tin này cho phép các đối tượng thấy được Web Service theo từng loại với nó. + Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của Web Service. + Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 10 Những thông tin về Web Service được sử dụng và công bố lên mạng sử dụng giao thức này. Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của Web Service khác nhằm xác định xem dịch vụ nào sẽ cần đến nó. 4. SOAP – Simple Object Access Protocol Chúng ta đã hiểu cơ bản Web Service như thế nào nhưng vẫn còn một vấn đề khá quan trọng. Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là các Web Service có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP. Nói cách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP. SOAP là một giao thức giao tiếp có cấu trúc như XML. Nó được xem là cấu trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và các hệ điều hành khác nhau. SOAP là giao thức thay đổi các thông điệp dựa trên XML qua mạng máy tính, thông thường sử dụng giao thức HTTP. Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi những thông điệp trả lời tới client. Cả SMTP và HTTP đều là những giao thức ở lớp ứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngày nay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet. Cấu trúc một thông điệp theo dạng SOAP Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau: - Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP. - Phần tử đầu trang - header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản. Header còn có thể mang những dữ liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác. - Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin yêu cầu và thông tin được phản hồi. - Phần tử đưa ra các thông tin về lỗi - fault, cung cấp thông tin lỗi xảy ra trong quá trình xử lý thông điệp. Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có ba kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message (tham số gọi thực thi một thông điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối cùng là fault message (thông báo tình trạng lỗi). Có hai kiểu truyền thông: - Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 11 - Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn. Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phù hợp với Web Service cần xây dựng. Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiểu phức tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặt trong namespace SOAP-ENC. 1.1.6. An toàn cho Web Service Việc đảm bảo an toàn cho Web Service 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… 1.1.7. Xây dựng một Web Service Qui trình xây dựng một Web Service bao gồm các bước sau: - Đị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 - Tạo WSDL cho dịch vụ - Xây dựng SOAP hoặc REST server - Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy xuất - 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 - Xây dựng ứng dụng phía client và sau đó gọi thực hiện dịch vụ thông qua việc kết nối tới SOAP hoặc REST server 1.1.8. Tích hợp Web Service theo chuẩn - Giám sát (Monitoring): Giám sát các Web Service 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 Sinh viên thực hiện: Nguyễn Thị Yến Hợp 12 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. - Triển khai (Deployment): Triển khai các Web Service có khả năng nâng cấp, điều khiển và cấu hình các thành phần từ xa thông qua mạng phân tán. - Quản lý (Management): Có thể xây dựng theo kiến trúc P2P (Peer-to-Peer) - Cấu hình và quản lý phiên bản (Configuration and Version Management): Sử dụng các công cụ linh hoạt để quản lý các phiên bản khác nhau của Web Service, cho phép các phiên bản được nâng cấp và điều khiển từ một công cụ quản lý tập trung. - Bảo mật (Security): Web Service kết hợp với những công nghệ có khả năng bảo mật cao. 1.2. So sánh giữa RESTful và SOAP Ngày nay, người ta thường dùng hai giải pháp Web Service chính để giao tiếp với ứng dụng web là: SOAP (Simple Object Access Protocol) và REST (Representational State Transfer). Cải hai giải pháp này đều là những lựa chọn tốt khi thiết kế hệ thống, nhưng nó cũng những ưu điểm và nhược điểm của riêng. Việc lựa chọn giải pháp nào còn tùy thuộc vào người phát triển hệ thống và từng trường hợp hệ thống cụ thể. Sự khác nhau giữa SOAP và RESTfull được thể hiện trong bảng 1.1 Bảng 1.1: Sự khác nhau giữa SOAP và RESTfull STT SOAP REST 1) SOAP là một giao thức REST là một cách thiết kế kiến trúc 2) SOAP là từ viết tắt của Simple Object Access Protocol(Giao thức truy cập đối tượng đơn giản) REST viết tắt của REpresentational State Transfer 3) SOAP không thể sử dụng REST vì nó là một giao thức REST có thể dùng các Web Services sử dụng SOAP vì nó có thể dùng bất kỳ giao thức nào như HTTP, SOAP 4) SOAP cung cấp các giao diện dịch vụ(services interfaces) cho các thành phần bên ngoài sử dụng REST sử dụng đỉa chỉ URI để cung cấp các dịch vụ Sinh viên thực hiện: Nguyễn Thị Yến Hợp 13 5) JAX-WS là java API cài đặt Web Services theo giao thức SOAP JAX-RS là java API cài đặt Web Services theo kiến trúc RESTful 6) SOAP định nghĩa các chuẩn và quy tắc chặt chẽ REST không định nghĩa nhiều chuẩn như SOAP 7) SOAP sử dụng băng thông và tài nguyên nhiều hơn REST REST sử dụng băng thông và tài nguyên ít hơn SOAP 8) SOAP định nghĩa chuẩn bảo mật của riêng nó RESTful kế thừa chuẩn bảo mật tầng vận tải của giao thức mạng 9) SOAP chỉ hỗ trợ định dạng dữ liệu XML REST hỗ trợ các định dạng dữ liệu khác nhau như text, HTML, XML, JSON 10) SOAP ít được dùng hơn REST REST được ưa chuộng hơn SOAP 11) Được thiết kế để dùng trong tính toán phân tán Thương không được dùng trong môi trường tính toán phân tán 12) Tin cậy hơn Ít tin cậy hơn – chẳng hạn, HTTP DELETE có thể trả về trạng thái OK ngay cả khi tài nguyên không được xóa 13) Hỗ trợ hầu hết các chuẩn bảo mật, tin cậy và giao dịch Sử dụng tốt với các giao thức như: HTTP, SSL. Các phương thức DELETE và PUT thường bị vô hiệu hóa bởi tường lửa hoặc vấn đề bảo mật 14) SOAP hỗ trợ cả hai giao thức SMTP và HTTP REST gắn với giao thức HTTP 1.3. Giới thiệu về API - Application Programming Interface (API): Giao diện ứng dụng lập trình. - Gồm các phương thức để cho các ứng dụng bên ngoài có thể gọi, tương tác để trao đổi thông tin, tính toán. Sinh viên thực hiện: Nguyễn Thị Yến Hợp 14 - Giúp các nhà lập trình tạo ra các service hỗ trợ những lập trình viên khác có thể tương tác với ứng dụng của chính mình. - Mỗi phần mềm, ứng dụng có các cung cấp các API để các ứng dụng khác có thể tương tác với nó. - Việc xây dựng lên các API cần tuân thủ các chuẩn công nghệ để nhiều nền tảng công nghệ có thể sử dụng được API mà ứng dụng cung cấp. 1.4. Giới thiệu về Web API - ASP.NET Web API là framework giúp chúng ta tạo ra các Web API - API trên nền web (HTT...
UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN - - NGUYỄN THỊ YẾN HỢP NGHIÊN CỨU VỀ WEB API VÀ VIẾT ỨNG DỤNG XÂY DỰNG PHẦN MỀM QUẢN LÝ BẢO HÀNH THIẾT BỊ TIN HỌC TRÊN WEB SERVICE KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 4 năm 2017 UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN - - KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Tên đề tài: NGHIÊN CỨU VỀ WEB API VÀ VIẾT ỨNG DỤNG XÂY DỰNG PHẦN MỀM QUẢN LÝ BẢO HÀNH THIẾT BỊ TIN HỌC TRÊN WEB SERVICE Sinh viên thực hiện NGUYỄN THỊ YẾN HỢP MSSV: 2113011012 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2013 – 2017 Cán bộ hướng dẫn ThS TRẦN THỊ DIỆU HIỀN MSCB: ……… Quảng Nam, tháng 4 năm 2017 MỤC LỤC Phần 1 MỞ ĐẦU 1 1.1 Lý do chọn đề tài 1 1.2 Mục tiêu của đề tài 1 1.3 Đối tượng và phạm vi nghiên cứu 1 1.4 Phương pháp nghiên cứu 2 1.5 Lịch sử nghiên cứu 2 1.6 Đóng góp của đề tài 2 1.7 Cấu trúc đề tài 2 Phần 2 NỘI DUNG NGHIÊN CỨU 3 Chương 1: CƠ SỞ LÝ THUYẾT 3 1.1 Tổng quan về Web Service 3 1.1.1 Giới thiệu Web Service 3 1.1.2 Các công nghệ xây dựng Web Service 3 1.1.3 Đặc điểm của Web Service 4 1.1.4 Kiến trúc của Web Service 5 1.1.5 Các thành phần chính của Web Service 8 1.1.6 An toàn cho Web Service 11 1.1.7 Xây dựng một Web Service 11 1.1.8 Tích hợp Web Service theo chuẩn 11 1.2 So sánh giữa RESTful và SOAP 12 1.3 Giới thiệu về API 13 1.4 Giới thiệu về Web API 14 1.5 So sánh ASP.NET Web API và ASP.NET MVC 15 Chương 2: LẬP TRÌNH TRÊN WEB SERVICE 17 2.1 Giới thiệu về lập trình trên Web Service 17 2.2 Tìm hiểu về ASP.NET Core 17 2.2.1 Khái niệm ASP.NET Core 17 2.2.2 Những cải tiến của ASP.NET Core 17 2.2.3 Các tính năng của ASP.NET Core 17 2.3 Giới thiệu Visual Studio 2015 Update 3 19 2.4 Giới thiệu về SQL Sever 2016 21 Chương 3: PHÂN TÍCH VÀ XÂY DỰNG PHẦN MỀM BẢO HÀNH 22 THIẾT BỊ TIN HỌC 22 3.1 Giới thiệu phần mềm bảo hành thiết bị tin học 22 3.2 Phân tích và thiết kế ứng dụng 22 3.2.1 Mô tả bài toán 22 3.2.2 Đặc tả yêu cầu 22 3.2.3 Xác định tác nhân của hệ thống 23 3.2.4 Các chức năng chính của hệ thống 24 3.2.5 Xác định các UC 25 3.2.6 Đặc tả UC 26 3.2.8 Biểu đồ tuần tự 33 3.2.9 Biểu đồ lớp 44 3.2.10 Biểu đồ trạng thái 45 3.3 Xây dựng web API cho phần mềm bảo hành thiết bị tin học 48 3.4 Sử dụng fiddler để test Web API 53 3.4.1 Giới thiệu fiddler 53 3.4.2 Get dữ liệu bằng Fiddler 53 3.4.3 Post dữ liệu với Fiddler 53 3.4.4 Put dữ liệu với Fiddler 55 3.4.5 Delete dữ liệu với Fiddler 57 3.5 Tạo ứng dụng Client kết nối với Web API 58 Phần 3 KẾT LUẬN VÀ KIẾN NGHỊ 61 1 Kết luận 61 2 Kiến nghị 61 Phần 4 TÀI LIỆU THAM KHẢO 62 NHẬN XÉT CỦA GIÁO VIÊN 63 DANH MỤC HÌNH̉ ANH Hình 1.1: Mô hình Web Service 3 Hình 1.2: Mô hình hoạt động của Web Service 5 Hình 1.3: Mô hình hoạt động của Web Service dùng SOAP 6 Hình 1.4: Hệ thống SOAP đơn giản 7 Hình 1.5: Cấu trúc thông điệp SOAP 7 Hình 1.6: Mô hình Web Service dùng REST 8 Hình 1.7: Mô hình Web API 14 Hình 2: Giới thiệu Microsoft Visual Studio 2015 19 Hı̀nh 3.1: Biểu đồ UC hệ thống 29 Hı̀nh 3.2: Biểu đồ UC quản ĺy nhân viên 30 Hı̀nh 3.3: Biểu đồ UC quản ĺy sản phẩm 30 Hı̀nh 3.4: Biểu đồ UC quản ĺy nh̀a cung cấp 30 Hı̀nh 3.5: Biểu đồ UC quản ĺy kh́ach h̀ang 31 Hı̀nh 3.6: Biểu đồ UC quản ĺy tiếp nhận sản phẩm 31 Hı̀nh 3.7: Biểu đồ UC b̀an giao sản phẩm 32 Hı̀nh 3.8: Biểu đồ UC quản ĺy công việc bảo h̀anh 32 Hı̀nh 3.9: Biểu đồ UC thống kê tı̀nh trạng trong kho 33 Hı̀nh 3.10: Biểu đồ tuần tự ch́ưc năng đăng nhập 33 Hı̀nh 3.11: Biểu đồ tuần tự ch́ưc năng đăng xuất 34 Hı̀nh 3.12: Biểu đồ tuần tự ch́ưc năng thêm nhân viên 34 Hı̀nh 3.13: Biểu đồ tuần tự ch́ưc năng sửa nhân viên 35 Hı̀nh 3.14: Biểu đồ tuần tự ch́ưc năng x́oa nhân viên 35 Hı̀nh 3.15: Biểu đồ tuần tự ch́ưc năng thêm sản phẩm 36 Hı̀nh 3.16: Biểu đồ tuần tự ch́ưc năng sửa sản phẩm 36 Hı̀nh 3.17: Biểu đồ tuần tự ch́ưc năng x́oa sản phẩm 37 Hı̀nh 3.18: Biểu đồ tuần tự ch́ưc năng thêm nh̀a cung cấp 37 Hı̀nh 3.19: Biểu đồ tuần tự ch́ưc năng sửa nh̀a cung cấp 38 Hı̀nh 3.20: Biểu đồ tuần tự ch́ưc năng x́oa nh̀a cung cấp 38 Hı̀nh 3.21: Biểu đồ tuần tự ch́ưc năng thêm kh́ach h̀ang 39 Hı̀nh 3.22: Biểu đồ tuần tự ch́ưc năng sửa kh́ach h̀ang 39 Hı̀nh 3.23: Biểu đồ tuận tự ch́ưc năng x́oa kh́ach h̀ang 40 Hı̀nh 3.24: Biểu đồ tuần tự ch́ưc năng thêm nh̀a sản xuất 40 Hı̀nh 3.25: Biểu đồ tuần tự ch́ưc năng sửa nh̀a sản xuất 41 Hı̀nh 3.26: Biểu đồ tuần tự ch́ưc năng x́oa nh̀a sản xuất 41 Hı̀nh 3.27: Biểu đồ tuần tự ch́ưc năng tạo phiếu sửa chữa 42 Hı̀nh 3.28: Biểu đồ tuần tự ch́ưc năng cập nhật phiếu sửa chữa 42 Hı̀nh 3.29: Biểu đồ tuận tự ch́ưc năng x́oa phiếu sửa chữa 43 Hı̀nh 3.30: Biểu đồ tuần tự ch́ưc năng thống kê 43 Hı̀nh 3.31: Biểu đồ tuần tự ch́ưc năng tı̀m kiếm thông tin 44 Hı̀nh 3.32: Biểu đồ ĺơp của hệ thống 44 Hı̀nh 3.33: Biểu đồ trạng th́ai ĺơp nhân viên ch́ưc năng đăng nhập 45 Hı̀nh 3.34: Biểu đồ trạng th́ai ĺơp nhân viên ch́ưc năng thêm thông tin 45 Hı̀nh 3.35: Biểu đồ trạng th́ai ĺơp nhân viên ch́ưc năng cập nhật thông tin 46 Hı̀nh 3.36: Biểu đồ trạng th́ai ĺơp nhân viên ch́ưc năng x́oa thông tin 46 Hı̀nh 3.37: Biểu đồ trạng th́ai ĺơp nhân viên ch́ưc năng tı̀m kiếm thông tin 47 Hı̀nh 3.38: Biểu đồ trạng th́ai ĺơp phiếu sửa chữa 47 Hình 3.39: Biểu đồ trạng thái lớp hóa đơn 48 Hı̀nh 3.40: Giao diện dữ liệu trả về json trong web API 52 Hình 3.41: Test API với phương thức GET 53 Hình 3.42: POST dữ liệu trong Fiddler 54 Hình 3.43: POST dữ liệu thành công 54 Hình 3.44: PUT dữ liệu với Fiddler 55 Hình 3.45: Kết quả kiểm tra với PUT service 56 Hình 3.46: Kết quả PUT thành công 56 Hình 3.47: Delete dữ liệu với fiddler 57 Hình 3.48: Kiểm tra xóa thành công 57 Hình 3.49: Giao diện trang đăng nhập 58 Hình 3.50: Giao diện quản lý nhân viên 58 Hình 3.51: Giao diện quản lý khách hành dùng Net Core 59 Hình 3.52: Giao diện quản lý nhân viên 59 Hình 3.53: Giao diện thêm mới nhân viên 60 Hình 3.54: Giao diện lập phiếu bảo hành 60 DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT Tên viết tắt Mô tả API Application Programming Interface B2B Business To Business W3C World Wide Web Consortium REST Representational State Tranfer WWW World Wide Web WSDL File Transfer Protocol JSON Javascript Object Notation HTTP Hypertext Transfer Protocol HTML Hypertext Markup Language POP3 Post Office Protocol phiên bản 3 SOAP Simple Object Access Protocol SOA Service Oriented Architecture SSL Security Sockets Layers UDDI Universal Description Discovery and Integration URL Uniform Resource Locator WSDL Web Service Description Language WS Web Service W3C World Wide Web Consortium Phần 1 MỞ ĐẦU 1.1 Lý do chọn đề tài Trong thời đại bùng nổ công nghệ thông tin như ngày nay, công nghệ Web đã trở thành một nền tảng quen thuộc và phát triển rộng khắp Có nhiều tổ chức lớn như Facebook, Google, Amazon, Ebay, Paypal, Youtube đang phát triển và thu được những thành tựu nổi bật nhờ phát triển website của họ cùng với những Web Service, những tiện ích Web cho người dùng kèm theo Web Service ra đời giống như một cuộc cách mạng, đã làm thay đổi cách thức cộng tác trong kinh doanh giữa các tổ chức với nhau Giờ đây, một Web Service không chỉ được cung cấp bởi chỉ một tổ chức nữa mà có thể có nhiều tổ chức khác nhau cùng cộng tác với nhau trong một môi trường thuận tiện, dễ dàng để cùng nhau phát triển Web Service của họ Web Service là một ứng dụng tuyệt vời của kĩ thuật lập trình phân tán và đượ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, B2C và nhiều loại dịch vụ mạng khác Giá trị cơ bản của Web Service là dựa trên việc cung cấp các phương thức theo chuẩn và cho phép các đối tượng khác nhau ở rất nhiều hệ thống khác nhau truy cập đến Web Service hoàn toàn độc lập với mọi nền tảng máy tính, khiến cho hai máy tính bất kì nào, dù chạy hệ điều hành Windows hay Linux,… cũng đều có thể tương tác, trao đổi dữ liệu với nhau được dễ dàng Trong thời gian gần đây, công nghệ mới đây nhất là Web API đang nổi lên là công nghệ lý tưởng nhất cho việc xây dựng các ứng dụng điện toán đám mây Với mong muốn tìm hiểu sâu về Web Service và những công nghệ mới đang được áp dụng trong việc phát triển các ứng dụng Web Service và để xây dựng phần mềm ứng dụng Web Service nên em chọn đề tài “Nghiên cứu về Web API và viết ứng dụng xây dựng phần mềm quản lý bảo hành thiết bị tin học trên Web Service” 1.2 Mục tiêu của đề tài - Nắm vững các kiến thức lý thuyết về Web API - Tìm hiểu về lập trình trên Web Service - Triển khai ứng dụng Web Service với phần mềm bảo hành thiết bị tin học 1.3 Đối tượng và phạm vi nghiên cứu - Đối tượng nghiên cứu của đề tài là lý thuyết kiến trúc Web Service, công nghệ Web API - Phạm vi nghiên cứu của đề tài được giới hạn trong các nội dung sau: về mặt lý thuyết, đó là kiến trúc Web Service, nền tảng, mô hình kiến trúc, khả năng ứng dụng của Web Service trong việc xây dựng các ứng dụng hướng dịch vụ (SOA) và công nghệ Web API trong Web Service Về thực tế, xây dựng phần mềm ứng dụng bảo hành thiết bị tin học trên Web Service Sinh viên thực hiện: Nguyễn Thị Yến Hợp 1 1.4 Phương pháp nghiên cứu - Tìm kiếm tài liệu liên quan đến Web Service, công nghệ Web API và các kiến thức liên quan - Đọc tài liệu, chọn những công cụ cần thiết cho việc xây dựng ứng dụng - Phương pháp nghiên cứu lí thuyết - Sử dụng các phương pháp thu thập thông tin, phân tích và tổng hợp 1.5 Lịch sử nghiên cứu - Nội dung này được các tác giả trong và ngoài nước nghiên cứu Tuy nhiên, đây là đề tài mới, với công nghệ mới, phù hợp với thời đại công nghệ phát triển Với mong muốn nâng cao kiến thức của bản thân và chia sẻ một phần kiến thức của mình nên tôi lựa chọn đề tài này để phát triển 1.6 Đóng góp của đề tài - Cung cấp kiến thức về Web Service, công nghệ Web API và triển khai xây dựng ứng dụng trên thực tế - Cung cấp một nền tảng ứng dụng trên di động Có thể nói đây là một ứng dụng thiết thực và có tính ứng dụng cao Ứng dụng sẽ làm phong phú thêm cho kho ứng dụng trên di động, giúp người dùng có thêm nhiều lựa chọn và những trải nghiệm tốt nhất - Với đề tài này tôi mong muốn chia sẻ kiến thức và cung cấp một tài liệu tham khảo cho các bạn sinh viên công nghệ thông tin khi tiếp cận, tìm hiểu về công nghệ và ứng dụng Web Hi vọng đề tài sẽ giúp ích cho mọi người 1.7 Cấu trúc đề tài Với đề tài này, phần nội dung thực tập gồm 3 chương sau: Chương 1: Cơ sở lý thuyết Chương này sẽ tôi sẽ trình bày tổng quan về Web Service, công nghệ Web API và các ưu điểm của nó so với các công nghệ khác Chương 2: Lập trình trên Web Service Chương này tôi sẽ trình bày về ngôn ngữ và các công cụ cần thiết để xây dựng ứng dụng Web Service Chương 3: Phân tích và xây dựng ứng dụng phần mềm Chương này tôi sẽ trình bày các phần phân tích hệ thống và xây dựng phần mềm bảo hành thiết bị tin học trên Web Service Sinh viên thực hiện: Nguyễn Thị Yến Hợp 2 Phần 2 NỘI DUNG NGHIÊN CỨU Chương 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về Web Service 1.1.1 Giới thiệu Web Service Là sự kết hợp cáć ưng dụng trên máy tı́nh cá nhân, thiết bị di động vớí ư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ác, cập nhật thông tin với nó thông qua mạng Internet hoặc Wifi Hình 1.1: Mô hình Web Service 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 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 -́ Ưng dụng cơ bản của Web Service 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 cơ sở dữ liệu để tiến hành phân tích và lấy dữ liệu 1.1.2 Các công nghệ xây dựng Web Service Phân loại theo Công nghệ s̉ư dụng để xây dựng dịch vụ Web chó ư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 Sinh viên thực hiện: Nguyễn Thị Yến Hợp 3