Một dịch vụ web của Wikipedia là gì trong tiếng Anh đơn giản?


186

Tôi đã đọc về "dịch vụ web" ở đây trên SO, trên Wikipedia, Google, v.v. và tôi không hiểu chúng là gì. Định nghĩa / mô tả tiếng Anh đơn giản là gì?

Nếu tôi tạo một trang web đơn giản bằng PHP, chỉ cần in một số nguyên ngẫu nhiên lên trang ... đây có phải là "dịch vụ web" không? Nếu không, tai sao không?

Câu trả lời:


286

Một định nghĩa đơn giản: Dịch vụ web là một chức năng có thể được truy cập bởi các chương trình khác trên web (HTTP).

Ví dụ: khi bạn tạo một trang web bằng PHP tạo ra HTML, mục tiêu của nó là trình duyệt và bằng cách mở rộng con người đọc trang trong trình duyệt. Một dịch vụ web không nhắm vào con người mà là các chương trình khác.

Vì vậy, trang web PHP của bạn tạo ra một số nguyên ngẫu nhiên có thể là một dịch vụ web nếu nó xuất ra số nguyên ở định dạng có thể được sử dụng bởi một chương trình khác. Nó có thể ở định dạng XML hoặc định dạng khác, miễn là các chương trình khác có thể hiểu đầu ra.

Định nghĩa đầy đủ rõ ràng phức tạp hơn nhưng bạn đã yêu cầu tiếng Anh đơn giản.


2
Giải thích này là tốt, nhưng điều gì phá vỡ khả năng tiêu thụ số nguyên ngẫu nhiên của chương trình khác từ HTML? Có rất nhiều thư viện để đọc HTML và điều này giống như đọc XML đối với tôi và gần giống như đọc JSON. Tôi biết bài này rất cũ, mặc dù bình luận xin vui lòng, nếu nó có thể.
Pavlo

7
Đó là một vấn đề của ý định hơn là khả năng. Mục đích của dịch vụ web là được sử dụng bởi các ứng dụng khác. Ý định của html là được trình duyệt hiển thị cho người dùng.
Vincent Ramdhanie

đối với bất kỳ ai khác cảm thấy điều này nghe rất giống với API - hãy xem bài viết tuyệt vời này để biết sự khác biệt giữa dịch vụ web và api
Sami Birnbaum

60

Giải thích đơn giản, không mang tính kỹ thuật: Một serivce web cho phép PROGRAM nói chuyện với một trang web, thay vì sử dụng trình duyệt của bạn để mở một trang web.

Ví dụ: Tôi có thể truy cập maps.google.com và nhập địa chỉ nhà của tôi và xem bản đồ nơi tôi sống trong trình duyệt của mình.

Nhưng nếu bạn đang viết một chương trình máy tính mà bạn muốn lấy địa chỉ và hiển thị một bản đồ đẹp, giống như bản đồ của Google thì sao?

Chà, bạn có thể viết một chương trình lập bản đồ hoàn toàn mới từ đầu, HOẶC bạn có thể gọi một dịch vụ web mà Google maps cung cấp, gửi địa chỉ và nó sẽ trả về bản đồ đồ họa của vị trí mà bạn có thể hiển thị trong chương trình của mình.

Có rất nhiều điều nữa, như một số bài viết khác được đưa vào, nhưng kết quả cuối cùng là nó cho phép ứng dụng của bạn truy xuất thông tin TỪ hoặc gửi thông tin đến một số tài nguyên. Một số ví dụ khác:

  1. Bạn có thể sử dụng dịch vụ web để truy xuất thông tin về sách tại Amazon.com
  2. Bạn có thể sử dụng một dịch vụ web tương tự để gửi đơn đặt hàng đến Amazon.com
  3. Bạn có thể TẠO một dịch vụ web để cho phép các ứng dụng bên ngoài tìm hiểu về thông tin sản phẩm trong công ty của bạn
  4. bạn có thể tạo một dịch vụ web để cho phép các ứng dụng bên ngoài gửi đơn đặt hàng đến công ty của bạn.

34

Vâng, đó là một dịch vụ web đơn giản.

Các dịch vụ web thực sự không có gì khác hơn là một cơ chế yêu cầu / phản hồi cho phép khách hàng truy cập / sửa đổi dữ liệu từ xa. Có các tiêu chuẩn chính thức cho các dịch vụ web (SOAP, SOA, v.v.), nhưng trang đơn giản của bạn cũng là một dịch vụ.

