평범한 영어로 된 "웹 서비스"는 무엇입니까?


186

SO, Wikipedia, Google 등에서 "웹 서비스"에 대해 읽었으며 그 내용이 무엇인지 이해하지 못합니다. 일반 영어 정의 / 설명은 무엇입니까?

예를 들어 PHP를 사용하여 간단한 웹 사이트를 만들면 임의의 정수가 페이지에 인쇄됩니다. 이것이 "웹 서비스"입니까? 그렇지 않다면 왜 안됩니까?

답변:


286

간단한 정의 : 웹 서비스는 웹 (HTTP)을 통해 다른 프로그램에서 액세스 할 수있는 기능입니다.

예를 들어 HTML을 출력하는 PHP로 웹 사이트를 만들 때 대상은 브라우저 이며, 확장하여 브라우저에서 페이지를 읽는 사람도 있습니다. 웹 서비스는 사람을 대상으로하지 않고 다른 프로그램을 대상으로합니다.

따라서 임의의 정수를 생성하는 PHP 사이트는 다른 프로그램이 사용할 수있는 형식으로 정수를 출력하는 경우 웹 서비스가 될 수 있습니다. 다른 프로그램이 출력을 이해할 수있는 한 XML 형식이거나 다른 형식 일 수 있습니다.

전체 정의는 분명히 더 복잡하지만 일반 영어를 요구했습니다.


2
이 설명은 좋지만 HTML의 다른 프로그램에서 임의의 정수를 소비하는 기능은 무엇입니까? HTML을 읽을 수있는 라이브러리가 많이 있으며 이것은 XML을 읽는 것과 동일하며 JSON을 읽는 것과 거의 같습니다. 나는이 게시물이 아주 오래된 것을 알고 있지만 가능하다면 의견을 말하십시오.
Pavlo

7
능력보다는 의도의 문제입니다. 웹 서비스의 의도는 다른 응용 프로그램에서 사용하는 것입니다. html의 의도는 브라우저에 의해 사용자에게 제공됩니다.
Vincent Ramdhanie

이것이 API와 매우 흡사하다고 느끼는 다른 사람들을 위해 – 웹 서비스와 API
Sami Birnbaum

60

기술적이지 않은 간단한 설명 : 웹 서비스를 사용하면 브라우저를 사용하여 웹 페이지를 여는 대신 웹 프로그램이 웹 페이지와 통신 할 수 있습니다.

예 : maps.google.com으로 이동하여 집 주소를 입력하고 브라우저에서 거주하는 지역의지도를 볼 수 있습니다.

그러나 Google지도와 같이 주소를 가져와 예쁜지도를 표시하려는 컴퓨터 프로그램을 작성하는 경우 어떻게 되나요?

완전히 새로운지도 프로그램을 처음부터 작성하거나 Google지도에서 제공하는 웹 서비스를 호출하여 주소를 보내면 프로그램에 표시 할 수있는 위치의 그래픽지도를 반환 할 수 있습니다.

다른 게시물 중 일부가 들어가면서 더 많은 내용이 있지만 응용 프로그램에서 정보를 검색하거나 일부 리소스에 정보를 제출할 수 있다는 결론이 있습니다. 다른 예 :

  1. 웹 서비스를 사용하여 Amazon.com에서 도서에 대한 정보를 검색 할 수 있습니다.
  2. 유사한 웹 서비스를 사용하여 Amazon.com에 주문을 제출할 수 있습니다.
  3. 외부 응용 프로그램이 회사 내의 제품 정보를 찾을 수 있도록 웹 서비스를 만들 수 있습니다.
  4. 외부 애플리케이션이 회사에 주문을 제출할 수 있도록 웹 서비스를 작성할 수 있습니다.

34

예, 간단한 웹 서비스입니다.

웹 서비스는 실제로 클라이언트가 데이터에 원격으로 액세스 / 수정할 수있는 요청 / 응답 메커니즘에 지나지 않습니다. 웹 서비스 (SOAP, SOA 등)에 대한 공식적인 표준이 있지만 간단한 페이지도 서비스입니다.

