내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본

네트워킹 및 웹 서비스

Silverlight

Silverlight 응용 프로그램에서 데이터를 검색하는 데 사용할 수 있는 다양한 네트워킹 및 웹 서비스 기술이 있습니다. 이러한 기술은 HTTP 클래스, WCF 서비스, WCF 데이터 서비스, WCF RIA 서비스 및 소켓을 포함합니다. 이 항목은 Silverlight 응용 프로그램으로 데이터를 가져오는 데 사용해야 하는 네트워킹 및 웹 서비스 기술을 결정하는 지침을 제공합니다.

사용해야 하는 최상의 네트워킹 및 웹 서비스 기술을 확인하는 한 가지 방법은 응용 프로그램에 필요한 메시지 패턴 및 상호 작용 모델을 살펴보는 것입니다. 이 토론의 경우 통신을 시작하는 당사자를 고려하여 메시지 패턴을 분류할 수 있습니다. 스펙트럼의 한쪽 끝에서 클라이언트는 요청/응답 교환을 시작합니다. 다른 끝에서 메시지 또는 스트림 미디어를 클라이언트 응용 프로그램의 그룹에 보낼 때 멀티캐스트와 마찬가지로 통신을 시작합니다. 스펙트럼의 중간에는 클라이언트 또는 서버 응용 프로그램이 통신을 시작할 수 있는 다양한 유형의 이중 통신이 있습니다.

가능한 상호 작용 모델의 범위도 있습니다. 교환하는 당사자의 작업 중심 상호 작용을 갖는 이 스펙트럼의 한쪽 끝은 서로 간에 작업을 호출하는 개체로 간주됩니다. SOAP는 이러한 웹 서비스에서 사용하는 전형적인 프로토콜입니다. 스펙트럼의 다른 쪽 끝에서 일반적으로 호출이 데이터베이스 또는 다른 리소스를 사용하여 만들고 검색하고 업데이트하고 삭제(CRUD) 작업을 사용하는 것이 제한되는 데이터 중심 상호 작용을 갖습니다. REST는 이러한 웹 서비스에서 사용하는 전형적인 아키텍처 스타일입니다.

개념적으로 메시지 패턴 및 상호 작용 모델을 격자에 시각화할 수 있습니다. 예를 들어 다음 그림과 같이 가로 축을 따라 메시지 패턴을 삽입하고 세로 축을 따라 상호 작용 모델을 삽입할 수 있습니다.

메시지 패턴 및 상호 작용 모델

이 그림의 포인트는 다음과 같은 특징이 있습니다.

메시지 패턴

  • 요청/회신

    요청/회신 메시지 패턴에서 모든 통신은 클라이언트와 네트워크 리소스에 의해 시작되고 일반적으로 웹 서비스는 클라이언트의 이러한 요청에 응답합니다. 클라이언트는 서비스 작업을 호출하고 서비스에서 응답을 기다립니다. 요청/응답 메시지 패턴의 예는 소매 웹 서비스에서 제품 정보를 요청하는 클라이언트입니다.

  • 이중

    이중 메시지 패턴에서 클라이언트 또는 서버는 통신을 시작할 수 있으며 어느 한 끝점이 서로 독립적으로 메시지를 보낼 수 있습니다. 클라이언트는 서비스에 연결하고 서비스에서 클라이언트로 메시지를 다시 보낼 수 있는 채널을 제공합니다. 이중 메시지 패턴의 예는 채팅 서버 또는 전자 메일 클라이언트입니다.

    Silverlight 클라이언트는 브라우저 환경이 HTTP 수신기의 생성을 허용하지 않으므로 HTTP를 통해 주소를 지정할 수 없습니다. Silverlight 클라이언트와의 HTTP 이중 통신은 설정된 세션 내에서 클라이언트가 메시지에 대해 대상 서버에 폴링하도록 함으로써 이루어집니다. Silverlight는 HTTP 폴링 이중 바인딩을 통해 지원 클라이언트와 프록시 프로그래밍 모델을 사용한 탄력적인 표준 호환 이중 통신 기능을 제공합니다.

  • 멀티캐스트

    멀티캐스트 메시지 패턴은 동시에 임의 수의 클라이언트에 같은 메시지를 보내는 서버를 가리킵니다. 이것은 일대다 통신입니다. 멀티 캐스트 메시지 패턴의 예는 비디오 스트리밍 또는 라이브 시장 데이터 스트리밍입니다. Silverlight 클라이언트는 관련 멀티캐스트 그룹에 조인하여 스트리밍된 브로드캐스트를 수신합니다.

상호 작용 모델

  • 작업 중심

    작업 중심 상호 작용 모델에서 클라이언트와 서버 모두 메모리 내 상태의 메모리에 있는 개체로 간주됩니다. 개체는 서로 작업을 호출할 수 있습니다. 작업 중심 상호 작용 모델의 한 예는 채팅 서버입니다.

  • 리소스 중심

    리소스 중심 상호 작용 모델은 데이터베이스 또는 데이터 모델입니다. 이 데이터에 대한 작업은 일반적으로 데이터베이스에서 작업을 만들거나, 검색하거나, 업데이트하거나, 삭제(CRUD)하는 작업으로 구성됩니다. 리소스 중심 상호 작용 모델의 예는 REST 서비스를 사용하여 서버에서 데이터를 요청하는 클라이언트입니다.

