10분 내로 Core WCF 소개
마이크로소프트가 .NET Framework 에서 .NET Core 로 전환할 때, 한 가지 주요 구성 요소가 함께 이동하지 못했습니다. 바로 Windows Communication Foundation(WCF)입니다. 수년간 WCF는 연결된 시스템을 구축하기 위한 최고의 솔루션으로 자리매김했으며, 내부 기업 도구부터 대규모 웹 애플리케이션에 이르기까지 모든 것을 지원해 왔습니다.
팀 코리는 짧지만 통찰력 있는 영상 " 10분 안에 배우는 Core WCF 소개 "에서 Core WCF 프로젝트가 무엇인지, 왜 존재하는지, 그리고 개발자들이 어떻게 사용을 시작할 수 있는지를 설명합니다. 이 글에서는 팀의 설명을 단계별로 살펴보겠습니다.
코어 WCF가 존재하는 이유
팀은 마이크로소프트가 .NET Core 로 전환하면서 WCF를 더 이상 지원하지 않게 되었다는 사실을 시청자들에게 상기시키며 이야기를 시작합니다. 이는 이전 .NET Framework 버전에서 WCF 서비스를 사용하는 개발자가 .NET Core 로 직접 업그레이드할 수 있는 경로가 없다는 것을 의미했습니다.
하지만 개발자 커뮤니티가 나섰습니다. 팀의 설명처럼 말이죠.
"이제 커뮤니티에서 WCF를 .NET Core 에 통합했습니다."
커뮤니티 주도로 개발되어 현재 .NET Foundation 프로젝트로 호스팅되는 Core WCF는 Windows Communication Foundation(WCF)을 최신 .NET Core 및 그 이후 버전의 .NET 에서 작동하도록 재구현한 것입니다.
Core WCF는 신규 프로젝트에 적합하지 않습니다.
데모를 시작하기 전에 팀은 중요한 사항을 명확히 하기 위해 잠시 멈춥니다. 그는 이렇게 말합니다:
"이 시스템은 새로운 프로젝트를 위해 설계된 것이 아닙니다."
Core WCF는 완전히 새로운 애플리케이션을 위한 최첨단 통신 프레임워크가 아닙니다. 오히려 기존 WCF 서비스를 사용하는 팀이 최신 .NET Core 환경으로 전환할 수 있도록 지원하기 위해 만들어졌습니다.
새로운 서비스 기반 애플리케이션을 개발하는 경우, Tim은 Microsoft가 새로운 개발에 권장하는 프레임워크인 gRPC를 살펴보라고 조언합니다. 실제로 그는 gRPC가 무엇이고 어떻게 사용하는지 설명하는 또 다른 소개 영상이 있다고 언급했습니다.
따라서 Core WCF는 마이그레이션을 위한 것이지, 완전히 새로운 ASP.NET Core 프로젝트를 위한 것이 아닙니다.
Core WCF는 누구를 위한 것인가요?
Tim은 Core WCF의 주요 목표는 조직이 .NET Framework 로 작성된 기존 WCF 애플리케이션을 현대화하도록 돕는 것이라고 설명합니다. 많은 기업들이 여전히 프로덕션 환경에서 실행되는 WCF 프로젝트에 의존하고 있습니다. 예를 들어 서비스 계약, SOAP 및 WSDL 생성을 사용하는 내부 시스템이 이에 해당합니다.
그는 gRPC가 강력하긴 하지만 일반적인 WCF 시나리오를 완전히 대체하지 못했기 때문에 많은 개발자들이 기존 플랫폼에서 벗어나지 못했다고 설명합니다. WCF 코어 버전은 이제 해당 문제를 해결합니다.
"목표는 기존 WCF 서비스를 .NET Core 로 마이그레이션하는 것입니다."
따라서 전체 프레임워크에서 실행 중인 WCF 프로젝트가 있는 경우, 이제 몇 가지 구성 변경만으로 기존 서비스 계약, 클라이언트 프록시 및 프로젝트 파일을 재사용하여 프로젝트를 마이그레이션할 수 있습니다.
WCF 핵심 프로젝트 페이지 개요
이어서 Tim은 개발자들이 시작하는 데 필요한 모든 것이 담긴 Core WCF GitHub 페이지를 보여줍니다. 그는 시청자들에게 이를 탐구해 보라고 권하며 다음과 같이 언급합니다.
"여기는 시작하기에 아주 좋은 곳입니다. 클라이언트 프로젝트에서 서비스를 만들고 참조하는 방법에 대한 단계별 안내뿐만 아니라 Visual Studio에 설치할 수 있는 새로운 템플릿도 제공합니다."
이러한 CoreWCF 프로젝트 템플릿을 사용하면 새로운 .NET SDK 스타일 프로젝트 파일 형식을 사용하여 Core WCF 서비스 또는 WCF 클라이언트를 훨씬 쉽게 구축할 수 있습니다.
이 페이지에서는 NuGet 패키지 참조, 구성 파일 및 서비스 주소를 처리하는 방법도 설명하여 개발자가 .NET Framework 의 기존 XML 구성 파일에서 .NET Core 에서 사용되는 미들웨어 패턴으로 전환하는 데 도움을 줍니다.
새로운 템플릿이 존재하는 이유
이 시점에서 Tim은 흔히 제기되는 질문, 즉 Core WCF가 새 프로젝트에 적합하지 않다면 왜 새로운 CoreWCF 프로젝트 템플릿을 만들어야 하는지에 대해 답변합니다.
그는 .NET Framework WCF에서 .NET Core 로 업그레이드하는 전략 중 하나는 새로운 CoreWCF 프로젝트를 생성한 다음 코드(서비스 로직, 인터페이스 및 구성)를 해당 프로젝트로 마이그레이션하는 것이라고 설명합니다.
"WCF를 .NET Core 버전으로 업그레이드하는 전략 중 하나는 새 템플릿을 만든 다음 코드를 옮기는 것입니다."
이를 통해 개발자는 .NET Core SDK 스타일 프로젝트를 사용하도록 애플리케이션 구조를 재구성하고 기존 어셈블리 참조 대신 NuGet 패키지를 업데이트할 수 있습니다.
따라서 Visual Studio 또는 dotnet 명령줄 도구를 통해 제공되는 새로운 템플릿은 완전히 새로운 시스템을 위한 것이 아니라 기존 WCF 애플리케이션의 마이그레이션 프로세스를 지원하기 위한 것입니다.
버전 업데이트 및 안정성
이어서 팀은 버전 관리에 대해 이야기합니다. 그가 녹음을 진행했을 당시, Core WCF 버전 1.1이 막 출시되었으며, 4월에 버전 1.0이 출시된 바 있습니다.
그는 버전 1.1이 불과 일주일 전(6월 말)에 출시되었다는 점을 지적하며, 이는 Core WCF가 빠르게 발전하고 있으며 점점 더 안정화되고 있음을 보여준다고 말합니다.
"이건 코어 업그레이드가 필요한 분들을 위한 소식이지만, 만약 그렇다면 오늘은 정말 좋은 날입니다."
이 성명은 Core WCF가 이제 프로덕션 환경에서 안전하게 사용할 수 있을 만큼 충분히 성숙했음을 강조하며, 마이그레이션 프로세스를 시작할 준비가 된 조직에 확신을 줍니다.
마이크로소프트에서 지원하는 커뮤니티 도구
Core WCF는 커뮤니티 프로젝트로 시작되었지만, Tim은 마이크로소프트에서 공식적으로 지원한다고 강조합니다.
"점점 안정화되고 있습니다." 참고로 말씀드리자면, 마이크로소프트에서 지원하는 제품입니다.
이러한 특징 덕분에 Core WCF는 안정적이고 미래 지향적입니다. 즉, WCF 서비스를 Core WCF로 이전하면 버려진 프로젝트나 실험적인 프로젝트에 의존하는 것이 아니라, .NET Foundation 산하에서 Microsoft가 지원하고 커뮤니티가 유지 관리하는 솔루션을 사용하는 것이라는 의미입니다.
현대적인 .NET 향한 한 걸음
Tim이 요약했듯이, Core WCF는 개발자에게 최신 .NET Core 런타임으로 가는 길을 열어줍니다. 이제 SOAP 서비스, 클라이언트 프록시, 서비스 계약과 같은 WCF 기능을 유지하면서 크로스 플랫폼 지원, 향상된 성능, 향후 .NET 버전을 위한 통합 런타임 등 .NET Core 의 모든 장점을 누릴 수 있습니다.
"이것은 여러분이 최신 .NET Core 로 전환하는 데 도움이 될 것입니다."
즉, Core WCF는 WCF를 완전히 새롭게 만드는 것이 아니라, 그 수명을 연장하는 것입니다.
마무리 생각 및 지역사회 참여
팀은 영상 말미에 시청자들에게 Core WCF GitHub 페이지를 방문하고, 문서를 읽고, 템플릿을 사용해 보라고 권장합니다.
그는 또한 개발자들이 자신의 피드백 사이트를 통해 질문이나 기능 요청을 제출하도록 권장하여, 이와 같은 주제에 대한 더 많은 짧은 교육 영상을 제작할 수 있도록 합니다.
결론: WCF 코어는 최신 .NET 으로 가는 다리 역할을 합니다.
팀 코리는 5분도 채 안 되는 시간에 Core WCF가 기존 WCF 애플리케이션에 있어 생명줄과 같은 존재임을 명확하게 설명합니다. 이는 완전히 새로운 서비스를 위한 것이 아니라, 기존 .NET Framework WCF 프로젝트를 유지 관리하는 팀이 모든 것을 처음부터 다시 작성하지 않고도 .NET Core 의 이점을 활용하여 현대화하려는 경우를 위한 것입니다.
이 Core WCF 튜토리얼은 Visual Studio 템플릿, NuGet 패키지 참조 및 Microsoft에서 지원하는 도구를 사용하여 개발자가 WCF 서비스를 새로운 .NET 개발 시대로 안전하게 이전할 수 있는 마이그레이션 경로가 마침내 마련되었음을 보여줍니다.

