문제

여러 비즈니스 구성 요소 (고객 애플리케이션, 네트워크, 결제 등)간에 요청을 중재하는 대규모 미들웨어 인프라가 있다고 가정 해 봅시다. 미들웨어 스택은 오케스트레이션, 라우팅, 변환 및 기타 물건 (Gregor Hohpe의 Enterprise Integration Patterns Book과 유사)을 담당합니다.

내 질문은 : 일부를 넣는 것이 좋은 디자인입니까? 비즈니스 로직 미들웨어에서?

내 앱이 미들웨어에서 일부 고객 데이터를 요청한다고 가정 해 봅시다. 그러나이 데이터를 얻으려면 공급해야합니다. 고객 ID 그리고 일부 다른 매개 변수. 이 매개 변수의 가져 오기는 요청 앱에 의해 수행되거나 '촉진'및 수신하는 인터페이스를 제공하는 미들웨어입니다. 고객 ID 그리고 내부적으로 가져옵니다 다른 매개 변수?

나는 이것이 간단한 질문이 아니라는 것을 알고 있지만 (비즈니스 논리의 정의로 인해) 그것이 일반적인 접근법인지 가이드 라인인지 궁금했습니다.

도움이 되었습니까?

해결책

이것은 "복합 응용 프로그램"패턴입니다. 서비스 지향 아키텍처의 핵심. 그것이 ESB 공급 업체가 판매하는 것입니다. 추가의 비즈니스 로직 기존 응용 프로그램에서 복합 응용 프로그램을 만드는 곳.

복합 응용 프로그램이 단순히 라우팅이 아니기 때문에 간단하지 않습니다. 라우팅 위에 레이어링 된 적절한 새로운 복합 트랜잭션입니다.

힌트. 너무 많이 가기 전에 좋은 ESB를 얻는 것을보십시오. 이것은 빠르게 통제 불능 상태가되고 추가 지원이 도움이됩니다. 당신이 태양과 같은 것을 사지 않더라도 JCAPS 또는 열린 ESB, 당신은 그것이하는 일과 복잡한 복합 응용 프로그램을 어떻게 구성하는지 알게 될 것입니다.

다른 팁

라우팅, 변환 및 오케스트레이션 외에도 기능 요구 사항이있는 미들웨어를로드하면서 성능을 명심해야합니다. 미들웨어는 전체 엔드 투 엔드 트랜잭션 수명 시간의 일부를 취해야합니다. 이는 호스트 시스템 기능을 보완하려는 대신 미들웨어 핵심 기능에 집중함으로써 만 달성 될 수 있습니다.

오케스트레이션, 라우팅 및 변형.

기술적 인 이유, 무작위로 또는 재미를 위해이 중 어느 것도하지 않습니다. 비즈니스 요구 사항이 있기 때문에이 작업을 수행합니다. Ergo는 비즈니스 논리가 관련되어 있습니다.

완전한 비즈니스 시스템을 위해 누락 된 유일한 것은 계산 및보고입니다 (이미 보안이 있다고 가정 해 봅시다!).

매우 낮은 레벨 네트워킹, OS 및 스토리지 문제를 제외하고는 비즈니스/정부/최종 사용자가 거기에 있기를 원하기 때문에 컴퓨터 시스템으로 구성된 거의 모든 것이 있습니다.

말단으로서 '비즈니스 논리'의 선택은 매우 열악했으며 디자인과 건축의 끝없는 왜곡으로 이어졌습니다.

비즈니스 로직에서 가장 훌륭한 디자이너/건축가가 의미하는 바는 계산 및 분석입니다.

"%s/business logic/calculation/g"의 경우 대부분의 건축 칙령이 더 의미가 있습니다.

미들웨어 애플리케이션이 수행해야합니다. 시스템 A는 다른 매개 변수가 존재한다는 것을 전혀 몰라야하며, 그것을 얻는 방법에 대해 확실히 전혀 모른다.

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