1)클라이언트(요청을 보내는 쪽), 서버(요청을 받는 쪽)와 같이 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계2)소프트웨어가 다른 소프트웨어의 기능을 쓰기 위해 중간에 필요한 체계,기능을 사용하기 위해 요청을 보내면 응답을 해주는 소프트웨어 끼리