문제

레거시 구성요소가 0개인 오늘부터 시작되는 분산 컴퓨팅 프로젝트의 경우 CORBA를 살펴봐야 할 이유가 있습니까?

도움이 되었습니까?

해결책

Corba가 좋은 대답이 될 수있는 상황이 여전히 있습니다.

  • 여러 프로그래밍 언어와 여러 플랫폼이 포함 된 분산 시스템을 구축 할 때
  • 시스템이 복잡한 데이터 구조를 보내는 것을 수반하면 SOAP가 절단되지 않습니다.
  • 메시징이 높을 때 ... HTTP가 삭감되지 않거나
  • 기존 CORBA 클라이언트 및/또는 서비스와 상호 작용 해야하는 경우.

그러나 Corba가하는 일을하는 대안이 있습니다. 예를 들어 0의 얼음

편집하다 @fnieto는 얼음이 자유롭지 않다고 말하면서 (또는 암시하는) tao입니다.

이것은 부정확하고 오해의 소지가 있습니다.

  1. ICE는 GPL의 소프트웨어이며 무료로 다운로드 할 수 있습니다. 귀하 / 귀하의 회사가 GPL의 조건으로 살 준비가되지 않은 경우에만 ICE 비용을 지불하면됩니다. (또는 지원이 필요한 경우)
  2. 나는 얼음을 예로 사용했다 대안 코바에게. Tao는 Corba입니다. ICE 저자는 Corba를 준수하지 않음으로써 더 나은 성능을 얻을 수있는 이유에 대해 믿을만한 사례를 제시합니다.
  3. TAO는 결코 유일한 무료 / 오픈 소스 CORBA 구현이 아닙니다. 나는 내 머리 꼭대기에서 다른 3 명을 생각할 수 있습니다.

ICE의 다운 측은 CORBA 미들웨어 스택과의 상호 운용성이 부족하지만, 내 경험상 다른 CORBA 구현의 상호 운용성도 문제가 될 수 있습니다. (그 분야에서 상황이 개선되었을 수도 있습니다 ... 그러나 2002 년 이래로 Corba 작업을 수행하지 않았으므로 약간 접촉하지 않았습니다.)

다른 팁

기존 답변에서 이것은 거의 종교적인 주제에 들어갑니다. Corba를 반쯤 비우기/반 만급 유리와 같은 방식으로 볼 수 있습니다. 한편으로, Corba는 레거시 크루 프트와 다른 한편으로는 몇 가지 구현과 "당신이 아는 악마"가 비교적 안정적입니다.

작업 라인에서 CORBA는 임베디드 시스템, 실시간 시스템 (CORBA에 RT 확장 기능이 있음) 등에 배치 된 것을 볼 수 있습니다. 대안이 많지 않습니다.

