API와 SPI의 차이를 비교분석해보자.
분석까지는 아니고 그냥 비교… bb
API는 API(Application Programming Interface)의 약자로,
API는 일종의 소프트웨어나 플랫폼에서 제공하는 서비스/기능에 액세스하는 수단.
SPI는 SPI(Service Provider Interface)의 약자로,
SPI는 소프트웨어 또는 플랫폼의 동작을 주입, 확장 또는 변경하는 방법.
API는 일반적으로 클라이언트가 서비스에 액세스하는 대상이며 다음과 같은 속성을 갖는다.
- API는 특정 동작이나 출력을 얻기 위해 서비스에 액세스하는 프로그래밍 방식.
- API 진화의 관점에서 볼때 추가사항은 클라이언트에게 전혀 문제가 되지 않는다.
- 하지만 API는 한번 클라이언트에 의해 활용되었지만 적절한 의사 소통이 없으면 변경되거나 삭제될 수 없다.
왜냐하면 클라이언트의 기대가 완전히 저하되었기 때문.
SPI는 공급자를 대상으로하며 다음과 같은 속성.
- SPI는 소프트웨어 또는 플랫폼의 동작을 확장/변경하는 방법.
- SPI진화는 API 진화와 다름. SPI 제거는 문제가 아님.
- SPI 인터페이스를 추가하면 문제가 발생하고 기존 구현이 손상될 수 있음.
* Service Provider
- SPI의 구현체. 확장성 있는 서비스들을 가진 어플리케이션은 개발자나 벤더, 고객들이 Service Provider들을 기존 어플리케이션의 수정없이 추가할 수 있다.
'Dev etc > etc' 카테고리의 다른 글
[Docker] 도커 컴포즈(Docker Compose)란 ? (0) | 2023.06.23 |
---|---|
[Docker] 도커 이미지(Image)와 컨테이너 (0) | 2023.06.19 |
[Docker] 도커(docker) 서비스 환경 (0) | 2023.06.16 |
[Web] HTTP 상태 코드 종류 / 정리 (2) | 2021.02.05 |
[etc] Web에서 Popup() vs Modal() 비교. 팝업창과 모달창 (0) | 2020.08.19 |
댓글