Note ≣ | 라이브러리와 서비스 호출 방법
라이브러리는 특정 기능을 수행하는 클래스 집합이며 로컬 프로시저로 호출합니다. 즉, 같은 프로세스 내에서 함수처럼 호출되며 응답이 빠르고 오버헤드가 적습니다.
반면에 서비스는 네트워크로 접근할 수 있는 독립적인 소프트웨어 애플리케이션입니다. 웹 서비스, 마이크로서비스 등 다양한 형태가 있으며 특정 기능을 외부에서 사용할 수 있도록 제공합니다. 서비스는 원격 프로시저 호출(Remote Procedure Call, RPC)이나 HTTP 같은 통신 프로토콜을 사용하므로 로컬 프로시저 호출(Local Procedure Call, LPC)에 비해 응답이 느립니다.
아마도 무작위로 선택한 구성 요소를 함께 동작시키기는 어려울 것입니다. 각 구성 요소는 각기 다른 구현 기술, 도구, 배포 방식이 필요하기 때문입니다. 구성 요소를 연결하려고 할 때 많이 상충할 것이며 로컬 호출, 원격 호출, 메시지 전달, 함수 호출 간 변환 작업도 필요할 것입니다. 하지만 다행히 이렇게 기본 구조 없이 무작위로 선택한 시스템은 현실에는 존재하지 않습니다.