2010-11-19 4 views
13

내 지식에 따라 API 및 웹 서비스는 다른 웹 사이트에서 데이터를 가져 오는 데 사용됩니다.API와 웹 서비스의 차이점은 무엇입니까?

그렇다면 그 차이점은 무엇입니까?

도움이 필요하십니까?

편집

누군가는 적절한 예와 함께 설명시겠습니까?

트위터 및 페이스 북의 API는 무엇입니까? 데이터에 액세스하는 것이 단지 함수 또는 웹 서비스라고 말할 수 있습니까?

+0

... 상호 배타적이어야하는 것처럼 들리 겠지만 간단한 카운터 예제처럼 WSDL/SOAP 생성기가 "웹 서비스"를 받아 "API 끝"을 생성 할 수 있습니다 (웹 서비스를 둘러싼 래퍼 (wrapper)가 노출 된 작업에 액세스 할 수 있도록 해줍니다). –

답변

5

API는 웹 기반 일 필요는 없습니다.

웹 서비스가 전체 API에서 기대하는 모든 작업을 수행하지 못할 수도 있습니다.

+0

웹 서비스 프로그래밍 언어에 영향을받지 않으며 API는 웹 서비스의 사용을 용이하게하기위한 라이브러리로서 웹 서비스의 실시 예가 아닌가? –

+0

@Andre - 웹 서비스는 일반적으로 언어에 구애받지 않습니다 (플랫폼 별 바이너리 직렬화를 사용하지 않는 한). 그러나 언어를 사용하지 않는 API도 만들 수 있습니다. –

17

웹 서비스는 HTTP 의류의 API 일뿐입니다.

10

웹 서비스는 다른 컴퓨터 (사람이 아닌)가 직접 사용하기 위해 인터넷을 통해 제공되는 것입니다.

API는 응용 프로그램 프로그래밍 인터페이스입니다. 웹 사이트 응용 프로그램은 웹 서비스를 통해 API를 노출 할 수 있습니다. 그러나 Excel 또는 Word와 같은 데스크톱 응용 프로그램에는 웹과 관련이없는 API가 있습니다 (VBA 및 COM 기반 API가 있음).

마찬가지로 서버 응용 프로그램 (예 : Joomla)에는 서버에서 사용되는 PHP 기반 API가있을 수 있습니다 (예 : Joomla). 웹 서비스가 필요하지 않습니다.

+4

그렇다면 웹 서비스 *는 API입니까? (특정 서비스 또는 응용 프로그램과 관련된 정의 된 프로그래밍 인터페이스) Project Server 또는 SharePoint와 같이 웹 서비스를 통해 해당 모델을 완벽하게 제어 할 수 있습니다. –

3

웹 서비스는 일종의 API로 생각할 수 있습니다. 그러나 잠시 그 ​​사실을 잊어 버리고 API가 실제로 무엇인지 배우는 데 집중해야합니다. 소프트웨어와 상호 작용하는 방법의 정확한 정의. 때로는 네트워크를 통해 데이터를 전송하는 경우도 있지만 일반적으로 프로그램에서 호출 할 수있는 기능에 대해 이야기하고 있습니다.

예를 들어 Ruby에는 FileUtils.rm이라는 기능이 있습니다. 이것은 API입니다. 루비 스크립트에서 함수를 호출 할 때 항상 동일한 것으로 보입니다. 그런 다음 API 구현이 있습니다. 이것이 실제로 파일을 제거하는 코드입니다. Ruby의 모든 구현에서 완전히 다르게 보일 수 있지만 Ruby API 만 다루기 때문에 (일반적으로) 신경 쓰지 않아도됩니다.

5

API (응용 프로그램 프로그래밍 인터페이스)는 다른 프로그래머가 사용하도록 프로그래머가 노출하는 메서드 및 클래스 목록이므로, 예를 들어 프로그램에서 Twitter 또는 Facebook API를 사용하는 경우 Twitter 및 Facebook, 많은 유용한 것들을해라. :-)

C/C++에서는 Java, .Net Assemblies, COM 객체, DLL 및 .H 파일의 JAR 파일 또는 RMI, HTTP를 통한 JSON, HTTP를 통한 XML, 만든 방법).

웹 서비스는 아직 API를 노출하는 또 다른 방법입니다.이 경우 노출 된 메소드의 실제 실행은 컴퓨터가 아니라 웹상의 다른 컴퓨터 (웹상 - 따라서 "WebServices").

6

모든 웹 서비스는 API이지만 일부 API는 웹 서비스가 아닙니다. 하나는 다른 하나의 서브 세트입니다.

2

인터넷을 통해 사용할 수있는 웹 서비스입니다. 실제로 클래스가 없어도 정보를 얻을 수 있으며 http 및 비누 프로토콜을 사용하여 작동하는 방법을 알 수 있습니다.

API는 일종의 라이브러리 (클래스 집합)입니다. API는 라이브러리에서 사용할 수있는 기능을 사용하여 애플리케이션에서 일부 작업을 수행 할 수 있습니다. 웹을 통해 노출

4
  1. 웹 서비스는 HTTP에 싸여있는 API입니다 있습니다.
  2. 모든 웹 서비스는 API이지만 API는 웹 서비스가 아닙니다.
  3. 웹 서비스가 API에서 수행 할 수있는 모든 작업을 수행하지 못할 수도 있습니다.
  4. 웹 서비스가 작동하려면 네트워크에 API가 필요하지 않지만 웹 서비스에는 네트워크가 필요합니다.
-1
  1. 모든 웹 서비스 API를하지만 모든 API는 웹 서비스하지 않습니다.

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

  3. 웹 서비스는 통신의 경우 SOAP, REST 및 XML-RPC의 세 가지 스타일 만 사용하지만 API는 통신 스타일을 사용할 수 있습니다.
  4. 웹 서비스는 항상 작동을 위해 네트워크가 필요하지만 API는 작동을 위해 네트워크가 일 필요가 없습니다.
  5. API를 사용하면 응용 프로그램과 직접 인터페이스 할 수 있지만 웹 서비스는 응용 프로그램과 직접 인터페이스 할 수있는 기능이 없습니다.
관련 문제