[web-services] 평범한 영어로 된 “웹 서비스”는 무엇입니까?

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

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



답변

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

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

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

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


답변

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

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

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

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

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

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

답변

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

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

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

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

<RANDOM>some random number</RANDOM>

오히려

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

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


답변

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

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

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

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

편집하다

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


답변

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

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

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

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


답변

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

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

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


답변

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

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

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

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

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