2008-12-04 3 views
6

우리 회사는 BizTalk (우리는 Microsoft 제품)를 SOA (Enterprise Service Bus) SOA (서비스 지향적 인 모호성을 인용하지 마십시오.) 환경으로 제안한 새로운 아키텍처를 구현하려고합니다.BizTalk/ESB를 도입해야합니까?

우리는 고객 데이터베이스, 제품 카탈로그, 주문 시스템 및 각각 WCF 서비스로 공개 될 기타 보조 시스템에 연결해야하는 새로운 Order Capture GUI를 통해 주문을 받고, 주문은 당사의 주문 관리 및 주문 처리를위한 다른 다운 스트림 시스템과 청구 시스템을 제공합니다. 현재 각각의 시스템은 자체 GUI를 가지고 있으며 수동 프로세스를 사용하여 이들 사이의 정보를 전달하며, 자연스러운 사고를 자동화하고 통합하기 위해 ESB를 연결하여이를 연결합니다.

ESB에 대한 나의 합리적인 이유 중 하나는 버스가 시스템을 연결하는 방법 (각 시스템은 불가지론하고 다른 시스템은 아무것도 모르는)과 정보를 형식화/변환하는 방법에 대해 걱정할 것입니다. 앞으로는 기존 시스템 중 일부가 우리 회사 계열 내의 새로운 시스템이나 시스템으로 교체 될 가능성이 높습니다.

이것은 나에게 의미가있는 것처럼 보이지만 지점 간 솔루션으로 충분할 때 소개하는 이유에 관해서는 이제 약간의 저항을 만나고 있습니다.

유감스럽게도 (내 약속 이전에) 회사 내역에서 BizTalk를 도입하기위한 초기 시도는 실패했지만 그 장소가 있으며이를 제공 할 수 있다고 확신합니다.

제 질문은 아마도 BizTalk에 관한 것이 아니라 내 시나리오에서 ESB가 좋은 아이디어인지 여부, 언제 ESB를 도입하는 것이 합리적일까요?

답변

2

데이터 브로커는 설명 된 요구 사항을 기반으로하는 것이 합리적이라고 생각하지만 개인적으로 BizTalk가 최상의 선택이라고 생각하지 않습니다. 설명하신 통합 유형에 대해 하드웨어 데이터 중개 장치를 살펴 보겠습니다. 필자가 잘 보아 왔던 부분 중에는 IBM DataPower, Vordel 's appliance 및 Layer7 's appliance가 있습니다. 이를 위해 사용할 전화 유형은 어플라이언스가 이상적입니다. 라우팅, 변환 및 변환을 제공하며 스키마 중독과 같은 문제로부터 보호합니다. 또한 사용자 저장소에 연결하여 인증, 인증 및 감사를 처리합니다 (사용자가 설명한 환경을 기반으로하는 Active Directory 사용자 저장소가 있다고 추측하지만 LDAP에서도 작동 함).

An 어플라이언스는 소유 비용 (지원 비용 없음) 측면에서 BizTalk 또는 기타 소프트웨어 솔루션이 될 것이며 모든 어플라이언스의 성능은 BizTalk를 한 단계 앞당겨 질 것입니다.

6

오케이. presrciptive architechture 그룹의 BizTalk에 대한 ESB 안내 - http://msdn.microsoft.com/en-us/library/cc487894.aspx

우리는 많은 작업을 수행하는 BizTalk를 사용합니다. 그는 간단한 포인트 인과 관계가 있습니다. 우리는 현저히 사용자 정의 된 adpaters 및 파이프 라인과보다 복잡한 포인트 통합을 수행합니다. 우리는 고객 마스터, 제품 정보 및 가격 및 주문 견적을위한 부서별 엔터프라이즈 시스템 통합을 보유하고 있습니다. 이들은 모두 별도의 BizTalk 응용 프로그램입니다. 꽤 작고 꽤 큰 것도 있습니다. 우리는 주로 BizTalk를 사용하여 ESB 패턴을 사용하지 않고 점 대 점/다수 점을 처리했습니다. ESB의 구현은 버스 자체의 거버넌스 레벨과 버스에서 허용되는 대기열 메시지 스탠드를 의미합니다. 다양한 형식의 수많은 시스템과 상호 작용할 경우 ESB는 많은 의미를가집니다. 성취하고자하는 통합이 덜 야심적이라면 ESB가 과도 할 수 있습니다. 즉, 깨끗하고 확장 가능한 아키텍처라고합니다. 비용 값을 결정해야합니다.