Nhược điểm chính của việc in nó lên một trang là dịch vụ của bạn sẽ trả về HTML. Các định dạng dữ liệu ưu tiên là JSON và XML, vì hầu hết các khung máy khách (và khung máy chủ) được thiết kế xung quanh bằng cách sử dụng JSON và XML.

Vì vậy, nếu bạn sửa đổi dịch vụ của bạn để trở lại:

<RANDOM>some random number</RANDOM>

thay vì:

<HEAD>...</HEAD>  
<BODY>some random number</BODY>

sau đó nó sẽ hữu ích hơn cho hầu hết khách hàng


Đã cập nhật câu trả lời của tôi để phản ánh điều đó. Có vấn đề với SO không hiển thị các tab XML / HTML :)
David Arno

Cảm ơn. Chính xác những gì tôi nghĩ về điều đó. XML rất giống với HTML, vì vậy trang HTML mà chúng tôi nói đến được cung cấp bởi dịch vụ web.
Pavlo

21

Nói một cách đơn giản, dịch vụ web là thứ cung cấp dữ liệu dưới dạng dịch vụ qua giao thức http. Cho rằng đó không phải là trường hợp .... nhưng nó gần.

Dịch vụ web tiêu chuẩn sử dụng Giao thức SOAP xác định giao tiếp và cấu trúc của thông báo và XML là định dạng dữ liệu.

Các dịch vụ web được thiết kế để cho phép các ứng dụng được xây dựng bằng các công nghệ khác nhau giao tiếp với nhau mà không gặp sự cố.

Ví dụ về các dịch vụ web là những thứ như Weather.com cung cấp thông tin thời tiết mà bạn có thể sử dụng trên trang web của mình hoặc UPS cung cấp phương pháp để yêu cầu báo giá vận chuyển hoặc theo dõi các gói hàng.

Biên tập

Thay đổi từ ngữ liên quan đến SOAP, vì nó không phải lúc nào cũng SOAP như tôi đã đề cập, nhưng muốn làm cho nó rõ ràng hơn. Điều quan trọng là cung cấp dữ liệu dưới dạng dịch vụ, không phải là yếu tố UI.


1
Nó không phải là SOAP - nếu bạn đang nói về các dịch vụ web (viết thường) thì REST ngày càng phổ biến.
John Topley

17

Một dịch vụ web khác với một trang web ở chỗ một dịch vụ web cung cấp thông tin có thể sử dụng được bằng phần mềm thay vì con người. Kết quả là, chúng ta thường nói về JSON tiếp xúc các dịch vụ , XML hoặc SOAP được trưng ra.

Các dịch vụ web là một thành phần chính trong "mashup". Mashup là khi thông tin từ nhiều trang web được tự động tổng hợp thành một dịch vụ mới và hữu ích. Ví dụ: có những trang web tổng hợp Google Maps với thông tin về các báo cáo của cảnh sát để cung cấp cho bạn một đại diện đồ họa về tội phạm trong khu vực của bạn. Một loại mashup khác là lấy dữ liệu chứng khoán thực được cung cấp bởi một trang web khác và kết hợp nó với một ứng dụng giao dịch giả để tạo ra một "trò chơi" trên thị trường chứng khoán.

Các dịch vụ web cũng được sử dụng để cung cấp tin tức (xem RSS), các mục mới nhất được thêm vào trang web, thông tin về các sản phẩm mới, podcast và các tính năng tuyệt vời khác làm cho web hiện đại trở nên hiện đại.

Hi vọng điêu nay co ich!


15

Giải thích tiếng Anh đơn giản nhất đến từ việc sử dụng một phép loại suy:

  • Các trang web cho phép mọi người giao tiếp và cộng tác với nhau.
  • Các dịch vụ web cho phép các chương trình giao tiếp và cộng tác với nhau.

Ví dụ PHP của bạn là một dịch vụ web theo định nghĩa đó, bởi vì đầu ra có thể được sử dụng bởi một chương trình khác. Nhưng trong thực tế, quét màn hình HTML không phải là một cách đáng tin cậy hoặc có thể duy trì để sản xuất các dịch vụ web.


13

Đối với hầu hết các trang web, bạn có các trang HTML mà bạn truy cập khi bạn sử dụng trình duyệt của mình. Đây là những trang có thể đọc được bằng con người (một khi được hiển thị trong trình duyệt của bạn), nơi rất nhiều dữ liệu có thể được nhồi nhét cùng nhau, bởi vì nó có ý nghĩa đối với con người.