페이지에 인쇄 할 때의 주요 단점은 서비스에서 HTML을 반환한다는 것입니다. 대부분의 클라이언트 프레임 워크 (및 서버 프레임 워크)는 JSON 및 XML을 사용하여 설계되었으므로 바람직한 데이터 형식은 JSON 및 XML입니다.

따라서 서비스를 수정하여 다음을 반환하는 경우 :

<RANDOM>some random number</RANDOM>

오히려

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

대부분의 고객에게 더 유용 할 것입니다.


그것을 반영하기 위해 내 대답을 업데이트했습니다. SO가 XML / HTML 탭을 표시하지 않는 문제가
David Arno

감사. 정확히 내가 생각하는 것. XML은 HTML과 매우 유사하므로 웹 서비스에서 제공하는 HTML 페이지입니다.
Pavlo

21

간단히 말해서 웹 서비스는 http 프로토콜을 통해 데이터를 서비스로 제공하는 것입니다. 항상 그런 것은 아닙니다. ...하지만 가까이 있습니다.

표준 웹 서비스 사용 메시지의 통신 ​​및 구조를 정의하는 SOAP 프로토콜이며 XML은 데이터 형식입니다.

웹 서비스는 다른 기술을 사용하여 구축 된 응용 프로그램이 문제없이 서로 통신 할 수 있도록 설계되었습니다.

웹 서비스의 예는 Weather.com과 같이 사이트에서 사용할 수있는 날씨 정보를 제공하거나 UPS가 배송 견적 또는 패키지 추적을 요청하는 방법을 제공하는 것입니다.

편집하다

내가 언급 한 것처럼 항상 SOAP는 아니지만보다 명확하게하기 위해 SOAP와 관련하여 표현을 변경했습니다. 핵심은 데이터를 UI 요소가 아닌 서비스로 제공하는 것입니다.


1
SOAP 일 필요는 없습니다. 웹 서비스 (소문자)에 대해 이야기하고 있다면 REST가 점점 일반화되고 있습니다.
John Topley

17

웹 서비스는 웹 서비스가 사람이 아닌 소프트웨어가 소비 할 수있는 정보를 제공한다는 점에서 웹 사이트와 다릅니다. 결과적으로 우리는 일반적으로 노출 된 JSON , XML 또는 SOAP 서비스에 대해 이야기하고 있습니다.

웹 서비스는 "매시업"의 핵심 구성 요소입니다. 매시업은 많은 웹 사이트의 정보가 새롭고 유용한 서비스로 자동 집계되는 경우입니다. 예를 들어, 경찰 보고서에 대한 정보와 함께 Google지도를 집계하여 해당 지역의 범죄를 그래픽으로 표시하는 사이트가 있습니다. 매시업의 또 다른 유형은 다른 사이트에서 제공 한 실제 주식 데이터를 가져 와서 가짜 거래 응용 프로그램과 결합하여 주식 시장 "게임"을 만드는 것입니다.

웹 서비스는 뉴스 (RSS 참조), 사이트에 추가 된 최신 항목, 새로운 제품에 대한 정보, 팟 캐스트 및 최신 웹 전환을 가능하게하는 기타 훌륭한 기능을 제공하는데도 사용됩니다.

도움이 되었기를 바랍니다!


15

가장 일반적인 영어 설명은 유추를 사용하여 비롯됩니다.

  • 웹 페이지를 통해 사람들은 서로 의사 소통하고 협업 할 수 있습니다.
  • 웹 서비스를 통해 프로그램은 서로 통신하고 협업 할 수 있습니다.

PHP 예제는 다른 프로그램에서 출력을 사용할 수 있기 때문에 해당 정의에 따른 웹 서비스입니다. 그러나 실제로 HTML 화면 스크래핑은 신뢰할 수 있거나 유지 관리 가능한 웹 서비스 생성 방법이 아닙니다.


13

대부분의 사이트에는 브라우저를 사용할 때 방문하는 HTML 페이지가 있습니다. 이 페이지는 사람이 이해할 수 있기 때문에 많은 데이터가 함께 쌓일 수있는 사람이 읽을 수있는 페이지 (브라우저에서 한 번 렌더링 됨)입니다.

