2016-09-06 4 views
0

많은 질문에서 사람들은 API와 웹 서비스의 차이점을 설명했습니다. 나는 그것이 서비스 제공자와 서비스 소비자 사이의 의사 소통의 수단이라는 것을 알고 있지만, 나에게 봉사하는 것과 똑같은 것처럼 보입니다. 소비자는 요청을 보내고 공급자로부터 응답을받습니다.API와 웹 서비스의 차이점은 무엇입니까?

  1. 그렇다면 실제로 그 차이는 무엇일까요?

  2. 왜 모두 웹 서비스API, 우리는 두 개의 서로 다른 용어를해야합니까?

답변

1

나는이 4 월 12 일 '13에 사용자 부흐 부흐 here에서 좋은 대답이라고 생각 :

에서 웹 응용 프로그램 및 웹 서비스를 좀 같은 것입니다 낮은 수준입니다. 둘 다 http (s)를 통해 운영됩니다. SOAP은 잘 정의 된 XML 버전 인 입니다. REST는 HTTP 일뿐입니다. 원하는 경우 웹 응용 프로그램을 웹 서비스처럼 보이게하고 비자로 설정할 수 있습니다.

주요 차이점은 사용중인 플랫폼을 기반으로 한 내부 개발 옵션입니다. 예를 들어, Visual Studio 을 사용하는 경우 WCF 서비스 응용 프로그램을 추가하면 기본적으로 인 WCF 방향으로 프로젝트가 제공됩니다. 그러나 다른 응용 프로그램 유형 을 선택해도 웹 서비스를 추가 할 수 있습니다.

는 SOAP를 사용하면 일반적으로 이러한 이유로 보통 오래된 XML보다 더 나은 옵션입니다 :

  • 사용자가 기대되며, 이미 를 읽을 방법을 알고 가능성이 높다.
  • 사용자 개발 환경은 SOAP에 대해 모두 을 알고 상자에서 해석 할 수 있습니다. ( WSDL 파일을 제공하면 많은 사용자가 스크립트를 사용하여 초 단위로 클래스를 생성 할 수 있습니다.)
  • 메시지가 잘 정의 된 경우 이 정의됩니다. 나는 다른 쪽 이 자신의 임의의 XML 구조를 정의한 순간에 프로젝트를 진행하고 있으며 과 악몽을 꾼다. 나는 정말로 무엇을 기대해야하는지 알지 못하며, 서로 다른 메시지 유형 간에는 거의 일치하지 않습니다. 최소한 이 SOAP을 준수하기로 동의했다면 훨씬 쉽게 시간을 보냈을 수도 있습니다. 메시지를 해석합니다. (웹 세계에서이 API는 웹 서비스입니다 가능성이 높습니다 만)
0

API는 웹 서비스의 모든 필요는 없다. API는 데이터베이스 연결 용 하드웨어 등이 될 수 있습니다.

1

API은 반드시 웹 기반 일 필요는 없습니다. 프로그래밍 언어를 사용하여 다른 사람의 작업에 말하는 방법은 실제로 의 사양입니다. 반면에 web service의 예이고 다른 사람의 작업은 API를 사용하여 프로그램과 통신합니다.

웹 서비스의 경우 API는 웹을 통해 서비스와 통신하여이를 사용하는 방법을 지정할 수 있습니다. 그러나 종종 서비스에 대한 통신 프로토콜은 직접 설명되지 않습니다. 대신, API는 서비스 작성자가 제공 한 클라이언트 라이브러리를 사용하는 방법에 대한 스펙입니다. 두 가지 모두의 좋은 예는 Google Maps API입니다. Google은 HTTP (웹 서비스 API)을 통해 서비스에서 데이터를 요청하는 방법을 지정하고 동일한 요청을하는 데 사용할 수있는 Javascript의 클라이언트 라이브러리를 제공합니다.

그러나 이것은 API이라는 용어의 유일한 사용은 아닙니다. jQuery (Javascript 라이브러리이지만 원격 웹 서비스는 아님)도 API Documentation이라는 설명서를 참조합니다. 마찬가지로 위키 백과 페이지 API에 운영 체제에 대한 표준 인 POSIX의 예가 나와 있습니다.

즉, API는 사양이며 웹 서비스는 API로 문서화 할 수있는 시스템의 한 예입니다.

0

API와 웹 서비스가 통신 수단의 역할을

웹 서비스가 network.Web 서비스를 통해 두 컴퓨터 사이의 상호 작용을 용이하게 또한 의사 소통의 수단으로 SOAP, REST, 그리고 XML-RPC를 사용합니다.

API은 서로 통신 할 수 있도록 서로 다른 두 응용 프로그램 간의 인터페이스 역할을합니다. API는 타사 공급 업체가 다른 프로그램과 쉽게 인터페이스하는 프로그램을 작성할 수있는 방법입니다 .API는 응용 프로그램 간의 상호 작용을 시작하기 위해 모든 통신 수단을 사용할 수 있습니다.

  1. 모든 웹 서비스는 API이지만 모든 API는 웹 서비스가 아닙니다.

  2. 웹 서비스가 API가 수행하는 모든 조작을 수행하지 않을 수도 있습니다.

  3. 웹 서비스는 통신의 경우 SOAP, REST 및 XML-RPC의 세 가지 스타일 만 사용하지만 API는 통신 스타일을 사용할 수 있습니다.

  4. 웹 서비스는 항상 작동을 위해 네트워크가 필요하지만 API는 작동을 위해 네트워크가 필요하지 않습니다. (다른 코드와 연결 =

    API -

  5. 이 API는 웹 서비스 반면 응용 프로그램과 직접 인터페이스하는 것은 위의

2

모든 답변을 완벽하게 괜찮이다 용이 한 짧은 메모를 고려 내부 [네트워크 없음] 또는 외부 [네트워크 포함]

API over HTTP = 웹 서비스

관련 문제