WCF를 사용한 RESTful 서비스 소개 - 모바일 애플리케이션 개발, 웹 서비스, SOA 아키텍처 - 기술
콘텐츠로 건너뛰기

WCF를 사용한 RESTful 서비스 소개 – 모바일 애플리케이션 개발, 웹 서비스, SOA 아키텍처

광고

첫째, RESTFUL 서비스는 REST(Representational State Transfer)라는 아키텍처 스타일을 따릅니다. 아키텍처 스타일은 무언가를 만들 때 적용할 수 있는 제약 조건의 집합입니다. 그리고 소프트웨어 아키텍처 스타일은 소프트웨어 시스템의 구현을 안내하는 데 사용할 수 있는 특성을 설명하는 것입니다. REST는 클라이언트(사용자 에이전트)가 서비스(엔드포인트)를 요청할 수 있는 소프트웨어를 구축하는 데 사용할 수 있는 아키텍처 스타일입니다. REST는 클라이언트/서버 아키텍처 스타일을 구현하는 방법입니다. 실제로 REST는 명시적으로 클라이언트/서버 아키텍처 스타일을 기반으로 합니다.

Roy Thomas Fielding이라는 사람이 자신의 박사 학위 논문(“아키텍처 스타일 및 네트워크 기반 소프트웨어 아키텍처의 설계”)에서 개념으로 REST라는 용어를 처음 만들었습니다. 그는 오늘날 대부분의 인터넷을 구동하는 사양인 HTTP(Hypertext Transfer Protocol)를 개발한 사람 중 한 사람이었습니다. 일반적으로 아키텍처 스타일을 설명하는 사람들의 배경은 스타일에 대한 설명과 관련이 없지만 여기서는 그렇게 생각합니다. REST에 대한 기본적인 이해를 얻는 가장 좋은 방법 중 하나는 웹과 웹의 작동 방식에 대해 생각하는 것이기 때문에 중요합니다.

WCF 및 REST

WCF는 프로토콜이나 스타일에 관계없이 네트워크를 통해 통신하는 응용 프로그램을 만들기 위한 Microsoft의 프레임워크입니다. WCF의 개념은 개발자가 이 지식을 다양한 유형의 분산 시스템에 적용할 수 있도록 프로그래밍 및 구성 모델에 대한 정보를 학습하기 위한 확장 가능하고 연결 가능한 프레임워크를 만드는 것이었습니다.

WCF의 대부분이 RPC 지향(SOAP 사용)인 것은 사실이지만 실제로는 .NET Framework 3.0의 일부로 처음 릴리스된 이후 REST 서비스를 노출하고 사용할 기회가 있었습니다. .NET Framework 3.5 System.ServiceModel.Web 어셈블리를 사용하면 프로그래밍 모델이 추가되었으며 REST 스타일과 함께 작동하도록 구축된 일부 인프라도 추가되었습니다. 그리고 .NET Framework 3.5 SP1에는 REST를 더 쉽게 사용할 수 있도록 몇 가지 작은 개선 사항이 추가되었습니다..

프로그래밍 모델은 WebGetAttribute 및 WebInvokeAttribute라는 두 가지 새로운 특성과 각 메서드가 응답할 URI 및 동사를 선언할 수 있는 URI 템플릿 메커니즘을 중심으로 진행됩니다. 인프라는 REST 사용을 위한 올바른 네트워크 스택을 제공하는 바인딩(WebHttpBinding) 및 동작(WebHttpBehavior) 형태로 포함됩니다. 또한 사용자 지정 ServiceHost(WebServiceHost) 및 ServiceHostFactory(WebServiceHostFactory)의 일부 호스팅 인프라 도움말이 있습니다.