다른 누군가가 그 데이터 중 일부를 사용하고 싶다고 상상해보십시오. 그들은 귀하의 페이지를 다운로드하고 원하는 데이터를 얻기 위해 모든 "노이즈"를 필터링하기 시작할 수 있지만, 대부분의 웹 사이트는 모든 요소에 대해 동일한 지점에 데이터를 배치 할 수 있도록 100 % 확실한 방식으로 구축되지 않았습니다. 번거롭기 때문에 신뢰할 수 없게됩니다.

웹 서비스를 입력하십시오.

웹 서비스는 웹 사이트에서 데이터를 읽고 업데이트하고 삭제하려는 사용자에게 웹 사이트가 제공하도록 선택한 것입니다. 데이터의 "백도어"라고 할 수 있습니다. 웹 페이지의 일부로 데이터를 표시하는 대신 XML과 JSON 중 가장 많이 사용되는 미리 결정된 방식으로 데이터가 제공됩니다. 웹 서비스와 통신하는 몇 가지 방법이 있으며, 일부는 SOAP를 사용하고, 다른 일부는 REST'ful 웹 서비스를 가지고 있습니다.

모든 웹 서비스에 공통적 인 것은 사이트가 제공하는 웹 페이지와 기계가 읽을 수있는 것입니다. 이는 데이터를 사용하려는 다른 사람들이 파싱하고 사용하기 쉬운 특정 데이터를 다시 받도록 요청을 보낼 수 있음을 의미합니다. 일부 사이트에서는 중요한 데이터에 대한 요청에 사용자 이름 / 암호를 제공해야하는 반면 다른 사이트에서는 누구나 필요한 데이터를 추출 할 수 있습니다.


12

웹 서비스는 응용 프로그램 또는 시스템간에 데이터를 교환하는 데 사용되는 개방형 프로토콜 및 표준 모음입니다. 다양한 프로그래밍 언어로 작성되고 다양한 플랫폼에서 실행되는 소프트웨어 응용 프로그램은 웹 서비스를 사용하여 단일 컴퓨터의 프로세스 간 통신과 유사한 방식으로 인터넷과 같은 컴퓨터 네트워크를 통해 데이터를 교환 할 수 있습니다. 이 상호 운용성 (예 : Java와 Python 또는 Windows와 Linux 응용 프로그램 간)은 개방형 표준 (XML, SOAP, HTTP)을 사용하기 때문입니다.

모든 표준 웹 서비스는 다음 구성 요소를 사용하여 작동합니다.

  • SOAP (Simple Object Access Protocol)
  • UDDI (범용 설명, 발견 및 통합)
  • WSDL (웹 서비스 기술 언어)

다음과 같이 다소 작동합니다.

  • 클라이언트 프로그램은 계정 등록 정보를 SOAP 메시지로 묶습니다.
  • 이 SOAP 메시지는 HTTP POST 요청의 본문으로 웹 서비스에 전송됩니다.
  • 웹 서비스는 SOAP 요청의 압축을 풀고 응용 프로그램이 이해할 수있는 명령으로 변환합니다.
  • 응용 프로그램은 필요에 따라 정보를 처리하고 해당 고객의 새로운 고유 계정 번호로 응답합니다.
  • 다음으로, 웹 서비스는 응답을 다른 SOAP 메시지로 패키지하고 HTTP 요청에 대한 응답으로 클라이언트 프로그램으로 다시 보냅니다.
  • 클라이언트 프로그램은 계정 등록 프로세스 결과를 얻기 위해 SOAP 메시지의 압축을 풉니 다.

1
" 모든 표준 웹 서비스는 다음 구성 요소를 사용하여 작동합니다. "...이 답변의 문제점은 웹 서비스가 SOAP / WSDL 메커니즘 내에서 작동하거나 작동해야한다는 것을 나타냅니다. 정확하지 않습니다. REST (Representational State Transfer)는 웹 서비스 구현을위한 매우 인기있는 패러다임입니다. 일부 주요 웹 사이트는 REST 웹 서비스를 위해 SOAP 서비스를 더 이상 사용하지 않습니다.
scottb

@scottb 전적으로 동의합니다. 업데이트 해 주셔서 감사합니다. 또한 내 방어에서 웹 서비스에 대한 나의 지식은 당시 매우 제한적이었습니다!
vanguard69

