2012-06-03 4 views
1

이것은 많은 질문을 받았지만 더 구체적인 대답을했습니다..Net TCP 대 WCF 대 Powershell

저는 에이전트와 관리자와의 통신에 의존하는 응용 프로그램 모음을 디자인/개발하고 있습니다. 그들은 명령 (매니저에서 에이전트로) 및 통계 (에이전트에서 매니저로)를 전달합니다. 현재이 응용 프로그램 제품군은 Windows 플랫폼에서만 실행되지만 궁극적으로는 다른 시스템으로 확장해야합니다. 이 응용 프로그램을 사용하는 일부 곳에서는 시스템 전반에 많은 응용 프로그램을 설치하고 싶지 않을 수도 있고 관리자 측이 주스를 ​​빨아 들이기를 원하지 않을 수도 있습니다 (분석!) 따라서 클라우드에서 필요할 수 있습니다.

그래서 .Net TCP 소켓을 사용할 수 있다는 것을 알고 있습니다. 이는 원시 성능이 뛰어나고 유연성이 뛰어납니다.

나는 또한 Windows Communication Foundation을 사용할 수 있음을 알고 있습니다. 자연스럽게 더 나은 선택 인 것 같습니다.

그러나 저는 명령을 보내고 통계를받는 것을보고 Powershell을 사용하여 원격으로 연결하고 서버가 될 수있는 많은 명령을 사용하여 클라이언트 응용 프로그램을 완전히 종료하지 않을 수 있습니다.

이러한 응용 프로그램 (클라이언트 특히)은 그냥 앉아서 조용히하고 일을하고 일반적인 작업을 방해하지 않아야한다는 것을 명심하십시오.

추가 설명이 필요하면 기꺼이 보내 드리겠습니다.

감사합니다.

+1

powershell 또는 유사하게 스크립트를 작성하여 최종 사용자에게 영향을주지 않으면 필자가 취할 경로입니다. 단순한. – kenny

+0

나는 그렇게 생각했다. 케니 감사합니다! –

답변

1

응용 프로그램을 신고하는 방식으로 클라이언트와 서버에있는 관리자에있는 '에이전트'로 다시 정리합니다. 그렇다면 관리자가 에이전트에게 명령을 보내고 에이전트는 응답하거나 관리자가 사용할 수있는 통계를 저장합니다.

이러한 아키텍처의 경우 WMI을 사용하고 에이전트의 WMI 공급자 및 서버에서 원하는 위치를 사용하는 것으로 상상할 수 있습니다. Powershell은 서버에서 에이전트를 쿼리하는 데 사용할 수 있습니다. 가까운 장래에 WS-Man Protocol의 맨 위에 NanoWBEM이있는 Linux 상자에 에이전트를 배치하는 동일한 아키텍처를 사용할 수 있습니다 (Standards-based Management in Windows Server “8” 참조).

+0

Oop, thanks! 그것이 내가 말하고 싶은 것이었지만, 커피가 차서 걷지 않았다고 생각합니다. NanoWBEM을 조사 할 것입니다. 감사 :) –

1

그들은 (서버에서 클라이언트로) 명령과 (서버에서 클라이언트로) 통계를 통신하게됩니다. 현재 응용 프로그램 모음은 Windows 플랫폼에서만 실행되지만 결국 은 다른 시스템으로 확장해야합니다.

설명에서 Power Shell과 호환되지 않는 요구 사항이 하나 있습니다. Power Shell은 Windows 환경에서만 작동합니다.

WCF 서비스는 올바르게 구성된 경우 리소스를 사용해서는 안됩니다. IIS와 WAS는 필요할 때 (클라이언트로부터 요청을받을 때) 서비스를로드하고 필요하지 않을 때 언로드 할 수 있습니다.

http://blogs.msdn.com/b/blambert/archive/2009/02/13/enable-iis.aspx

http://msdn.microsoft.com/en-us/library/ms731053.aspx

TCP 소켓은 이미 WCF에 존재하는 모든 배관을 구현하기 위해 추가 DEV 및 QA 작업을 많이 필요로보기 그러나 불행하게도 구현의 성능 지점에서 최고입니다. 그 일을 끝내면 업계 표준과 호환되지 않는 "자전거"가 하나 더 생깁니다.

내 투표가 WCF입니다.

+0

그래, 그게 내가 생각했던거야. windows -! windows 관리를 조사해야합니다. 링크를 가져 주셔서 감사합니다. 매우 유용 :) –