1. Trang chủ
  2. » Luận Văn - Báo Cáo

kiến trúc và thiết kế phần mềm tìm hiểu về webservice soap restful api

69 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

1.3.Web API và điểm nổi bật của nóWeb API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại.. Với công nghệ này, dữ liệu sẽ được truy

Trang 1

TÌM HIỂU VỀ WEBSERVICE, SOAP, RESTFUL, APINHÓM 8

KIẾN TRÚC VÀ THIẾT KẾ PHẦN MỀM

Trang 2

Thành viên trong nhóm

• Đỗ Đường Bách• Tống Minh Đức• Khúc Văn Đỉnh• Đặng Trung Kiên

• Nguyễn Đình Tùng Dương• Bạch Minh Tuấn

Trang 3

Nội dung trình bày

RestfulKết luận

Demo chương trình

Trang 4

Định nghĩa APIỨng dụng API

Web API và điểm nổi bật của nó

Hoạt động của web APIƯu nhược điểm của web API

Trang 5

1.1.Định nghĩa

API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác Nó là viết tắt của Application Programming Interface – giao diện lập trình ứng dụng API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm hay dùng Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng.

API hiện nay đều tuân thủ theo tiêu chuẩn REST và HTTP, tạo sự thân thiện dễ sử dụng với nhà phát triển Giúp người dùng dễ dàng truy cập, dễ hiểu hơn Web API hiện đại dùng cho các đối tượng cụ thể, chẳng hạn như mobile developer với document, version khác nhau.

Trang 6

1.2.API ứng dụng vào đâu ?

Web API

API trên hệ điều hành

API của thư viện phần mềm hay framework

Trang 7

1.2.API ứng dụng vào đâu ?

Web API: là hệ thống API được sử dụng trong các hệ thống website Hầu hết các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu

Trang 8

1.2.API ứng dụng vào đâu ?

API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấp các tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với hệ điều hành.

Trang 9

1.2.API ứng dụng vào đâu ?

API của thư viện phần mềm hay framework: API mô tả và quy định các hành động mong muốn mà các thư viện cung cấp Một API có thể có nhiều cách triển khai khác nhau và nó cũng giúp cho một chương trình viết bằng ngôn ngữ này có thể sử dụng thư viện được viết bằng ngôn ngữ khác

Trang 10

1.3.Web API và điểm nổi bật của nó

Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao tiếp, trao đổi dữ liệu qua lại Dữ liệu được Web API trả lại thường ở dạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.

Web API là gì ?

Trang 11

Điểm nổi bật của web API

Tự động hóa sản phẩm: Với web API,

chúng ta sẽ tự động hóa quản lý công việc, cập nhật luồng công việc, giúp tăng năng suất và tạo hiệu quả công

việc cao hơn.

Khả năng tích hợp linh động: API cho phép lấy

nội dung từ bất kỳ website hoặc ứng dụng nào một cách dễ dàng nếu được cho phép, tăng trải nghiệm người dùng, cho phép các công ty chia sẻ thông tin được chọn nhưng vẫn tránh được những

yêu cầu không mong muốn.

Cập nhật thông tin thời gian thực: API

có chức năng thay đổi và cập nhật thay đổi theo thời gian thực Với công nghệ này, dữ liệu sẽ được truyền đi tốt hơn, thông tin chính xác hơn, dịch vụ cung cấp

linh hoạt hơn.

Có tiêu chuẩn chung dễ sử dụng: Bất kỳ người

dùng, công ty nào sử dụng cũng có thể điều chỉnh nội dung, dịch vụ mà họ sử dụng.Hỗ trợ đầy đủ các

thành phần MVC như: routing, controller, action result, filter, model binder, IoC container,

dependency injection, unit test.

Trang 12

1.4 Hoạt động của web API

Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến

máy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc

Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra xác thực nếu có và tìm đến tài nguyên

thích hợp để tạo nội dung trả về kết quả.

Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức

Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động , dữ liệu JSON/XML sẽ được parse để lấy data Sau khi có được data thì thực hiện tiếp các hoạt động như lưu dữ liệu xuống

