윈도 커뮤니케이션 파운데이션

Windows Communication Foundation
WCF(Windows Communication Foundation)
원본 작성자마이크로소프트
개발자.NET 파운데이션
초기 릴리즈2006년 11월 21일; 15년(2006-11-21)
안정적 해제
v3.2.1 / 2021년 1월 30일; 13개월(2021-01-30)
리포지토리github.com/dotnet/wcf
기록 위치C#
운영 체제Linux, macOS, Windows
플랫폼.NET Framework, .네트
전임자웹 서비스 향상
유형소프트웨어 프레임워크
면허증MIT 라이선스
웹사이트docs.microsoft.com/en-us/dotnet/framework/wcf/index

이전에 인디고로 알려진 WCF(Windows Communication Foundation)는 에 있는 무료 오픈 소스 런타임APIs 집합이다.연결된 서비스 지향 애플리케이션을 구축하기 위한 NET [1][2]Framework

건축

dot net three point windows stack diagram
서브시스템은 의 일부분이다.NET Framework 3.0

WCF는 서비스 지향 아키텍처(SOA)를 구현하고 배치하는 데 자주 사용되는 툴이다.서비스 지향 아키텍처 원칙을 사용하여 서비스가 원격 소비자를 갖는 분산 컴퓨팅을 지원하도록 설계되었다.고객은 여러 서비스를 소비할 수 있고, 서비스는 여러 고객이 소비할 수 있다.서비스는 서로 느슨하게 연결되어 있다.서비스는 일반적으로 서비스가 호스팅되는 플랫폼에 관계없이 WCF 클라이언트가 서비스를 소비하는 데 사용할 수 있는 WSDL 인터페이스(Web Services Description Language)를 가지고 있다.WCF는 WS-Addressing, WS-ReliableMessaging, WS-Security와 같은 많은 고급 웹 서비스(WS) 표준을 구현한다.의 발표와 함께.또한 NET Framework 4.0, WCF는 RSS Syndication Services, WS-Discovery, 라우팅 및 REST 서비스에 대한 더 나은 지원을 제공한다.

엔드포인트

WCF 클라이언트는 엔드포인트를 통해 WCF 서비스에 연결한다.각 서비스는 하나 이상의 엔드포인트를 통해 계약을 노출한다.엔드포인트에는 데이터 전송 방법을 지정하는 주소(엔드포인트에 액세스할 수 있는 위치를 지정하는 URL)와 바인딩 속성이 있다.

니모닉 "ABC"는 주소/ 바인딩/계약을 기억하기 위해 사용될 수 있다.바인딩은 서비스에 접속하기 위해 어떤 통신 프로토콜을 사용하는지, 보안 메커니즘을 사용하는지 여부 등을 명시한다.WCF에는 HTTP를 통한 SOAP, TCP를 통한 SOAP, 메시지 큐를 통한 SOAP 등과 같은 가장 일반적인 통신 프로토콜에 대한 사전 정의된 바인딩이 포함되어 있다.WCF 엔드포인트와 클라이언트 간의 상호 작용은 SOAP 엔벨롭을 사용하여 수행된다.SOAP 봉투는 단순한 XML 형태로 되어 있어 WCF 플랫폼이 독립적으로 만들어진다.고객이 엔드포인트를 통해 서비스에 액세스하고자 할 때는 계약을 알아야 할 뿐만 아니라 엔드포인트에서 지정한 바인딩을 준수해야 한다.따라서 클라이언트와 서버 모두 호환되는 엔드포인트를 가져야 한다.

의 출시와 함께.2007년 11월, 마이크로소프트는 WCF에 JSON 직렬화 포맷 지원을 추가한 인코더를 출시했다.[3]

행동

동작은 서비스 또는 클라이언트 기능을 수정하거나 확장하는 유형이다.개발자는 행동을 통해 메시지를 보내거나 받을 때 해당 메시지에 적용되는 사용자 정의 처리, 변환 또는 검사를 만들 수 있다.행동의 사용에 대한 몇 가지 예는 다음과 같다.

  • 메타데이터를 서비스와 함께 게시할지 여부 제어
  • 서비스에 가장, 권한 부여 또는 [4]토큰 관리와 같은 보안 기능 추가
  • 추적, 추적 또는 로깅과 같은 메시지에 대한 정보 기록
  • 메시지 또는 매개 변수 유효성 검사
  • 특정 메시지가 도착할 때 사용자에게 통지하는 것과 같은 메시지를 수신할 때 모든 추가 작업

행동들은 다음을 구현한다.IServiceBehavior서비스 확장을 위한 인터페이스,IEndpointBehavior엔드포인트의 경우IContractBehavior서비스 계약을 위한 인터페이스 또는IOperationBehavior작전상서비스 동작은 단일 작업에만 국한되는 처리보다는 서비스 전반에 걸친 메시지 처리에 사용된다.

상호운용성

WCF는 다른 윈도우즈 시스템에서 실행되는 동일한 윈도우즈 시스템 또는 WCF에서 실행되는 WCF 애플리케이션과의 상호운용성을 지원하거나 윈도우즈 또는 기타 운영 체제에서 실행되는 Java와 같은 플랫폼에서 구축된 표준 웹 서비스와의 상호운용성을 지원한다.SOAP 외에도 WCF 4는 HTTP 또는 HTTPS를 통한 외부 통신에 대해 비 SOAP XML, RSS, JSON 및 바이너리 형식을 지원한다.[5]

참고 항목

참조

  1. ^ Michele Leroux Bustamante. "Hosting WCF Services". CODE Magazine.
  2. ^ "Deploying an Internet Information Services-Hosted WCF Service". Microsoft Developer Network (MSDN).
  3. ^ "AJAX Integration and JSON Support". Microsoft. Retrieved 2008-04-24.
  4. ^ "Custom Authentication and Authorization in WCF". TatvaSoft UK. Retrieved 2018-11-14.
  5. ^ "Introducing Windows Communication Foundation in .NET Framework 4". Microsoft. Retrieved 2011-07-17.

추가 읽기

  • Craig McMurtry, Marc Mercuri 및 Nigel Watling: Microsoft Windows Communication Foundation: Hands-On, SAMS 출판, 2004년 5월 26일 ISBN 0-672-32877-1
  • Steve Resnick, Richard Crane, Chris Bowen: 필수 Windows Communication Foundation(WCF): 용.NET Framework 3.5, Addison-Wesley, 2008년 2월 11일 ISBN 0-321-44006-4
  • 크레이그 맥머트리, 마크 머큐리, 나이젤 와틀링, 맷 윙클러:WCF(Windows Communication Foundation Unreshed), Sams Publishing, 2007년 3월 6일 ISBN 0-672-32948-4
  • Juval Löwy: Programming WCF Service, O'Reilly Media, Inc., 2007년 2월 20일 ISBN 0-596-52699-7
  • Pablo Cibraro, Kurt Claeys, Fabio Cozolino, Johann Grabner: Professional WCF 4: Windows Communication Foundation with .NET 4, Wrox, 2010년 6월 15일 ISBN 0-470-56314-1
  • Andrew Ju: Microsoft Windows Workflow Foundation 4.0 Cookbook:제3장 팩트 출판, 2010년 9월 ISBN 978-1-84968-078-3

외부 링크