Bây giờ hãy tưởng tượng rằng ai đó muốn sử dụng một số dữ liệu đó. Họ có thể tải xuống trang của bạn và bắt đầu lọc tất cả "nhiễu" để lấy dữ liệu họ muốn, nhưng hầu hết các trang web không được xây dựng theo cách mà dữ liệu chắc chắn 100% được đặt ở cùng một vị trí cho tất cả các yếu tố, ngoài ra trở nên cồng kềnh nó cũng trở nên không đáng tin cậy.

Nhập dịch vụ web.

Dịch vụ web là thứ mà một trang web chọn cung cấp cho những người muốn đọc, cập nhật và / hoặc xóa dữ liệu khỏi trang web của bạn. Bạn có thể gọi nó là "cửa hậu" cho dữ liệu của bạn. Thay vì trình bày dữ liệu như một phần của trang web, nó được cung cấp theo cách được xác định trước trong đó một số phổ biến hơn là XML và JSON. Có một số cách để giao tiếp với dịch vụ web, một số sử dụng SOAP, một số cách khác có dịch vụ web REST'ful, v.v.

Điều phổ biến cho tất cả các dịch vụ web là chúng là chất tương tự có thể đọc được bằng máy với các trang web mà trang web cung cấp. Điều này có nghĩa là những người khác muốn sử dụng dữ liệu có thể gửi yêu cầu để lấy lại dữ liệu nhất định, dễ phân tích và sử dụng. Một số trang web có thể yêu cầu bạn cung cấp tên người dùng / mật khẩu trong yêu cầu, đối với dữ liệu nhạy cảm, trong khi các trang web khác cho phép mọi người trích xuất bất kỳ dữ liệu nào họ có thể cần.


12

Dịch vụ web là tập hợp các giao thức và tiêu chuẩn mở được sử dụng để trao đổi dữ liệu giữa các ứng dụng hoặc hệ thống. Các ứng dụng phần mềm được viết bằng nhiều ngôn ngữ lập trình khác nhau và chạy trên nhiều nền tảng khác nhau có thể sử dụng các dịch vụ web để trao đổi dữ liệu qua các mạng máy tính như Internet theo cách tương tự như giao tiếp giữa các quá trình trên một máy tính. Khả năng tương tác này (ví dụ, giữa Java và Python, hoặc các ứng dụng Windows và Linux) là do sử dụng các tiêu chuẩn mở (XML, SOAP, HTTP).

Tất cả các Dịch vụ Web tiêu chuẩn hoạt động bằng các thành phần sau:

  • SOAP (Giao thức truy cập đối tượng đơn giản)
  • UDDI (Mô tả phổ quát, Khám phá và Tích hợp)
  • WSDL (Ngôn ngữ mô tả dịch vụ web)

Nó hoạt động hơi giống như thế này:

  • Chương trình khách hàng gói thông tin đăng ký tài khoản thành một thông báo SOAP.
  • Thông báo SOAP này được gửi đến Dịch vụ web dưới dạng nội dung của yêu cầu POST HTTP.
  • Dịch vụ web giải nén yêu cầu SOAP và chuyển đổi nó thành một lệnh mà ứng dụng có thể hiểu được.
  • Ứng dụng xử lý thông tin theo yêu cầu và phản hồi bằng số tài khoản duy nhất mới cho khách hàng đó.
  • Tiếp theo, Dịch vụ Web đóng gói phản hồi vào một thông báo SOAP khác, nó sẽ gửi lại cho chương trình máy khách để đáp ứng yêu cầu HTTP của nó.
  • Chương trình khách hàng giải nén thông báo SOAP để có được kết quả của quá trình đăng ký tài khoản.

1
" Tất cả các Dịch vụ Web tiêu chuẩn hoạt động bằng các thành phần sau: " ... vấn đề với câu trả lời này là nó gợi ý rằng các dịch vụ web làm hoặc phải hoạt động trong cơ chế SOAP / WSDL. Điều này là không chính xác. Chuyển giao nhà nước đại diện (REST) ​​là một mô hình rất phổ biến khác để thực hiện các dịch vụ web. Một số trang web lớn đã từ chối các dịch vụ SOAP của họ để ủng hộ các dịch vụ web REST.
scottb 7/07/2015

@scottb Tôi hoàn toàn đồng ý. Cảm ơn các cập nhật. Ngoài ra, để bảo vệ tôi, kiến ​​thức của tôi về các dịch vụ Web rất hạn chế hồi đó!
vanguard69

7