BizTalk는 복잡한 짐승이지만 움직이는 부분은 유연성이 뛰어납니다. 그러나 학습 곡선이나 컨설턴트 비용에 대비해야합니다.

2

ESB 용어를 피하는 경향이 있습니다. ESB 용어가 지나치게 오버로드 된 것으로 생각합니다. 하루가 끝날 무렵, 내가 들었던 모든 다양한 묘사에서, 그것은 BizTalk가 잘 지원하는 패턴 일뿐입니다.

BizTalk가 원하는대로 될 것이라고 생각합니까? 명백히 예. SOA 연결을 포함하여 재사용을위한 모든 리팩토링 연습과 마찬가지로 포인트 - 투 - 포인트 연결을 피하는 것이 옳다고 생각합니까? 얼마나 많은 변경과 재사용이 필요한지 고려해야합니다. 지금까지 너는 너를 "디커플링 (decoupling)"운동으로 삼고있다.

0

매우 다른 패턴입니다. 일반적으로 시스템 A에서 시스템 B로 메시지를 보낼 때 시스템 A의 형식에서 시스템 B가 원하는 형식으로 직접 변환합니다. ESB가있을 때 시스템 A의 메시지를 ESB 형식 (예 : 일반 PO, 주문 등)으로 변환 한 다음 시스템 B가 요구하는 형식으로 변환합니다. 이는 2 대 1의 변환이며 버스 패턴은 모든 메시지에는 동사 (예 : 추가, 삭제, 업데이트 등)가 있습니다. 이것은 매우 중요한 차이점이며 ESB가 많은 참여 시스템과의 통합에 매우 유용하게 만드는 요인입니다.

1

대기 시간과 처리량에 대해 이야기해야합니다. 다른 모든 것은 bla-bla입니다.

4

난 그냥 동료에 의해이 같은 질문을있어이 내가 그에게 말한 :

대부분의 통합 시나리오에서는 BizTalk 같은 것을 를 사용하기 전에 아주 멀리 갈 수 있습니다. BizTalk를 사용하기 전에 간단하게 통합을 수행 할 수 없었습니다. . 이 통합 솔루션은 낮은 지연 시간과 높은 볼륨을 확장 할 필요가 있다는 것 같으면

만, 당신은 잘못 필요가 허용 오차 (그것이 환상적인 비동기 메커니즘을 구독 게시 있어요) (이것은 확장, 중복을 가지고 메시지 재 시도 기능) 및 솔루션에 대한 관리 (비즈니스 활동이 인 경우) BizTalk를 사용하는 것이 좋습니다. 이 이 될 미래의 통합이 여러 개 있다는 것을 알고 있다면 실제로는 이 BizTalk를 사용하게됩니다.

한편으로 스킬을 사용할 수 있는지 확인하려면 을 사용해야합니다. 시스템을 배우는 사람은 이고 시스템 개발자는 패러다임의 변화가 있습니다. 그러나 은 .NET에서 및 SQL Server에 기초부터 빌드되므로 개념에 익숙한 이 꽤 많이 있습니다.

는 내가 중요한 것은 를 잘 고려 솔루션의 개념적 아키텍처를 얻는 것입니다 생각 성능, 가용성, 확장 성, 탄력성, 견고 함, 및 확장 성 그들이 확인하고 같은 비 기능적 요구 사항 은 기술 설계에 의해 올바르게 처리됩니다. BizTalk가 당신에게주는 상자에 대해 CPU 당 35k $를 지불하는 것이 저렴하다는 것을 알 수 있습니다. NFRs 모두를 개발하는 것보다.

또한 저는 최근에 새로운 ESB 툴킷 2.0을 클라이언트에서 구현했으며 매우 만족합니다. 여정 (라우팅 슬립 패턴 http://www.enterpriseintegrationpatterns.com/RoutingTable.html 참조) 처리 기능은 실제로 웹 서비스를 쉽고 유연하게 구성합니다.