WCF 프로그래밍 : 서비스 기반 Windows 응용 프로그램 만들기

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


WCF (Windows Communication Foundation)는 서비스 지향의 연결된 응용 프로그램을 만드는 데 사용되는 .NET Framework의 런타임 환경 및 일련의 API입니다. WCF는 서비스 지향 응용 프로그램을 구축하기위한 Microsoft의 통합 프로그래밍 모델입니다.

약력

지난 10 년 동안 서비스 지향 통신 및 응용 프로그램의 인기가 높아짐에 따라 소프트웨어 개발에 큰 영향을 미쳤습니다. 응용 프로그램은 상호 작용을 위해 다양한 서비스에 의존하고 있습니다. Microsoft의 Windows 개발 플랫폼에서 이러한 변경은 WCF (Windows Communication Platform)에 의해 가능해졌습니다..

WCF는 2006 년 .NET Framework 3.0의 일부로 처음 소개되었으며 .NET Framework 버전 3.5 및 4.0에서 추가로 업데이트되었습니다. 최신 버전의 WCF는 .NET Framework 버전 4.5의 일부로 제공됩니다..

Windows Communication Foundation은 .NET Framework 기반의 많은 소프트웨어에서 사용됩니다..

WCF 기능

WCF는 웹 서비스를 사용하여 데이터를주고받는 서비스 지향 응용 프로그램을 개발하는 개발자를위한 도구입니다. 웹 서비스는 각 응용 프로그램에 맞게 특별히 코딩되지 않고 느슨하게 연결되는 일반적인 이점이 있습니다. 즉, 모든 플랫폼에서 생성 된 모든 응용 프로그램은 모든 서비스에 연결할 수 있습니다.

WCF는 HTTP, SOAP, XML, WS-Addressing, W3C Web Services Addressing 등과 같은 웹 서비스 상호 운용성에 대한 최신 산업 표준을 구현합니다. 여러 가지 패턴으로 메시지를 교환 할 수 있습니다.

가장 일반적인 통신 패턴은 요청-응답이지만 WCF는 단방향 메시지 또는 이중 교환 패턴과 같은 다른 패턴도 지원합니다. 데이터 보호를 위해 메시지를 암호화하고 사용자 인증을 시행 할 수 있습니다. 보안은 SSL 또는 WS-SecureConversation과 같은 산업 표준 솔루션을 사용하여 구현됩니다. 메시지는 다른 프로토콜과 인코딩을 사용하여 전송 될 수 있으며, 가장 일반적으로 HTTP를 통한 텍스트 인코딩 SOAP 메시지입니다. WCF는 또한 TCP, MSMQ 또는 명명 된 파이프를 통한 메시지 전송, MTOM 표준을 사용하여 텍스트로 인코딩되거나 최적화 된 이진 파일 사용을 지원합니다. 맞춤형 전송 프로토콜 및 인코딩도 생성 가능.

WCF는 WS-ReliableMessaging을 통해 구현 된 세션과 MSMQ를 사용하여 대기중인 메시지를 사용하여 안정적인 메시지 교환을 지원합니다. WCF에는 내구성 메시징 지원 기능이 내장되어있어 통신 문제로 인한 데이터 손실을 방지.

WS-AtomicTransactions, System.Transaction 네임 스페이스의 API 또는 Microsoft Distributed Transaction Coordinator의 세 가지 트랜잭션 모델 중 하나를 사용하여 WCF에서 광범위한 트랜잭션 지원을 사용할 수 있습니다..

WCF는 매우 유연한 플랫폼으로 Windows Workflow Foundation (WF), Microsoft BizTalk 및 Silverlight와 같은 다른 Microsoft 기술과 쉽게 확장하고 통합 할 수 있습니다..

WCF 사용

실제로 WCF는 두 당사자 간의 클라이언트-호스트 통신을 설정하는 데 사용되는 일반적인 통신 메커니즘입니다. 클라이언트 응용 프로그램 코드를 수정하지 않고도 전송 프로토콜, 보안, 인코딩 등과 같은 서비스 매개 변수를 구성 할 수 있으므로 이것이 매우 유용합니다. 다른 플랫폼에서 실행되는 다른 프로그래밍 언어로 작성된 서비스와 클라이언트 간의 통신을 설정할 수도 있습니다.

Visual Studio IDE에서 WCF 서비스와 클라이언트를 만들려면 6 단계가 필요합니다.

  1. WCF 서비스 계약 정의는 서비스가 지원하는 작업을 지정합니다. 계약은 C ++, C # 또는 Visual Basic 인터페이스를 정의하여 작성되며 인터페이스의 각 메소드는 특정 서비스 조작에 해당해야합니다. 각 인터페이스에는 ServiceContractAttribute가 적용되어 있고 각 작업에는 OperationContractAttribute가 적용되어 있어야합니다. 그렇지 않으면 노출되지 않습니다..
  2. 서비스에 대한 사용자 정의 인터페이스를 구현하는 클래스를 작성하여 서비스 계약을 구현합니다..
  3. WCF 서비스 호스팅 및 실행은 다음 작업으로 구성됩니다. 서비스의 기본 주소에 대한 URI 인스턴스 생성, 서비스 호스팅, 서비스를 노출하는 엔드 포인트 추가, 메타 데이터 교환 활성화 및 서비스 호스트 열기.
  4. 클라이언트 작성에는 명령 행 서비스 모델 메타 데이터 유틸리티 도구를 사용하여 서비스에 대한 프록시 및 구성 파일 생성이 포함됩니다..
  5. 클라이언트 구성은 클라이언트가 서비스에 액세스하는 데 사용하는 엔드 포인트를 지정하는 것으로 구성됩니다. 엔드 포인트에는 주소, 바인딩 및 계약이 있으며 각각 클라이언트 구성 프로세스에서 지정해야합니다..
  6. 클라이언트를 사용하면 실제로 생성 된 프록시에서 서비스를 호출하고 작업 호출이 완료되면 클라이언트를 닫습니다..