Dịch vụ web là một công nghệ mà hai hoặc nhiều ứng dụng web từ xa tương tác với nhau qua mạng / internet. Nó có thể được thực hiện bằng cách sử dụng Java, .net, PHP, v.v.

Các tính năng của dịch vụ Web: -

  1. Sử dụng dịch vụ web hai hoặc nhiều hệ thống trao đổi dữ liệu qua mạng. Dữ liệu được trao đổi bằng cách sử dụng XML hoặc JSON.
  2. Bất kỳ dịch vụ web nào cũng có hai phần Máy chủ kết thúc nơi dịch vụ được triển khai và phần máy khách nơi khách hàng truy cập dịch vụ. Bất kỳ dịch vụ web có thể có nhiều khách hàng. Khi một cổng thông tin du lịch đang bán vé của một máy bay. Portal là khách hàng và Airline là máy chủ vì họ đang bán dịch vụ của mình.
  3. Các dịch vụ web có thể đồng bộ hoặc cũng có thể không đồng bộ. Một ứng dụng web có thể tương tác với nhiều dịch vụ web nhưng các dịch vụ web này được kết hợp lỏng lẻo với các ứng dụng web khách của chúng. Điều đó có nghĩa là bất kỳ thay đổi nào trong ứng dụng mẹ đều có ít hoặc không ảnh hưởng đến các dịch vụ web hoặc ngược lại.
  4. Các dịch vụ web có thể mang tài liệu đính kèm cũng như PDF, Word, vv với tải trọng XML của nó. Java cung cấp API riêng cho loại dịch vụ web này.
  5. Một dịch vụ web luôn che giấu sự phức tạp bên trong của dịch vụ cho các khách hàng của mình. Ví dụ, một máy bay bán vé qua cổng bên thứ ba chỉ thu thập thông tin người dùng cuối thông qua dịch vụ web và đổi lại, họ đang cung cấp vé. Cổng thông tin bán vé không phải bận tâm về sự phức tạp bên trong của hệ thống đặt vé máy bay.
  6. Một dịch vụ web có thể bị cháy và quên loại hoặc nó có thể trả lại một cái gì đó. Giả sử, một ứng dụng web chỉ muốn gửi một số thông tin đến ứng dụng của bên thứ ba. Người gửi không cần bất kỳ sự thừa nhận nào từ người nhận. Trong loại kịch bản này, chúng ta cần một loại dịch vụ web và quên.

6

Simple way to explain web service is ::

  • Dịch vụ web là phương thức liên lạc giữa hai thiết bị điện tử trên World Wide Web.
  • Nó có thể được gọi là một quá trình mà lập trình viên sử dụng để giao tiếp với máy chủ
  • Để gọi quy trình này, lập trình viên có thể sử dụng SOAP, v.v.
  • Các dịch vụ web được xây dựng dựa trên các tiêu chuẩn mở như TCP / IP, HTTP

Ưu điểm của dịch vụ web là, giả sử bạn phát triển một đoạn mã trong .net và bạn muốn sử dụng JAVA để sử dụng mã này. Bạn có thể tương tác trực tiếp với lớp trừu tượng và không biết công nghệ nào được sử dụng để phát triển mã.


Hình ảnh


5

Một dịch vụ web, được sử dụng bởi các nhà phát triển phần mềm, thường đề cập đến một hoạt động được thực hiện trên một máy chủ từ xa và được gọi bằng đặc tả XML / SOAP. Như với tất cả các định nghĩa, có nhiều sắc thái cho nó, nhưng đó là cách sử dụng phổ biến nhất của thuật ngữ này.


1
Xin lỗi Jezelll, đã phải ném xuống. Đây không phải là điều tôi sẽ xem xét 'tiếng Anh đơn giản' :( Tôi không gặp vấn đề gì với mục đích định nghĩa của bạn, nhưng sử dụng các từ như 'hoạt động', 'máy chủ từ xa', 'được gọi' và 'đặc tả' làm cho nó khó khăn để người mới bắt đầu hiểu. Xem Người bán Mitchel trả lời như một ví dụ về 'tiếng Anh đơn giản'.
Ngày

5

Một hệ điều hành cung cấp GUI (và CLI) mà bạn có thể tương tác. Nó cũng cung cấp một API mà bạn có thể tương tác với lập trình.

Tương tự, một trang web cung cấp các trang HTML mà bạn có thể tương tác và cũng có thể cung cấp API cung cấp thông tin và hoạt động tương tự theo chương trình. Hoặc các dịch vụ đó chỉ có thể có sẵn thông qua API không có giao diện người dùng được liên kết.


4

Tốt,

Như @Vincent Ramdhanie đã nói rằng một dịch vụ web không có nghĩa là được nhìn thấy / sử dụng bởi người dùng cuối mà là một chương trình khác. Vì vậy, logic kỹ thuật trong chương trình của bạn sẽ là:

Trong trường hợp hoạt động như một chương trình bình thường

user on website -> HTML/JS/JQuery etc -> give me a random number ->ur program

Hiện nay

ur program -> generate random number -> generate HTML and encapsulate o/p -> go back to user

nhưng trong trường hợp dịch vụ web, luồng thay đổi một chút:

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program Hiện nay

ur program -> generate random number -> generate XML/JSON/some other format -> my application -> generate HTML and encapsulate o/p -> go back to user

Hi vọng điêu nay co ich :)