Silverlight에는 웹 서비스 및 기타 네트워크 리소스에 액세스하는 여러 가지 방법이 있습니다. 일반적으로 응용 프로그램이 수행해야 하는 작업에 가장 적합한 웹 서비스에서 데이터를 요청하는 방법이 있습니다.

HTTP 클래스

System.Net 네임스페이스에서 HttpWebRequest/HttpWebResponse 또는 WebClient 클래스를 사용하는 Silverlight 기반 응용 프로그램에서 직접 웹 서비스나 네트워크 서버의 리소스에 액세스할 수 있습니다. 이러한 클래스는 HTTP 프로토콜을 통해 사용할 수 있는 모든 웹 서비스에 요청을 보내는 데 필요한 기능을 제공합니다. Silverlight는 호스트 HTTP 기반 서비스에 대한 기능을 지원하지 않으므로 이러한 클래스는 Silverlight 클라이언트에서 기존 웹 서비스를 사용하는 경우에 유용합니다. 일반적으로 HTTP 서비스가 제3자에 의해 호스팅되고 컨트롤 내에 없는 경우 이러한 클래스를 사용할 수 있습니다. 이 경우 요청이 서비스에서 예상하는 정확한 형식과 일치하는지 확인해야 합니다. 그러나 서비스를 직접 빌드하는 경우 Silverlight는 다음 섹션에서 더욱 자세히 설명할 WCF(Windows Communication Foundation)를 사용하여 빌드할 수 있는 보다 생산적인 종단간 솔루션을 제공합니다. HTTP 보안 제한 및 WebClient 또는 HttpWebRequest/HttpWebResponse클래스를 사용하여 웹 서비스에 액세스하는 자세한 내용은 Silverlight를 사용한 HTTP 통신 및 보안를 참조하십시오.

WCF 서비스

WCF 서비스는 Silverlight 클라이언트 응용 프로그램의 웹 서비스를 구축하기 위한 기초를 제공합니다. 데이터 및 데이터를 호스팅하는 서버를 제어하는 경우 Silverlight에 노출하는 가장 쉬운 방법은 WCF 서비스를 사용하는 것입니다.

빌드하려는 내용에 따라 WCF는 사용자가 선택할 수 있는 세 가지 최상위 프로그래밍 모델을 제공합니다. 각 모델마다 장점과 단점이 있으며 서비스를 빌드하기 전에 응용 프로그램에 적합한 모델을 선택할 수 있습니다. 다음 그림에서는 사용할 때 WCF 아키텍처 레이어 및 프로그래밍 모델을 사용할 수 있음을 보여 줍니다. WCF 아키텍처에 대한 자세한 내용은 Introducing Windows Communication Foundation in .NET Framework 4을 참조하십시오.

WCF 계층

WCF 핵심 서비스는 가장 유연한 종류의 WCF 서비스입니다. 따라서 클래스를 서비스로 노출하고 Silverlight와 해당 서비스 간에 교환할 수 있습니다. Silverlight 응용 프로그램에서 원격 서비스에 대한 로컬 프록시 클래스를 생성하려면 Visual Studio와 같은 도구를 사용할 수 있습니다. 이 기능을 사용하면 로컬 클래스를 통해 서비스에 액세스할 수 있습니다. WCF 핵심 서비스는 다양한 프로토콜(HTTP 및 TCP 포함) 및 SOAP, XML 및 Atom 같은 다양한 형식을 지원합니다. 자세한 내용은 프록시를 사용하여 서비스 생성 및 액세스을 참조하십시오.

WCF 데이터 서비스(WCF Data Services)

ADO.NET 데이터 서비스라고도 하는 WCF(Windows Communication Foundation) 데이터 서비스는 REST(representational state transfer) 리소스의 스타일로 기존 데이터 모델의 데이터에 액세스할 수 있는 프레임 워크를 제공합니다. WCF 데이터 서비스는 OData(Open Data Protocol) 피드로 데이터를 노출합니다. 또한, Silverlight 응용 프로그램이 SharePoint와 상호 작용 하는 경우 SharePoint 2010은 WCF 데이터 서비스로 데이터를 노출합니다. WCF 데이터 서비스는 모든 HTTP 통신, 직렬화, 및 데이터 모델을 서비스로 노출하려고 할 때 전통적으로 수행하는 다른 작업을 처리합니다. 즉, Silverlight 기반 응용 프로그램을 사용하면 표준 HTTP 프로토콜을 통해 이 데이터에 액세스하여 쿼리를 실행하고 같은 도메인 또는 도메인 간의 데이터 서비스에서 데이터를 작성, 업데이트 및 삭제할 수 있습니다. 자세한 내용은 WCF 데이터 서비스(Silverlight)을 참조하십시오.

