2009-08-12 4 views
8

오케스트레이션 엔진 대 메시지 주도형 시스템의 책임은 무엇입니까?오케스트레이션 대 메시지 기반 아키텍처

서로 다른 독립 구성 요소 (웹 서비스 끝점을 노출하지 않아도되는 교차 기술/플랫폼 구성 요소)를 함께 묶어야하는 시스템을 구축해야한다면 어떤 도구 세트를 선택해야합니까?

더 좋은 옵션이 있습니까?

답변

0

이 질문은 Java로 태그가 붙어 있지만, 실제로이 경로를 사용해야 만한다면 가장 좋은 도구라고 말할 수 있습니다. Microsoft's BizTalk Server입니다.

나는 (이 다시 몇 년이었다)는 주요 기능의 존재와 경쟁 위의 머리와 어깨이었다 제품의이 유형의 평가를해야 할 일을했을 때 : 개발 등

  • 비주얼 스튜디오 환경
  • 좋은 시각적 툴은 워크 플로우 및 변환을 설명하는
  • 큰 실시간이,536을보고 참가자에
  • 강력한 워크 플로우 엔진을 연결하는 데 사용
  • 확장 커넥터 아키텍처

결국 우리는 keep-it-simple을 선택하고 메시징 경로를갔습니다. 그러나 모든 참가자를 제어해야 할 필요는 있지만 그래도 문제가되지는 않습니다.

2

netbeans 편집기 또는 표준 방식을 제공하거나 프로세스를 조율하는 다른 오픈 소스 BPEL 엔진과 함께 openESB를 사용하십시오. 표준화보다 성능이 중요하다고 생각한다면 Jboss jBPM이나 ESB 등의 독점적 인 ESB 또는 BPM 도구를 사용해보십시오.

BPEL은 컴포넌트가 웹 서비스가 아닌 경우에만 웹 서비스를 소비하는 데에만 사용될 수 있습니다 확장 기능이있는 200 개 이상의 프로토콜을 지원할 수있는 Mule과 같은 ESB를 사용해야 할 수도 있습니다.

1

Orchestration 또는 Message Directed 워크 플로를 사용해야 할지를 결정할 때 큰 문제는 정기적으로 조정 워크 플로를 변경해야한다고 생각합니까? 비즈니스 프로세스가 변경 될 수 있기 때문에 비즈니스 프로세스가 유연해야한다고 생각하면 정식 메시지 형식을 채택하고 오케스트레이션을 사용하면 서비스 간의 관계 변화에 따른 영향을 최소화 할 수 있습니다. 작업 흐름이 안정적이라고 생각하면 메시지 기반 작업 흐름을 채택 할 수 있습니다. 개인적으로 필자는 오케스트레이션이 일반적으로 더 우수한 접근 방식이라고 생각하지만, Apache Camel과 같은 도구를 사용하면 투자가 장기간의 유연성 향상에 대한 보상으로 시간을 보내는 더 많은 소프트웨어 인프라가 필요합니다.

0

웹을 통해 서비스로 단일 한 구성 요소를 노출하는 것이 좋습니다 (이미 웹 서비스가있는 경우 이해가되지 않습니다). 그 후 최상의 선택은 시스템 작업 부하/복잡성에 달려 있습니다.

기본적으로 서비스 오케스트레이션과 구성 중 하나를 선택할 수 있습니다. BPM/BPEL/ESB로 만들어진 서비스 오케스트레이션은 실행해야 할 단계가 무엇인지 알며 서비스를 올바른 순서로 호출하는 단일 구성 요소 (서비스 오케 스트레이터/서비스 작성자) (오케 스트레이터 자체에서 구성됨) . 또한 트랜잭션 관리를 처리합니다 (필요한 경우).

실제로 반면 전체 시스템을 구성하는 각 단일 서비스가 특정 메시지를 수신 할 때 작동하는 방법을 알고있는 안무입니다. 실제로 그것은 다양한 구성 요소 사이의 응집의 문제입니다. Service Choreography는 서비스 구성 문제에 대한 분산 된 접근 방식입니다.

많은 서비스, 복잡한 규칙 등이있는 경우 jBPM이나 이와 비슷한 서비스 오케스트레이터를 사용하는 것이 더 쉬울 것입니다.

관련 문제