3

Một định nghĩa đơn giản sẽ là một yêu cầu HTTP hoạt động như một cuộc gọi phương thức bình thường; tức là, nó chấp nhận các tham số và trả về một kết quả có cấu trúc, thường là XML, có thể được giải tuần tự hóa thành (các) đối tượng.


3

Các dịch vụ web gần giống như một trang web bình thường. Sự khác biệt là chúng được định dạng để giúp chương trình lấy dữ liệu từ trang rất dễ dàng, đến mức có thể không sử dụng bất kỳ HTML nào. Nhìn chung, chúng cũng đáng tin cậy hơn về tính nhất quán của định dạng, có thể sử dụng một quy trình chính thức khác để xác định nội dung như xà phòng hoặc xml thô và thường có một tài liệu mô tả chính thức xác định cấu trúc cho dữ liệu.


3

Một cách gửi tin nhắn để gọi một hoạt động trên một máy tính khác. Sự khác biệt giữa các dịch vụ web và các phương thức trước đó là những gì được gửi qua dây được chuẩn hóa ở mức cao hơn.

Cách cũ: mô tả endian, mã hóa, số cổng, v.v. Dịch vụ web: URL, XML


3

Dịch vụ web giống như một phương tiện giao tiếp giữa hai chương trình không liên quan. Các chương trình sử dụng một giao thức được chỉ định (Thông thường là Giao thức truy cập đối tượng đơn giản (SOAP) ) để hiểu REQUEST / RESPONCE mà chúng phải xử lý / thực hiện ở đầu cuối tương ứng.


2

Dịch vụ web xác định hợp đồng hành động mà máy chủ sẽ thực hiện cho bạn. Định dạng và giao thức không thực sự quan trọng, nhưng bạn nên có một số định nghĩa được thiết lập về cách thức giao tiếp xảy ra.

Trong ví dụ của bạn, điều đó phụ thuộc, nếu nó đang được sử dụng trong một ứng dụng khác đọc số đó, thì đó là dịch vụ, nếu không, đó chỉ là một trang web có số.


1

Nói một cách đơn giản, dịch vụ web có thể là bất kỳ chương trình đơn giản nào: thêm hai số sẽ được xuất bản qua UDDI và có thể được sử dụng bởi một chương trình khác. WSDL sẽ có điểm cuối để xác định vị trí của dịch vụ web và cả chi tiết ràng buộc và cổng.


0

Service Dịch vụ web 'bao gồm hai từ,' Web 'và' Dịch vụ '.
'Web' là gì? 'Web' có nghĩa là 'World Wide Web'.
'Dịch vụ' để làm gì? Không dành cho con người, nếu vậy, đó là 'Trang web', chẳng hạn như văn bản, hình ảnh, video, v.v.
Nó dành cho các Chương trình để giao tiếp qua Internet bằng cùng một công nghệ mà 'Web' đã sử dụng, như TCP, HTTP, v.v.
'Dịch vụ' cũng có nghĩa là nó cung cấp một số chức năng, như 'Lớp dịch vụ' trong CRUD. Có hai loại chủ yếu:
1. SOAP (Giao thức truy cập đối tượng đơn giản)
2. RESTful (Chuyển trạng thái đại diện)


0

Không ảnh hưởng đến các định nghĩa khác, tôi sẽ nói rằng một dịch vụ web là hệ thống phần mềm cho phép tương tác giữa máy với máy / ứng dụng với ứng dụng qua mạng. Định nghĩa chung này cũng sẽ giúp coi các kiến ​​trúc REST là một dịch vụ web vì chúng cung cấp chức năng tương tự mặc dù là một kiểu kiến ​​trúc không giống như SOAP là một giao thức được xác định đầy đủ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.