WCF RIA 서비스

WCF RIA 서비스는 엔터프라이즈에 대한 n 계층 솔루션의 개발을 단순화합니다. RIA 서비스는 데이터 모델링, 유효성 검사, 동시성, 보안 및 인증 도구를 제공하며 때때로 "양식 데이터"라고도 하는 응용 프로그램 스타일에 내부 데이터베이스의 데이터를 표시하는 양식을 쉽게 만들 수 있는 서비스를 제공 합니다. 또한 RIA 서비스가 서버 데이터를 WCF 서비스로 노출하기 때문에 WCF 구성 도구를 활용할 수 있습니다. 자세한 내용은 WCF RIA Services를 참조하십시오.

소켓 및 멀티캐스트

Silverlight에서는 System.Net.Sockets 네임스페이스에서 클래스와의 소켓 기반 통신 지원을 제공합니다. 클래스는 원격 네트워크 리소스와의 실시간 양방향 통신을 위한 메커니즘을 제공하고 상위 수준의 API를 사용하여 양방향 전송을 통해 통신할 수 있도록 합니다. 또한 이 네임스페이스를 통해 응용 프로그램이 클라이언트로 기존 TCP 서비스와 상호 운용되도록 할 수 있습니다. 자세한 내용은 소켓 작업을 참조하십시오. 또한 Silverlight 4 이상에서는 멀티 캐스트 메시징을 지원합니다. 멀티캐스트 메시징을 사용하면 더 큰 수신자 집단을 허용하며 일대다 또는 다대다 아키텍처가 가능합니다. 자세한 내용은 멀티캐스트 작업을 참조하십시오.

일단 응용 프로그램의 요구 사항을 파악하고 나면 어떤 기술을 사용하는 것이 가장 좋은지 결정할 수 있습니다. 다음 표는 이를 구현하는 몇 가지 시나리오와 권장하는 네트워킹 및 웹 서비스 기술은 물론 해당 기술을 사용하는 방법을 보여주는 링크를 나열합니다.

시나리오

권장된 기술

설명서

종단간 비즈니스 응용 프로그램을 만들고 데이터를 웹 서비스로 노출하고 데이터를 소비하는 클라이언트 만들기

WCF RIA 서비스

WCF RIA 서비스

타사 REST 서비스에서 데이터에 액세스

HTTP 처리를 지정하고 WebClient 또는 HttpWebRequest/HttpWebResponse 클래스를 사용합니다.

Silverlight를 사용한 HTTP 통신 및 보안 또는

직접 HTTP 및 REST 기반 서비스 액세스

REST 서비스를 사용하여 기존 데이터베이스에 대한 액세스를 제공

WCF 데이터 서비스

WCF 데이터 서비스(Silverlight)

액세스 서버 비즈니스 논리

WCF 서비스

방법: Silverlight에서 서비스에 액세스

채팅 응용 프로그램 만들기

WCF 서비스

이중 서비스 생성 및 액세스

동시에 많은 클라이언트로 인트라넷을 통해 동일한 데이터를 스트림

UDP 멀티캐스트

멀티캐스트 작업

이중 메시징에 대한 새 소켓 서비스 빌드 및 액세스

netTCP와 이중

이중 서비스 생성 및 액세스

인터넷을 통해 이중 메시징에 대한 새 소켓 서비스 빌드 및 액세스

HTTP의 이중 폴링

이중 서비스 생성 및 액세스

이중 메시징에 대한 기존 또는 타사 소켓 서비스에 액세스

소켓을 사용한 TCP

소켓 작업

스트림 시장 데이터

UDP 멀티캐스트

멀티캐스트 작업

비디오 및 미디어 스트리밍 제공

UDP 멀티캐스트

멀티캐스트 작업

실시간 통신 제공

UDP 멀티캐스트

멀티캐스트 작업

장치 및 서비스 검색

UDP 멀티캐스트

멀티캐스트 작업

Title

설명

Silverlight의 네트워크 보안 액세스 제한

이러한 클래스에 구축된 System.Net 네임스페이스 및 WCF 서비스에서 네트워크 통신 클래스를 제한할 수 있는 보안 정책에 대해 설명합니다. 이러한 정책에는 원본 사이트 및 도메인 간 보안이 포함됩니다.

Silverlight의 URL 액세스 제한

System.Net 네임스페이스의 클래스 및 이미지 및 미디어용 Silverlight 클래스를 사용하여 URL 리소스에 액세스할 때 적용되는 추가적인 제한 사항에 대해 설명합니다. 이러한 제한은 System.Net 네임스페이스를 이용하는 WCF 서비스에도 적용됩니다.

Workflow 서비스

웹 서비스의 일환으로 WCF 기반 서비스 요청을 보내고 받기 위해 WCF를 사용할 수 있는 WF(Windows Workflow Foundation) 활동을 사용하여 구현되는 서비스를 설명합니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft