2012-06-23 5 views
2

.Net 4, C# 및 SQL Server를 사용하여 클라이언트 - 서버 기반 데스크톱 응용 프로그램을 개발하고 싶습니다.토론 - 클라이언트 서버 응용 프로그램 아키텍처

내가 무엇에 대해 생각하고 있는지 이미지를 참조하십시오. Client Server Application Architecture

Windows 서비스 또는 웹 서비스에 액세스하는 서버 응용 프로그램이 있습니다. 클라이언트 응용 프로그램에는 다중 문서 인터페이스가 있습니다.

  1. 서버 응용 프로그램과 소켓 연결을 사용하는 클라이언트 응용 프로그램을 서버에서 인증하려면, 또한 서버에 대한 클라이언트 연결의 기록을 추적 할 수 있도록 - 아래

    내가 생각하고 무엇을하는 것은 나의 포인트입니다.
  2. 서비스는 웹 서비스가됩니다.
  3. 성공적인 인증 후에 클라이언트 응용 프로그램은 웹 서비스에 직접 액세스하므로 서버에 과부하가 없습니다.

구현 방법이 좋을지 또는 더 좋은 방법이 있습니까? 웹 서비스 대신 Windows 서비스를 사용해야합니까? 웹 서비스를 직접 사용하는 대신 모든 데이터 통신에 소켓 연결을 사용해야합니까?

시간과 지혜를 공유해 주셔서 감사합니다.

감사

이르판

답변

2

가장 확실히 모든 클라이언트/서버 통신을위한 웹 서비스 경계를 ​​사용합니다.

WCF 원하는 모든 작업을 수행합니다. different bindings 및 심지어 customize what kind of security they use으로 여러 엔드 포인트를 표시 할 수 있습니다.

WCF documentation에 시간을 들여서 아키텍처 다이어그램에 완벽하게 어울리는 것을 알게 될 것입니다. 필요한 모든 것이 즉시 사용 가능할 것입니다.

+0

빠른 답변을 주신 Josh에게 감사드립니다. 이게 완벽한 방법이라고 생각하니? – IrfanRaza

+0

나는 완벽하다고 말하지 않을 것이다. 그러나 .Net 스택에 서비스 지향 아키텍처를 구축하려는 경우 WCF가 해당 작업에 적합한 도구입니다. WCF는 * BIG * 기술이기 때문에 실제로 파고 들어갈 시간을 보내고 노래를 부르면됩니다. – Josh

+1

그렇다면 ... 웹 기반 클라이언트가 이러한 서비스 중 하나를 소비하게되면 ** ASP.Net 웹 API **를 살펴 보는 데 약간의 시간을 보내고 싶을 것입니다. 간단한 REST/JSON 호출의 경우 WCF보다 사용하는 것이 훨씬 간단합니다. – Josh

관련 문제