7

Simple way to explain web service is ::

  • 웹 서비스는 월드 와이드 웹을 통해 두 전자 장치 간의 통신 방법입니다.
  • 프로그래머가 서버와 통신하는 데 사용하는 프로세스라고 할 수 있습니다.
  • 이 프로세스 프로그래머를 호출하기 위해 SOAP 등을 사용할 수 있습니다
  • 웹 서비스는 TCP / IP, HTTP와 같은 개방형 표준 위에 구축됩니다.

웹 서비스의 장점은 .net에서 하나의 코드를 개발하고 JAVA를 사용하여이 코드를 사용하려고한다는 것입니다. 추상화 된 레이어와 직접 상호 작용할 수 있으며 코드 개발에 어떤 기술이 사용되었는지 알지 못합니다.


영상


7

웹 서비스는 둘 이상의 원격 웹 응용 프로그램이 네트워크 / 인터넷을 통해 서로 상호 작용하는 기술입니다. Java, .net, PHP 등을 사용하여 구현할 수 있습니다.

웹 서비스의 특징 :-

  1. 웹 서비스를 사용하면 둘 이상의 시스템이 네트워크를 통해 데이터를 교환합니다. 데이터는 XML 또는 JSON을 사용하여 교환됩니다.
  2. 모든 웹 서비스에는 서비스가 배치되는 서버 끝과 클라이언트가 서비스에 액세스하는 클라이언트 부분이 있습니다. 모든 웹 서비스에는 여러 클라이언트가있을 수 있습니다. 여행 포털이 정기 여객기의 항공권을 판매 할 때. 포털은 클라이언트이고 항공사는 서비스를 판매하는 서버입니다.
  3. 웹 서비스는 동기 적이거나 비동기적일 수 있습니다. 웹 응용 프로그램은 많은 웹 서비스 와 상호 작용할 수 있지만 이러한 웹 서비스는 클라이언트 웹 응용 프로그램과 느슨하게 연결됩니다. 즉, 부모 응용 프로그램의 변경 사항은 웹 서비스에 거의 영향을 미치지 않거나 거의 영향을 미치지 않습니다.
  4. 웹 서비스는 XML 페이로드를 사용하여 PDF, Word 등과 같은 첨부 문서를 전달할 수 있습니다. Java는이 유형의 웹 서비스에 대해 별도의 API를 제공합니다.
  5. 웹 서비스는 항상 클라이언트에게 서비스의 내부 복잡성을 숨 깁니다. 예를 들어, 타사 포털을 통해 티켓을 판매하는 여객기는 웹 서비스를 통해서만 최종 사용자 정보를 수집하고 그 대신 티켓을 제공합니다. 티켓을 판매하는 포털은 항공사 티켓 예약 시스템의 내부 복잡성을 걱정할 필요가 없습니다.
  6. 웹 서비스는 불이 나거나 유형을 잊거나 무언가를 반환 할 수 있습니다. 웹 응용 프로그램이 일부 정보를 타사 응용 프로그램으로 보내려고한다고 가정합니다. 발신자는 수신자의 승인이 필요하지 않습니다. 이러한 유형의 시나리오에서는 화재 및 웹 유형의 웹 서비스를 잊어야합니다.

5

소프트웨어 개발자가 사용하는 웹 서비스는 일반적으로 원격 서버에서 수행되고 XML / SOAP 사양을 사용하여 호출되는 작업을 말합니다. 모든 정의와 마찬가지로 뉘앙스가 있지만 이것이 가장 일반적으로 사용되는 용어입니다.


1
미안 Jezelll, downvote를 던져했다. 이것은 'plain english'로 간주되는 것이 아닙니다. 초보자가 이해할 수 있도록 '일반 영어'의 예로 Mitchel 판매자의 답변 참조
Dhaust

5

운영 체제는 상호 작용할 수있는 GUI (및 CLI)를 제공합니다. 또한 프로그래밍 방식으로 상호 작용할 수있는 API를 제공합니다.

마찬가지로 웹 사이트는 상호 작용할 수있는 HTML 페이지를 제공하며 프로그래밍 방식으로 동일한 정보와 작업을 제공하는 API를 제공 할 수도 있습니다. 또는 해당 서비스는 관련 사용자 인터페이스가없는 API를 통해서만 사용할 수 있습니다.


