우와테크

WCF (Windows Communication Foundation) 본문

용어

WCF (Windows Communication Foundation)

uwaTech 2022. 11. 17. 23:27

말만들었지 공부는 첨 해본다.

 

시작

 

REST 같은 거다.. REST 대신 쓰는 거다.

socket 같은 거다. socket 대신 쓰는 거다.

데이터 통신 인프라이다.

.NET (닷넷) 프레임 워크의 무료 오픈 소스이다.

서비스 지향 애플리케이션을 구축하기 위한 오픈 소스이다.

이름에서도 알 수 있듯, 마이크로소프트에서 만들었다.

이름에서도 알 수 있듯2, .NET에서 개발한 것이다.

 

c#으로 프로그래밍한다.

메타데이터 클래스를 작성하면 클라이언트가 설계한 데이터 타입을 준수할 수 있는 메타데이터가 자동으로 생성한다.

 

엔드포인트를 통해 서버(웹서비스)와 클라이언트 간의 메세지를 주고 받는다.

한 엔드포인트에서 다른 엔드포인트로 데이터를 비동기 메세지를 보낼 수 있다.

요청/응답 패턴 등 다중 메세지 패턴을 지원한다.

 

엔드포인트 = 채널 + 포멧터

 

iis에서 호스트하는 지속적으로 사용 가능한 서비스의 일부이다.

 

 

SOA (Service Oriented Architecture - 서비스 지향 아키텍처)를 구현하고 배포하는데 사용되는 툴이다.

 

서비스 방향

분산형 컴퓨팅을 지원하기 위해 서비스 지향 아키텍처를 원칙으로 한다.

대규모 분산처리 시스템에서 부하관리/보안이 용이하다.

클라이언트는 여러 서비스를 사용할 수 있다.

여러 클라이언트가 해당 서비스를 사용할 수 있다.

한마디로 느슨한 결합이다.

 

1. 웹서비스 베이스

WSDL 인터페이스가 있다.

XML, HTTP, SOAP, WSDL 등 웹서비스 스펙 준수

서비스 메타데이터 퍼블리싱을 지원한다.

특정 XML 포맷 (ATOM)과 비XML 포맷 (JSON)을 지원

 

 

2. 보안성

WS-Security, WS-Trust 등 메세지 기반 보안 제공

HTTP, 인증기반의 TCP/IP등 트랜스 포트 수준의 보안제공

SSL 또는 WS-SecureConversation 제공

 

3.ABC 컴포넌트 모델

 

Address  : 서비스를 엑세스 하기 위한 주소 (http:// tcp://....) - uri, 메세지헤더

Binding : 프로토콜/인증/암호화/메세지인코딩/세션여부 

Contract : 서비스의 메소드 - 메세지 형식, 클라이언트가 호출할수 있는 작업

 

 

 

소스 있는 Microsoft 기술문서

https://learn.microsoft.com/ko-kr/dotnet/framework/wcf/wcf-client-overview

 

간단한 wfc 소스 블로그

https://wwwi.tistory.com/344

 

wcf 데이터 서비스에 wpf 컨트로로 바인딩  Microsoft 기술문서

https://learn.microsoft.com/ko-kr/visualstudio/data-tools/bind-wpf-controls-to-a-wcf-data-service?view=vs-2022&tabs=csharp