2010-03-17 2 views

답변

5

개념으로 SOA는 수년간 주변에 있었다, 그러나 단지 최근에 그런 지명되었다. SOA를 구현하는 기술은 완전히 또는 그 측면에서 다양합니다. CORBA는 그 중 하나라고 할 수 있지만, CORBA가 만들어 졌던시기는 아니 었습니다.

CORBA는 SOA 표면 영역의 상당 부분을 차지하지만 실제로 그렇게 말할 수는 없다고 생각합니다. SOA는 다소 모호 할 수 있습니다.

6

CORBA와 SOA의 차이점은 CORBA가 특정 기술이지만 SOA는 아키텍처 스타일이라는 것입니다.

+0

CORBA에는 철학이 너무 많지 않았습니까? – Zubair

+4

@Zubair 예 - 아무도 원하지 않는 서비스를 지정하고 구현 및 사용을 가능한 한 어렵게 만듭니다. 부차적 인 목표는 문자열과 같이 사람들이 실제로 사용할 수있는 사용 가능한 참조 구현을 피하는 것이 었습니다. 불만을 가진 전 CORBA 프로그래머 (절대로, 다시는) 말하기. –

+1

@Neil, 나는 당신의 코멘트를 좋아한다. 나는 대부분의 SOA 구현이 복잡하다고 생각한다. 아마도 사용하기 쉬운 뭔가가 유용 할 것이다. – Zubair

4

SOA에 대한 "공식적인"정의는 없지만, 여러 가지 서비스를 서로 분리하는 것이 핵심입니다. 여기에는 서비스에서 사용되는 구현 (플랫폼 및 기술)을 분리하는 가능성이 포함됩니다. 예를 들어 WebServices를 통해 서비스를 노출하는 경우 java/python/.Net 등의 클라이언트가이 서비스를 사용할 수 있습니다.하지만 RPC/원격 프로 시저 호출 프레임 워크를 사용하면 특정 플랫폼/구현에 연결됩니다. 서비스를 요청하십시오.

CORBA는 SOA가 약속 무엇의 일부를 제공 않지만, SOA는 "될 운명"무슨 중 가장 하위 집합입니다

의 주요 차이점은 있지만 코바는 기술이있는 동안 SOA는 일반 건축 개념이 있다는 것이다 RPC/Remoting 개념의 구현

3

실제로는 아닙니다. SOA는 아키텍처 스타일이고 CORBA는 SOA를 구현할 수있는 특정 기술입니다.

13

이미 언급 한 사실 외에도 SOA는 아키텍처이고 CORBA는 특정 구현입니다.

CORBA는

의 주요 차이점은 CORBA가가 지향 객체 또는가 지향 구성 요소라는 것이다 SOA 구현하지 않고, SOA는 (제 생각에)

주요 기술 차이를 지향 서비스입니다 SOA에서 메시지 (또는 데이터 객체)를 전달하고 CORBA에서 일반 객체 (메소드를 가질 수 있음)를 전달할 수 있습니다. CORBA를 사용하여 SOA를 구현할 수 있지만 (기능의 하위 집합으로 자신을 제한함으로써) 표준 우리의 길 g CORBA는 서비스 지향적이지 않습니다.

+0

매우 좋습니다. CORBA는 CORBA가 컴포넌트 지향이고 서비스 지향적이지 않다는 것이 핵심이라고 생각합니다. 물론 CORBA는 특정 종류의 컴포넌트 지향 원격 아키텍처의 특정 구현이며, SOA는 그 자체로 구현되지 않습니다. 이 대답은 – Jaywalker

+0

+1입니다. 나는 그 사이에 찢겨졌지만 CORBA에 대한 언급은 구성 요소 방향에 맞춰 졌기 때문에 나를 위해 그것을 못 박았습니다. – realnsleo

1

CORBA와 SOA는 둘 다 아키텍처입니다. CORBA라고 말하는 것은 잘못입니다. 그렇지 않습니다. 그것은 아키텍처이며, 객체로 구축 된 시스템의 비전입니다. SOA는 아키텍처이기도하며 서비스로 구축 된 시스템의 비전입니다. 두 가지 방법 모두 시스템을 개체 또는 서비스의 모음으로 구성하는 방법입니다. CORBA뿐만 아니라 SOA를위한 특정 구현이 있습니다.

두 기술입니다. 둘 다 시스템을 구성하고 복잡성을 관리하는 데 필요한 영수증과 권장 사항을 제공합니다. 이 두 가지 기술을 지원하기 위해 타사에서 개발 한 도구가 있습니다.

CORBA (Common ORB Architecture)의 객체는 서비스 지향 아키텍처 (SOA)와 공용 ORB 아키텍처 간의 변환을 생각할 수 있도록 서비스를 제공합니다.그것들은 똑같은 것은 아니지만 어느 한쪽 또는 다른 쪽을 가진 소프트웨어 시스템을 구현하여 상상할 수 있습니다.

이들은 객체 지향 프로그래밍과 구조 프로그래밍 또는 기능 프로그래밍과 같은 방식이 아닙니다. 위에서 언급 한 프로그래밍 스타일 중 하나를 사용하여 특정 기능을 구현할 수는 있지만 마찬가지입니다.

0

그들은 본질적으로 다르다. 하나는 기술 (CORBA)에 의존하고 다른 하나는 그렇지 않기 때문이다.

  • CORBA는 OMG에서 개발 한 개방형 표준입니다 좋은 상호 운용성에 초점 (소프트웨어 플랫폼, 하드웨어 플랫폼과 프로그래밍 언어)로 사용가 ORB (Object Request Broker) 미들웨어 (객체 관리 그룹).
  • SOA는 네트워크를 통한 통신 프로토콜을 통해 서비스가 응용 프로그램 구성 요소에 의해 다른 구성 요소에 제공되는 소프트웨어 설계 스타일입니다. 서비스 지향 아키텍처의 기본 원칙은 공급 업체, 제품 및 기술과 독립적입니다.

SOA의 정의가 너무 광범위하고 CORBA의 많은 개념이 SOA 용어에 자연스럽게 매핑 될 수 있기 때문에 나는 의심 할 여지가 없었습니다. 예를 들어 CORBA에서 클라이언트 (객체)는 서버 (객체)에게 네트워크를 통한 통신 프로토콜을 통해 작업을 요청합니다. 또한 CORBA 구현은 로깅 및 이벤트 지원과 같은 일반 서비스를 제공합니다. 과거에 많은 사람들에게

첫 번째 서비스 지향 아키텍처는 CORBA 사양을 기반으로 객체 요청 브로커 (ORB로)의 사용했다 : 나는 this link가 CORBA와 SOA의 관계를 요약 한 것입니다 생각합니다. CORBA 사양은 서비스 지향 아키텍처에 대한 인식을 실제로 높이는 데 책임이 있습니다.

관련 문제