두 개의 구성 요소 A 및 B가있는 가상 소프트웨어가 있습니다. 구성 요소 B는 A 또는 B와 동일한 컴퓨터에 로컬로 배포 할 수 있으므로 원격으로 배포 할 수 있습니다. 로컬 또는 원격 배포 여부에 관계없이 B의 API에 대한 호출을 투명하게 처리 할 수있는 프로그래밍 언어의 기술/방법/구성이 있는지 알고 싶습니다. 개발자를 끝내려면 동일한 함수 호출로 나타나야합니다.로컬 또는 원격으로 기능 호출
답변
원격 호출 (예 : .net remoting 또는 Java RMI 사용)을 사용하는 경우 두 구성 요소가 동일한 시스템에 배포 된 경우에도 호출을 수행 할 수 있습니다.
Windows에서는 COM/DCOM
을 사용하여 원하는 것을 달성 할 수 있습니다. 프로그램의 관점에서 볼 때 구성 요소는 원격이거나 로컬 일 수 있습니다. 문제가되지 않더라도 여전히 인스턴스화되고 동일한 방식으로 사용됩니다.
COM/DCOm에서 로컬로 배포 된 구성 요소에 대한 호출이 로컬 함수 호출이됩니까? 구성 요소가 동일한 시스템에있을 때 소켓을 피하고 직접 함수 호출을 통해 API를 호출하려고합니다. 그러나 구성 요소가 원격으로 배포 될 때 시스템은 RPC 또는 다른 메커니즘을 사용해야합니다. –
B의 API URL 또는 위치를 응용 프로그램의 구성 파일 중 하나에 구성 가능한 것으로 유지하고 응용 프로그램 전체에이 구성 설정에 액세스하려고하면 할 수 있습니다. 로컬 API 또는 원격 API를 가리 킵니다.
최종 개발자는 변경 사항이 응용 프로그램의 구성 파일에서만 발생하며 나머지 기능 호출은 구성 요소 B가 로컬 또는 원격으로 배포되는지 여부와 관계없이 동일하게 유지됩니다.
예 : 인터넷을 통해 어디에서나 배포 된 API 웹 서비스에 액세스하려는 PHP 응용 프로그램. 당신은 질문으로는 "투명하게"다른 하나의 전환 정말 불가능하므로
감사
텍스트를 인용 할 때는 줄 앞에> 문자를 붙입니다. 4 개의 공백으로 들여 쓰기하면 텍스트를 코드로 포맷하고 줄 바꿈을 제거하고 텍스트를 조금 더 읽기 쉽게 만듭니다. – Amy
- 1. 로컬 컴퓨터에서 원격으로 프로세스를 디커플링합니다.
- 2. SOAP WCF Webservice는 로컬 또는 원격으로 호출 할 때 다르게 동작합니다.
- 3. 다른 설정을 application.yml과 같은 파일에서 로컬 또는 원격으로 사용
- 4. 로컬 Windows 또는 Mac 컴퓨터에서 원격으로 Linux 서비스 다시 시작
- 5. IIS 참여없이 로컬 또는 원격으로 msbuild zip 패키지를 배포하는 방법
- 6. ASP.NET ~ 원격으로 ASP.NET 페이지 호출
- 7. 로컬 X 세션에서 원격으로 명령을 실행 하시겠습니까?
- 8. 호출 기능
- 9. 로컬 전송에 원격으로 pimcore 문제가 발생했습니다.
- 10. 확장 기능/추가 기능 호출
- 11. 매개 변수를 원격으로 호출하는 PHP 함수 호출
- 12. 셸 스크립트를 사용하여 원격으로 로컬 스크립트 실행하기
- 13. Agility.js 로컬 저장 기능
- 14. 원격 또는 원격으로 연결 안함?
- 15. NSLog 호출 기능 방법
- 16. 원격으로 메소드를 호출 할 수 없습니다.
- 17. 자기 호출 기능 루프
- 18. 내 JavaScript 기능 호출
- 19. 호출 Clojure의 고차 기능
- 20. 자바 스크립트 호출 기능
- 21. 30 초마다 기능 호출
- 22. 호출 함수의 이름보다는 기능
- 23. 하스켈 호출 기능 onload
- 24. 다른 페이지에서 기능 호출
- 25. 내부 컴포넌트의 호출 기능
- 26. 호출 ostream에 친구 기능
- 27. 자바 호출 기능
- 28. 다른 프로세스에서 기능 호출
- 29. 호출 버튼 동작 기능
- 30. 클릭으로 기능 호출
RPC 및 지역 통화는 항상 아주 다른 안정성과 성능 특성을 가지고 있습니다. –
이 접근법에 대한 비평을 위해 "분산 컴퓨팅 노트"를 확인할 수 있습니다. – sdcvvc