CORBA의 또 다른 "장점"은 라이센스 및 지원 모델이 다른 여러 고품질 오픈 소스 구현 (예 : TAO, MICO, Jacorb 등의 가용성입니다. 여전히 상업용 버전도 있습니다.

"대부분의"CORBA 앱이 Java로 구현되는 것과 관련하여, 내 경험에서는 그렇지 않습니다. Corba to Java에 대한 언어 매핑은 가장 좋은 것 중 하나이지만 (많이 말하지 않을 수도 있음) Java는 이미 Corba 이상의 풍부함을 제공하는 매우 멋진 분산 컴퓨팅 모델을 보유하고 있으며 All-Java 앱은 Corba보다 더 많은 것을 사용합니다. 내가 본 CORBA 개발의 대부분은 C ++ (최악의 언어 매핑이기도 함)입니다.

마지막으로 Corba는 AMI 형태의 표준화 된 비동기 클라이언트 측 호출을 제공하지만 서버 측에서 비동기 처리를 제공 한 적이 없습니다. TAO는 AMH라는 비표준 서버 측 구현을 제공합니다.

EJB는 약간의 구성에 의해 Corba Beans로 쉽게 바뀔 수 있기 때문에 Corba는 원래 EJB 사양에 의해 부활했다고 생각합니다. 대부분의 CORBA 배포는 실제로 Java에서 구현되었다고 생각합니다.

인기에 관해서는, 나는 수십 년 동안 고급 배치가 남아 있을지 모르지만 대부분의 사람들은 Corba가 죽었다고 생각합니다.

같은 일을하는 매우 섹시한 방법이 많이 있습니다 (위에서 언급 한 하이 엔드를 제외하고).

  • 클라우드 컴퓨팅 (웹 서비스, 확장 가능한 컴퓨팅, 느슨한 커플 링, 대기열).
  • 휴식 서비스 (웹 서비스 라이트).
  • 비누 서비스 (웹 서비스 무거운).
  • 그리드 / 클러스터 컴퓨팅 (큐잉, 맵 레디스 및 이와 유사한)

그러나 물론 당신의 마일리지는 다를 수 있습니다.

분명히 그것은 당신이 고려하고있는 서버 및 간호사 통신의 유형에 따라 다릅니다. 그리고 저는 Stephen C와 Chris Cleeland가 Corba의 긍정적 인 것을 잘 다루고 있다고 생각합니다.

우리의 응용 프로그램은 10 년 넘게 Corba (Orbix)를 사용 했으므로 현재 유산입니다. 그리고 그것이 쓰여진 방법에 대해 Corba는 좋은 기술입니다. 그러나 내가 다시 시작했다면 아마도 Corba를 사용하지 않을 것입니다.

  • 그것은 복잡하고 내 조직의 소수의 사람들만이 그것을 잘 알고 있습니다. 결과적으로 모든 어려운 문제가 해결하기 위해 떨어집니다.
  • 채용 직원이 문제가 될 수 있습니다. Corba는 더 이상 시원하지 않고 아일랜드에서 C ++ 개발자도 약간 얇아 지지만 시원해지지 않습니다.
  • 대부분의 컨설팅 회사는 통합 작업을 위해 웹 서비스를 사용하기를 원하므로 3자가 통합을 수행하려면 웹 서비스 API가 필요할 것입니다.

이제 내가 원하는 의사 소통의 유형에 따라 아마도 다음을 고려할 것입니다.

  • 많은 작은 메시지를위한 프로토콜 버퍼 (전송을 제공해야한다는 것을 알고 있습니다)
  • 더 적은 큰 메시지를위한 웹 서비스

이는 직원 및 전문 지식, 타사 지원 및 오픈 소스 라이브러리를 활용 한 다음 CORBA의 기술적 품질을 활용하는 데 기반을두고 있습니다.

Corba는 확실히 구식이지만 상자 밖에서 특정 높은 수준의 기능을 제공합니다 ( 여기). 이 기능은 모두 현대적인 웹 서비스를 사용하여 수행 할 수 있지만 표준 방식은 아니며 많은 추가 작업이 없을 수 있습니다.

그러나 분산 서비스의 99%의 경우 Corba는 바람직하지 않습니다. 추악하고 복잡하며 사용하기 어렵습니다.

여기서 아무도 언급하지 않은 한 가지는 OPEN, OPEN STANDARDS입니다.존재하는 모든 기술(SOAP 제외) 중에서 유일하게 진정한 개방형 백서 표준입니다.표준은 어느 한 조직의 기술에 의존하지 않습니다.RMI(Sun/Oracle), DCOM(현재는 사용되지 않음 - Microsoft).완전히 공급업체 및 언어 중립적입니다.SOAP를 제외하고 다른 DOS(분산 개체 기술) 기술은 없습니다.

저는 소프트웨어 설계자이고 시스템 설계에 어떤 DOS를 사용해야 할지 정기적으로 선택해야 합니다.매번 직면하는 종교전쟁이 아니었다면 MOM이나 CORBA였을 것이다.

이렇게 보면 3/4G 네트워크 중 어느 것도 작동하지 않을 것입니다.3GPP는 전적으로 CORBA 사양입니다.유럽 ​​위성 시스템은 모두 CORBA로 지정되었습니다.왜 그런지 스스로에게 물어보세요.공급업체 및 언어 중립적인 아키텍처를 기반으로 해야 하기 때문입니다!

나는 웹 서비스의 현재 성숙도 수준 (휴식 포함)과 Java World EJB (커버 아래에서 Corba를 사용할 수도 있음)가 분산 엔터프라이즈 시스템에 필요한 것을 덮고 있다고 말합니다.

나는 당신이주의 깊게 살펴 봐야 할 한 가지 측면이 분산 시스템에서 필요한 비동기 상호 작용의 정도라고 조언합니다. 사소한 규모의 분산 시스템에는 비동기 통신이 필요하며 선택한 인프라는 일반적으로 대기열을 의미하는 비동기 처리를 지원해야한다고 가정합니다.

그것은 웹 서비스 (또는 실제로 CORBA)의 사용과 일치하지 않지만 일부 분산 처리가 진행되는 초기 흥분에서 간과 될 수있는 제품 선택의 측면을 지적합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top