2012-09-07 5 views
1

나는 시스템의 건축과 디자인에 대한 초라한 과제를 받았다. 나는 프로그래밍이 아니라 설계에 익숙하다. 그래서 저는 제 일을 시작하는 방법과 장소에 대한 조언을 구하기로 마음 먹었습니다.내 애플리케이션 설계를 평가하는 방법은 무엇입니까?

Click above link to view bigger image

Actual Image.

그래서, 그 중 하나의 질문에 대답 할 수 있습니다 : 나는 아래 그림에서 (내가 생각하는) 모든 올바른 질문을 넣어 위해 노력했다 "왜 XML-RPC를" 왜냐하면 강력하고 잘 설계된 업계 표준 방식의 통신이기 때문입니다 (IEEE 논문에서 읽었습니다).

이미지의 질문에 답하십시오.

P. 나는이 모든 것에 쉬운 해결책을 묻는 것에 동의한다. (이미지의 마지막 질문은) 매우 게으른 것이다. 하지만 그 사람이해야 할 일은 아닌가? 한 번 해결 된 문제는 해결하지 못했습니까?

편집 : 앱은 기본적으로 원격 사용자가 컴퓨터와 상호 작용할 수있는 방법을 제공해야합니다. 그것을 놓을 수있는 한 가지 방법은 앱이 기계 상호 작용 API에 네트워킹 기능을 제공해야한다는 것입니다.

+1

죄송합니다.이 질문은 너무 모호합니다. 더 구체적인 질문으로 다시 시도하십시오. 당신은 "이것이 최고의 디자인인가?"라고 묻고 있지만, 당신이 디자인하고있는이 프로그램이 무엇을해야하는지는 전혀 모른다. – AndrewR

+0

앱은 기본적으로 원격 사용자가 컴퓨터와 상호 작용할 수있는 방법을 제공해야합니다. 한 가지 방법은 앱이 네트워크 호출 가능 시스템 상호 작용 API를 제공해야한다는 것입니다. 나는 나 자신을 분명히하기를 희망한다. – Prasanth

+0

나는 디자인 전문가가 아니지만, 여기에 제시 한 내용이 매우 기초적임을 알 수 있습니다. 어쩌면 예를 들어 기계가하는 일에 대해 더 자세히 설명하려고 할 수 있습니까? 기계 작동 속도? 등 ... – mbm

답변

1

설명해 주셔서 감사합니다.

서버 (컴퓨터 컴퓨터)와 클라이언트 간의 통신 방법에 대해 좀 더 연구해야 할 필요가 있다고 생각합니다. 하나의 옵션은 MSMQ (메시지 대기열)를 사용하는 양방향 통신 일 수 있습니다. 마이크로 소프트는 여기에 관한 페이지를 가지고있다. http://msdn.microsoft.com/en-us/library/ms752264.aspx

내가 어떻게 작동하는지 알 수있다. 각 섹션은 솔루션의 별도 프로젝트입니다.

기계 컴퓨터 (서버) 프로젝트 (EXE, 콘솔 응용 프로그램?)

  • 는 클라이언트 컴퓨터의 API 호출을 받아 들일 수있는 ServiceHost에 포함되어 있습니다.
  • 새 클라이언트 컴퓨터가 연결되면 업데이트 할 클라이언트 목록에 추가하십시오.
  • 연결을 끊을 때 업데이트하거나 업데이트 통신을 보내기 전에 클라이언트가 작동 중인지 확인하기 위해 목록에서 클라이언트를 제거하십시오.
  • API 호출을 수락하고 모든 클라이언트 컴퓨터로 전화를 걸어 프로세스 상태를 제공하고 "컴퓨터"에서 요청을 실행합니다.
  • "컴퓨터"가 완료되면 클라이언트 컴퓨터를 호출하여 완전한 상태를 제공합니다.

클라이언트 컴퓨터 (클라이언트) 프로젝트 (EXE, GUI 응용 프로그램)을

  • 서버에서 상태 업데이트를 받아들이는 ServiceHost에 포함되어 있습니다.
  • 시작할 때 새 클라이언트가 온라인 상태 인 알림 (API)을 서버로 보냅니다.
  • 종료 할 때 클라이언트가 오프라인 상태가 될 서버에 알림 (API)을 보냅니다.
  • 서버에서 제공되는 상태 및 기타 정보 또는 사용 가능한 정보를 보여주는 창을 제공하십시오.
  • 사용자가 컴퓨터에서 실행되는 서버 (API)에 명령을 보낼 수 있도록 옵션을 제공

계약 프로젝트

  • 이 될 것입니다 모든 클래스 객체를 포함합니다 클라이언트와 서버에서 앞뒤로 전달됩니다.
  • 클라이언트와 서버 프로젝트 모두이 프로젝트를 참조합니다. 둘 다 통신 송수신에이 클래스를 사용할 수 있어야합니다.
+0

답변 해 주셔서 대단히 감사합니다. 내가 한 말을 완전히 이해하는 데는 어느 정도 시간이 걸릴 것입니다. – Prasanth

+0

jgauffin은 WCF와 함께 가고자 함을 제안했지만 거기에 MSMQ에 대한이 지식도 사용할 수 있습니다. 여기에 정보를 입력하면 누군가가 유용하다고 느낄 수 있습니다. ** WCF는 내가 필요로하는 것입니다. ** – Prasanth

관련 문제