Cơ sở dữ liệu, hiển thị dữ liệu…

Trang 13

1.5.Ưu nhược điểm của web API

Trang 14

Ưu điểm

Web API được sử dụng hầu hết trên các ứng dụng desktop, ứng

dụng mobile và ứng dụng website.

Linh hoạt với các định dạng dữ liệu khi trả về client: Json, XML

hay định dạng khác.

Nhanh chóng xây dựng HTTP service: URI, request/response

headers, caching, content formats …

Mã nguồn mở, hỗ trợ chức năng RESTful đầy đủ, sử dụng bởi bất

kì client nào hỗ trợ XML, Json.

Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model binder,

IoC container, dependency injection, unit test.

Giao tiếp hai chiều được xác nhận trong các giao dịch, đảm

bảo độ tin cậy cao.

Trang 15

Tốn thời gian và chi phí cho việc phát triển, nâng cấp và vận hành

Có thể gặp vấn đề về bảo mật khi hệ thống bị tấn công nếu không giới hạn điều kiện kỹ.

Trang 17

2.1.Định nghĩa và thành phần của webservice

Định nghĩa

Dịch vụ Web (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 dịch vụ Web 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 dịch vụ Web để 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

Trang 18

Định nghĩa  Để một dịch vụ được coi là web service thì cần thỏa mãn các tiêu chí sau:

Có sẵn ở trên internet hoặc trong mạng nội bộ,

Sử dụng một hệ thống XML messaging đúng tiêu chuẩn,

Hoàn toàn không bị trói buộc bởi một hệ điều hành hay ngôn ngữ lập trình nào,

Có thể tự diễn tả thông qua một cấu trúc XML đơn giản,

Được tìm kiếm dễ dàng bằng những phương thức đơn giản (simple mechanism).

Trang 19

Các thành phần của Webservice

Trang 20

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.

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ở.

Trang 21

WSDL – Web Service Description Language

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồm các thông tin:

Trang 22

WSDL – Web Service Description Language

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 CSDL Cả hai phần này sẽ được lưu trong 2 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ụ

Trang 23

UDDI - Universal Description, Discovery, and

Trang 24

SOAP –

Simple Object Access

Trang 25

2.2.Hoạt động và kiến trúc của webservice

Hoạt động

Mô hình hoạt động của ứng dụng WebService gồm 3 thành phần chính:

UDDI register: Công cụ giúp nhà phát triển WS công bố những thông tin về WebService của mình cho cộng đồng các nhà phát triển ứng dụng Người dùng sẽ dựa vào các thông tin này để sử dụng WebService trong ứng dụng riêng của minh.

WebService: Chứa giao thức SOAP định dạng dữ liệu, tài liệu WSDL định nghĩa các hàm trong WebService, XML để xây dựng ứng dụng phân tán.

Applicantion Client: Ứng dụng phía Client sử dụng WebService xây dựng riêng cho mình

Trang 26

Dựa vào những thông tin này, Client có thể tạo những gói tin SOAP tương ứng để liên lạc với Service.

Trang 27

Kiến trúc của webservice

Dựa vào vai trò của từng thành phần trong web service.

Dựa vào các

protocol stacks của web service.

Trang 28

2.3 Các loại webservice và vấn đề bảo mật

RESTful Web Service

SOAP Web Service

Trang 29

SOAP Web Service

 SOAP được khuyến cáo bởi W3C cho giao tiếp giữa hai ứng dụng.

 Đó là nền tảng độc lập và ngôn ngữ độc lập Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào Chúng ta có thể viết bằng Java, PHP, NET, … và triển khai trên Window, Linux,…

Trang 30

RESTful Web Service

 RESTful web service nhanh vì không có đặc tả nghiêm ngặt như SOAP Nó chiếm ít băng thông và tài nguyên hơn.

 Nếu tính theo số dịch vụ mạng sử dụng, REST đã nổi lên trong vài năm qua như là một mô hình thiết kế dịch vụ chiếm ưu thế.

 RESTful web service cho phép định dạng dữ liệu khác nhau như Plain Text, HTML, XML và JSON.

Trang 31

2.4.Ưu nhược điểm của webservice

Trang 32

Ưu điểm

Web service cung cấp nền tảng rộng lớn chạy được

trên các hệ điều hành khác nhau

Nâng khả năng tái sử dụng.Thúc đẩy đầu tư toàn bộ các hệ thống phần mềm đã tồn.

Tạo ra được các mối quan hệ tương tác với nhau và phần mềm giữa các 2 hệ thống.

Thúc đẩy mạnh mẽ vào hệ thống tích hợp và giảm được sự phức tạp của hệ thống, giảm giá thành tương

tác tốt với hệ thống doanh nghiệp.

Trang 33

Nhược điểm

Có thể xảy ra thiệt hại lớn vào khoảng thời gian không hoạt động của web service như: giao diện không đổi mới, có thể lỗi nếu như máy tính không nâng cấp, thiếu các giao tiếp trong việc vận hành.

Có quá nhiều tiêu chuẩn cho 1 web service khiến người dùng khó nắm bắt.

Phải quan tâm nhiều đến vấn đề bảo mật.

Trang 34

Định nghĩa và đặc trưng của SOAP

Cấu trúc của 1 message theo SOAP

Những kiểu truyền thông của SOAPCách thức hoạt động của SOAP

Lợi ích và hạn chế

Trang 35

3.1 Định nghĩa và đặc trưng của SOAPĐịnh nghĩa

SOAP (Simple Object Access Protocol - Giao thức truy cập đối tượng đơn giản) là giao thức nhắn tin cho phép các

chương trình chạy trên các hệ điều hành khác nhau (như Windows và Linux) giao tiếp được với nhau thông qua giao thức HTTP và Ngôn ngữ XML.

SOAP (Giao thức truy cập đối tượng đơn giản) là một giao thức internet cho

phép các chương trình trong các hệ điều hành khác nhau hoặc trên các máy

chủ riêng biệt liên kết với nhau qua internet

Trang 36

Đặc trưng của SOAP

SOAP được thiết kế đơn giản và dễ mở rộng.

Tất cả các message 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ó garbage collection phân tán, và cũ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.

Trang 37

3.2.Cấu trúc của 1 message theo SOAP

Message theo 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 message, 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 Những đầu mục còn có thể mang những dữ liệu chứng thực, những chữ kí số hóa, và thông tin mã hóa, hoặc những cài đặt cho giao tá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à phản hồi.

Phần tử phát sinh lỗi (Fault) cung cấp thông tin lỗi xảy ra trong quá trình xử lý thông điệp.

Trang 38

3.2.Cấu trúc của 1 message theo SOAP

Trong trường hợp đơn giản nhất, phần thân của SOAP message gồm có:Tên của message

Một tham khảo tới một thể hiện service.

Một hoặc nhiều tham số mang các giá trị và mang các tham chiếu Có 3 kiểu thông báo

o Request messages: Với các tham số gọi thực thi một service

o Response messages: Với các tham số trả về, được sử dụng khi đáp ứng yêu cầu.

o Fault messages báo tình trạng lỗi.

Trang 39

3.3.Những kiểu truyền thông của SOAP

SOAP hỗ trợ hai kiểu truyền thông khác nhau:Remote procedure call (RPC): Cho phép

gọi hàm hoặc thủ tục qua mạng Kiểu này được khai thác bởi nhiều web service và có nhiều trợ giúp.

Document (Được biết như kiểu hướng message): Kiểu này cung cấp một lớp thấp của sự trừu tượng hóa và yêu cầu người lập trình nhiều hơn khi làm việc.

Trang 40

3.4.Cách thức hoạt động của SOAP

 SOAP kết hợp các ngôn ngữ lập trình XML, HTTP hoặc SMTP để gửi và nhận tin nhắn qua internet Nó không bị hạn chế bởi ngôn ngữ ứng dụng (Java, C#, Perl, C++) hoặc nền tảng (Windows, UNIX, Mac) và điều này làm cho nó linh hoạt hơn nhiều so với các giải pháp khác.

 SOAP kết hợp tất cả các ngôn ngữ khác nhau vào một giao diện đơn giản mà bạn nhìn thấy và sử dụng liền mạch.

Trang 41

3.4.Cách thức hoạt động của SOAP

Bạn chỉ cần thực hiện các hành động bạn muốn và SOAP làm cho mọi thứ hoạt động đúng Kết quả cuối cùng là một trải nghiệm trực tuyến đơn giản và nhanh chóng để sử dụng.SOAP là một giao thức hầu như luôn được sử dụng trong bối

cảnh của khung dịch vụ Web / SOA Do đó, giao diện lập trình ứng dụng ( API ) của nó thường bị ẩn bởi giao diện cấp cao hơn cho SOAP Có các công cụ phần mềm trung gian API có sẵn cho gần như tất cả các ngôn ngữ lập trình hiện đại và Microsoft cung cấp nhiều công cụ NET SOAP / SOA.

Trang 42

3.5.Lợi ích và hạn chế của SOAP

Trang 45

Hạn chế

SOAP có tốc độ chậm hơn nhiều so với các loại tiêu chuẩn phần mềm trung gian khác, kể cả CORBA Nguyên nhân của việc này là do SOAP sử dụng định dạng XML khá rườm rà Do đó, bạn cần hiểu đầy đủ về các giới hạn hiệu năng mà SOAP có thể đáp ứng trước khi xây dựng các ứng dụng dựa trên SOAP.

SOAP thường bị giới hạn trong khả năng tổng hợp và không có các thông báo sự kiện khi sử dụng HTTP để truyền tải thông tin Ngoài ra, thường sẽ chỉ có một khách hàng có thể sử dụng các dịch vụ của một máy chủ trong các tình huống nhất định.

Một lần nữa, khi sử dụng HTTP làm giao thức truyền tải, thường có thể xảy ra tình trạng trì trệ (latency) trong quá trình tường lửa phân tích việc truyền tải HTTP Bởi vì có một thực tế là HTTP cũng được sử dụng khi duyệt web và nhiều tường lửa không phân biệt được sự khác biệt giữa việc sử dụng HTTP trong trình duyệt Web và việc sử dụng HTTP trong SOAP.

Trang 46

4 Restful

Định nghĩa và các thành phần của

Restful API

Cách thức hoạt động của Restful

Tiêu chí để một API được coi là

Quản lí version và status code

Ưu điểm và thách

thức của RestfulRestful & Soap

Trang 47

4.1.Định nghĩa và các thành phần của Restful API

RESTful API (còn được gọi là REST API) là một tập hợp các tiêu chuẩn dùng trong việc xây dựng và thiết kế API cho web services để việc quản lý các Resource trở nên dễ dàng hơn Có thể dễ dàng nhận thấy rằng RESTful API chú trọng vào tài nguyên của hệ thống, những Resource này thường được định dạng sẵn và sử dụng HTTP để truyền tải đi.

Trang 48

Định nghĩa

Restful API chính là một tiêu chuẩn dùng trong việc thiết kế API dành cho các trang web Mọi tiêu chuẩn này được dùng để thiết kế web, đồng thời quản lý các resource Nền tảng này chú trọng vào tài nguyên hệ thống ví dụ như là tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu di động,… Nó cũng bao gồm các trạng thái tài nguyên được định dạng và truyền tải qua HTTP

Trang 49

Các thành phần của Restful API

Thành phần chính của Restful API bao gồm API (Application Programming Interface) và REST (REpresentational State Transfer).

Trang 50

API hay còn được biết đến là từ viết tắt của Application Programming Interface Nói một cách dễ hiểu, API chính là một tập các quy tắc, cơ chế mà một phần ứng dụng tương tác với một phần ứng dụng khác API có thể trả về dữ liệu mà chúng ta cần cho ứng dụng của mình Những điều này thường là kiểu dữ liệu phổ biến như JSON hay XML

Trang 51

•REST là một dạng chuyển đổi cấu trúc dữ

liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, … đến một URL để xử lý dữ liệu.

Ngày đăng: 29/06/2024, 06:22

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w