설명 된 대부분의 작업이 자동으로 수행되므로 WCF 서비스 라이브러리 템플릿 또는 Visual Studio의 WCF 서비스 응용 프로그램 템플릿을 사용하면 위에서 언급 한 단계를 크게 단순화 할 수 있습니다..

WCF를 배우고 사용해야합니까?

대부분의 경우, 당면한 특정 과제, 즉 해결 방법과 가장 효율적이고 미래를 보장하는 솔루션은 무엇입니까? 어쩌면 간단한 예가이 질문에 대한 가장 좋은 대답 일 것입니다..

분산 된 판매 위치가 많은 고객을위한 POS (Point of Sale) 소프트웨어 제품군을 개발 중이며 고객의 기존 핵심 비즈니스 SQL 데이터베이스에 연결해야합니다. 두 가지 가능한 해결책이 있습니다. 첫 번째는 WAN을 설정하고 라우터 또는 VPN 연결을 사용하여 모든 고객의 영업 위치를 핵심 데이터베이스에 연결하는 것입니다.

두 번째 솔루션은 WCF 클라이언트-서버 솔루션을 구현하고 인터넷을 통해 데이터베이스에 액세스하는 것입니다. 많은 시나리오에서 WCF를 사용하면 매우 유용하고 경제적 일 수 있습니다..

WCF 자료

Microsoft 플랫폼 용 클라이언트-서버 응용 프로그램 개발 작업을하는 경우 WCF에서 다음 리소스를 살펴보십시오.

  • MSDN (Microsoft Developer Network) Windows Communication Foundation 기본 페이지에는 설명서, 참조 리소스, 가이드 및 자습서를 포함하여 WCF에 대한 전체 개요가 제공됩니다..
  • Visual Studio의 MSDN (Microsoft Developer Network) WCF 섹션에서는 Visual Studio에서 사용할 수있는 WCF 도구에 대해 설명하고 간단한 방법을 제공합니다..
  • MSDN (Microsoft Developer Network) WCF 응용 프로그램 배포 시나리오는 다양한 WCF 사용 시나리오 및 사용 사례를 보여주는 유용한 기사입니다..

WCF 도서

우리는 WCF에 대해 가장 존경받는 두 권의 책을 선택했습니다.

  • Juval Lowy 및 Michael Montgomery의 WCF 서비스 프로그래밍 : 유지 보수 가능한 서비스 지향 시스템 (2015) 설계 및 구축 :이 책은 문서화가 아닌 고유 한 통찰력을 제공하여 유지 관리 가능하고 확장 가능하며 재사용 가능한 구축에 필요한 주제와 기술을 익히도록 도와줍니다. WCF 기반 응용 프로그램.
  • Mike Liu의 Entity Framework (2014)를 사용한 WCF 다중 계층 서비스 개발 : C #, VB.NET 또는 C ++ 개발자이고 WCF 및 Entity Framework를 시작하려면이 책이 적합합니다. 이 책은 Entity Framework를 백엔드로 사용하여 WCF 서비스를 개발하는 데 필요한 모든 사항을 알려줍니다..

결론

WCF는 서비스 지향 소프트웨어 솔루션을 만들기 위해 .NET Framework를 사용하는 Microsoft 제품이므로 강력한 성능을 유지합니다. 새롭지는 않지만 여전히 관련이 있으며 앞으로 몇 년 동안있을 것입니다..

우리는 WCF가 기술적 인 관점에서 큰 차이를 만들 수있는 몇 가지 사례를 이미 설명했습니다. WCF는 Microsoft 기술이지만 Java를 실행하는 한 대부분의 비 Windows 시스템과의 상호 운용성을 지원합니다..

추가 자료 및 자료

코딩 및 개발과 관련된 더 많은 가이드, 자습서 및 인포 그래픽이 있습니다.

  • Microsoft Visual Basic / Visual Studio : Visual Basic에 중점을 둔 Visual Studio의 기본 입문서입니다..
  • ADO.NET 소개 : 데이터베이스와 상호 작용하기위한 기본 .NET 시스템.
  • C # 리소스 : .NET 창에서 가장 널리 사용되는 언어 중 하나 인 C #은 매우 유용합니다..

어떤 코드를 배워야합니까?

코딩해야 할 프로그래밍 언어에 대해 혼란 스러우십니까? 인포 그래픽, 어떤 코드를 배워야합니까?를 확인하십시오. 언어의 다양한 측면에 대해서만 논의 할뿐만 아니라“생활에 필요한 Java를 얼마만큼 돈을 벌 수 있을까요?”와 같은 중요한 질문에 답변합니다.

어떤 코드를 배워야합니까?
어떤 코드를 배워야합니까?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map