CORBA는 여러 객체가 다른 프로그래밍 언어로 구현되고 다른 컴퓨팅 노드에서도 실행될 수 있음을 알고 있습니다. 그러나 두 개의 서로 다른 언어로 작성된 두 개의 서로 다른 ORB가 필요합니까?CORBA 응용 프로그램을 ORB와 동일한 언어로 구현해야합니까?
예 : 노드 A는 Java 응용 프로그램 J1을 실행하고 노드 B는 C++ 응용 프로그램 C1을 실행합니다. 노드 A의 경우 "Java ORB"를, 노드 B의 경우 "C++ ORB"를 얻어야합니까? 아니면 모든/일부 ORB가 IDL 매핑이있는 언어로 작성된 응용 프로그램과 상호 작용할 수 있습니까?
누구나 나를 명시 적으로 언급하는 출처에 링크 할 수 있다면 나는 그것을 고백하고 싶습니다. 가장 가까운 것은 "the way a programmer manipulates a struct or union, makes a remote call using a proxy or implements an interface with a servant class is exactly the same across all C++ CORBA products, is exactly the same across all Java CORBA products, and so on"입니다. 이것은 내가 두 개의 ORB가 필요하다고 생각하게하지만, 충분히 명확하지는 않습니다. 기본적으로 "ORB가 C++로 작성 되었기 때문에 응용 프로그램 프로그래머도 C++을 사용하도록 제한되어 있습니다"라고 말할 수 있는지 알고 싶습니다.
감사합니다.
구체적인 예를 들어 좀 더 자세히 설명하겠습니다. "ACE ORB (TAO)는 CORBA V3.0과 호환되는 C++ ORB입니다."[http://www.theaceorb.com /) TAO를 사용한다면 C++로 응용 프로그램을 작성해야한다는 것을 의미합니까? – Vidar
예, 그것이 의미하는 바입니다. 그러나 표준 프로토콜 IIOP (다른 프로토콜들)을 통해 다른 프로그래밍 언어로 다른 ORB와 원격으로 통신 할 수 있습니다. –
도와 주셔서 감사합니다. API가 응용 프로그램이 구현 된 언어로 API를 제공해야하는 ORB가 필요하다고 합의 된 것처럼 보입니다. ORB는 프로그래밍 언어로 API를 제공하기도하지만 멈추는 것이 전혀 없습니다. 핵심 라이브러리와 다른 언어로 된 API를 연결하는 것. * 또한 Python에서 C++을 호출하거나 Java에서 C를 호출하는 등 응용 프로그램 언어의 언어 내장 기능을 활용할 수 있습니다. – Vidar