클래스: 프로그래밍의 기초: API와 웹 서비스

웹 서비스 개요

웹 서비스는 각기 다른 시스템이 인터넷에서 통신할 수 있게 해 줍니다. 이런 시스템은 장치나 애플리케이션의 조합일 수 있죠. Windows나 Linux 서버일 수도 있고 중앙 컴퓨터이거나 데스크톱 컴퓨터, 스마트폰일 수도 있어요. 모든 시스템은 웹 서비스를 통해 데이터를 공유합니다. 정확히 어떤 방식으로 작동하는 걸까요? 웹 서비스를 사용하면 클라이언트와 서버 간의 상호작용을 알 수 있습니다. 클라이언트는 메시지를 보내고 서버가 응답하길 기다립니다. 이후 서버가 메시지를 받으면 웹 서비스가 작업을 수행합니다. 그 후 메시지는 클라이언트에게 다시 전송되고요. 다른 관점에서도 한번 봅시다. 여러분이 커피숍에 있고 커피 한 잔을 산다고 합시다. 하지만 문제가 있는데요. 여러분은 다른 나라에 있어요. 벨기에라고 치죠. 근데 벨기에 말을 모릅니다. 어떻게 얘기해서 원하는 것을 얻을 건가요? 원하는 바를 말하고 커피를 얻으려면 이를 번역해 줄 사람이 필요합니다. 그래서 여러분은 친구를 보는데 그 친구는 영어와 불어 둘 다 할 수 있는 능력자예요. 여러분은 친구와 영어로 대화할 수 있어서 이러겠죠. Dennis, 홍차 라테 한 잔 좀 시켜 줄래요? 네. 그럼 친구는 여러분을 위해서 불어로 커피를 주문할 거예요. [1분 22초에 나오는 말은 외국어 대사입니다.] 그러고 나서 커피를 가져다주겠죠. 고마워요, Dennis. 이런 시나리오에서 여러분은 메시지를 보내는 클라이언트고 여러분의 친구는 여러분의 말을 이해할 수 있는 웹 서비스죠. 웹 서비스는 서버와 통신해서 작업을 완료할 수 있습니다. 데이터는 XML과 같은 자주 쓰이는 웹 언어를 사용해서 클라이언트와 서버를 오가며 전송됩니다. 각 애플리케이션은 .NET나 Java 같은 전혀 다른 언어로 쓰일 수도 있지만 XML을 활용해서 필요한 데이터를 전달할 수 있습니다. 웹 서비스에는 두 가지 주요 유형이 있는데요. SOAP와 RESTful입니다. 두 유형 모두 작동하려면 특정 요소가 필요합니다. SOAP는 단순 객체 접근 프로토콜입니다. XML을 사용해 메시지를 보내죠. XML 문서는 특정 양식으로 데이터를 전송합니다. 웹 표현상태 변경이란 뜻의 REST는 웹 프로토콜 HTTP를 사용합니다. 문서, 사진, 영상과 같은 자료에 접근하기 위해서죠. 이 강의에서는 방금 언급한 항목들을 자세히 설명하고 여러분만의 웹 서비스를 만들 수 있게 예시와 시범을 보여드리겠습니다.

목차