2011-11-27 6 views
1

두 개의 구성 요소 A 및 B가있는 가상 소프트웨어가 있습니다. 구성 요소 B는 A 또는 B와 동일한 컴퓨터에 로컬로 배포 할 수 있으므로 원격으로 배포 할 수 있습니다. 로컬 또는 원격 배포 여부에 관계없이 B의 API에 대한 호출을 투명하게 처리 할 수있는 프로그래밍 언어의 기술/방법/구성이 있는지 알고 싶습니다. 개발자를 끝내려면 동일한 함수 호출로 나타나야합니다.로컬 또는 원격으로 기능 호출

+0

RPC 및 지역 통화는 항상 아주 다른 안정성과 성능 특성을 가지고 있습니다. –

+1

이 접근법에 대한 비평을 위해 "분산 컴퓨팅 노트"를 확인할 수 있습니다. – sdcvvc

답변

0

원격 호출 (예 : .net remoting 또는 Java RMI 사용)을 사용하는 경우 두 구성 요소가 동일한 시스템에 배포 된 경우에도 호출을 수행 할 수 있습니다.

0

Windows에서는 COM/DCOM을 사용하여 원하는 것을 달성 할 수 있습니다. 프로그램의 관점에서 볼 때 구성 요소는 원격이거나 로컬 일 수 있습니다. 문제가되지 않더라도 여전히 인스턴스화되고 동일한 방식으로 사용됩니다.

+0

COM/DCOm에서 로컬로 배포 된 구성 요소에 대한 호출이 로컬 함수 호출이됩니까? 구성 요소가 동일한 시스템에있을 때 소켓을 피하고 직접 함수 호출을 통해 API를 호출하려고합니다. 그러나 구성 요소가 원격으로 배포 될 때 시스템은 RPC 또는 다른 메커니즘을 사용해야합니다. –

0

B의 API URL 또는 위치를 응용 프로그램의 구성 파일 중 하나에 구성 가능한 것으로 유지하고 응용 프로그램 전체에이 구성 설정에 액세스하려고하면 할 수 있습니다. 로컬 API 또는 원격 API를 가리 킵니다.

최종 개발자는 변경 사항이 응용 프로그램의 구성 파일에서만 발생하며 나머지 기능 호출은 구성 요소 B가 로컬 또는 원격으로 배포되는지 여부와 관계없이 동일하게 유지됩니다.

예 : 인터넷을 통해 어디에서나 배포 된 API 웹 서비스에 액세스하려는 PHP 응용 프로그램. 당신은 질문으로는 "투명하게"다른 하나의 전환 정말 불가능하므로

감사

+0

텍스트를 인용 할 때는 줄 앞에> 문자를 붙입니다. 4 개의 공백으로 들여 쓰기하면 텍스트를 코드로 포맷하고 줄 바꿈을 제거하고 텍스트를 조금 더 읽기 쉽게 만듭니다. – Amy

관련 문제