4

잘,

@Vincent Ramdhanie가 말했듯이 웹 서비스는 최종 사용자가 아닌 다른 프로그램에서 보거나 소비하는 것이 아닙니다. 따라서 프로그램의 기술 논리는 다음과 같습니다.

정상적인 프로그램으로 행동하는 경우

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

지금

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

그러나 웹 서비스의 경우 흐름이 약간 변경됩니다.

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program 지금

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

도움이 되었기를 바랍니다 :)


3

간단한 정의는 일반적인 메소드 호출처럼 작동하는 HTTP 요청입니다. 즉, 매개 변수를 승인하고 오브젝트로 직렬화 해제 할 수있는 구조화 된 결과 (일반적으로 XML)를 리턴합니다.


3

웹 서비스는 거의 일반적인 웹 페이지와 같습니다. 차이점은 프로그램이 페이지에서 HTML을 사용하지 않을 정도로 데이터를 매우 쉽게 가져올 수 있도록 형식화되어 있다는 것입니다. 그들은 일반적으로 형식의 일관성에 대해 더 신뢰할 수 있으며, 비누 또는 원시 XML과 같은 내용을 정의하기 위해 다른 공식 프로세스를 사용할 수 있으며 종종 데이터의 구조를 공식적으로 정의하는 설명자 문서가 있습니다.


3

다른 컴퓨터에서 작업을 호출하기 위해 메시지를 보내는 방법입니다. 웹 서비스와 이전 방법의 차이점은 유선으로 전송되는 것이 더 높은 수준으로 표준화된다는 것입니다.

기존 방식 : 엔디 언, 인코딩, 포트 번호 등을 설명합니다. 웹 서비스 : URL, XML


3

웹 서비스는 두 개의 관련이없는 프로그램 간의 통신 매체와 같습니다. 프로그램은 지정된 프로토콜 (일반적으로 SOAP (Simple Object Access Protocol) )을 매체로 사용하여 각 엔드에서 처리 / 실행해야하는 REQUEST / RESPONCE를 이해합니다.


2

웹 서비스는 서버가 수행 할 작업 계약을 정의합니다. 형식과 프로토콜은 실제로 중요하지 않지만 통신 방법에 대한 정의가 있어야합니다.

귀하의 예에서, 해당 번호를 읽는 다른 응용 프로그램에서 사용중인 경우 서비스에 의존합니다. 그렇지 않으면 숫자가있는 웹 페이지 일뿐입니다.


1

간단히 말해서 웹 서비스는 간단한 프로그램이 될 수 있습니다. 예 : UDDI를 통해 공개되어야하고 다른 프로그램이 사용할 수있는 두 개의 숫자를 추가하십시오. WSDL은 웹 서비스와 바인딩 및 포트 세부 사항을 찾기위한 엔드 포인트를 갖습니다.


0

'웹 서비스'는 '웹'과 '서비스'라는 두 단어로 구성됩니다.
'웹'이란 무엇입니까? '웹'은 'World Wide Web'을 의미합니다.
무엇에 대한 '서비스'? 휴먼이 아니라면 텍스트, 이미지, 비디오 등의 '웹 페이지'
입니다. 프로그램이 TCP, HTTP 등과 같은 '웹'과 동일한 기술을 사용하여 인터넷을 통해 통신합니다.
'서비스' 또한 CRUD의 '서비스 계층'과 같은 일부 기능을 제공합니다. 주로 두 가지 유형이 있습니다.
1. SOAP (Simple Object Access Protocol)
2. RESTful (Representational state transfer)


0

다른 정의에 대한 편견없이 웹 서비스는 네트워크를 통해 상호 운용 가능한 기계 대 기계 / 응용 프로그램 간 응용 프로그램 상호 작용을 허용하는 소프트웨어 시스템이라고 말할 수 있습니다. 이 일반 정의는 REST 아키텍처가 완전히 정의 된 프로토콜 인 SOAP와는 달리 아키텍처 스타일이지만 유사한 기능을 제공하므로 REST 서비스를 웹 서비스로 간주하는 데 도움이됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.