MuleSoft-Mule ESB 소개
ESB는 Enterprise Service Bus이것은 기본적으로 버스와 같은 인프라를 통해 다양한 애플리케이션을 통합하기위한 미들웨어 도구입니다. 기본적으로 통합 애플리케이션간에 작업을 이동하는 일관된 수단을 제공하도록 설계된 아키텍처입니다. 이러한 방식으로 ESB 아키텍처의 도움으로 통신 버스를 통해 서로 다른 애플리케이션을 연결하고 서로 의존하지 않고 통신 할 수 있습니다.
ESB 구현
ESB 아키텍처의 주요 초점은 시스템을 서로 분리하여 안정적이고 제어 가능한 방식으로 통신 할 수 있도록하는 것입니다. ESB의 구현은 다음을 통해 수행 할 수 있습니다.‘Bus’ 과 ‘Adapter’ 다음과 같이-
JMS 또는 AMQP와 같은 메시징 서버를 통해 달성되는 "버스"개념은 서로 다른 응용 프로그램을 분리하는 데 사용됩니다.
백엔드 애플리케이션과 통신하고 애플리케이션 형식에서 버스 형식으로 데이터를 변환하는 책임이있는 "어댑터"개념은 애플리케이션과 버스간에 사용됩니다.
버스를 통해 한 애플리케이션에서 다른 애플리케이션으로 전달되는 데이터 또는 메시지는 하나의 일관된 메시지 형식이 있음을 의미하는 표준 형식입니다.
어댑터는 보안, 모니터링, 오류 처리 및 메시지 라우팅 관리와 같은 다른 활동도 수행 할 수 있습니다.
ESB의 기본 원칙
이러한 원칙을 핵심 통합 원칙이라고 부를 수 있습니다. 그들은 다음과 같습니다-
Orchestration − 데이터와 프로세스 간의 동기화를 달성하기위한 둘 이상의 서비스 통합.
Transformation − 표준 형식에서 응용 프로그램 별 형식으로 데이터 변환.
Transportation − FTP, HTTP, JMS 등과 같은 형식 간의 프로토콜 협상 처리
Mediation − 여러 버전의 서비스를 지원하기 위해 여러 인터페이스를 제공합니다.
Non-functional consistency − 거래 및 보안 관리를위한 메커니즘도 제공합니다.
ESB의 필요성
ESB 아키텍처를 통해 각 애플리케이션이 통신 할 수있는 여러 애플리케이션을 통합 할 수 있습니다. 다음은 ESB 사용시기에 대한 몇 가지 지침입니다.
Integrating two or more applications − ESB 아키텍처를 사용하면 둘 이상의 서비스 또는 애플리케이션을 통합해야 할 때 유용합니다.
Integration of more applications in future − 향후 더 많은 서비스 또는 애플리케이션을 추가하려는 경우 ESB 아키텍처의 도움으로 쉽게 수행 할 수 있습니다.
Using multiple protocols − HTTP, FTP, JMS 등과 같은 여러 프로토콜을 사용해야하는 경우 ESB가 올바른 옵션입니다.
Message routing − 메시지 내용 및 기타 유사한 매개 변수를 기반으로 메시지 라우팅이 필요한 경우 ESB를 사용할 수 있습니다.
Composition and consumption − 구성 및 소비를 위해 서비스를 게시해야하는 경우 ESB를 사용할 수 있습니다.
P2P 통합 vs. ESB 통합
응용 프로그램 수가 증가함에 따라 개발자들에게 가장 큰 질문은 다른 응용 프로그램을 연결하는 방법이었습니다. 상황은 다양한 애플리케이션 간의 연결을 직접 코딩하여 처리했습니다. 이것은 ... 불리운다point-to-point integration.
Rigidity포인트-투-포인트 통합의 가장 명백한 단점입니다. 연결 및 인터페이스 수가 증가함에 따라 복잡성이 증가합니다. P-2-P 통합의 단점은 ESB 통합으로 이어집니다.
ESB는 애플리케이션 통합에 대한보다 유연한 접근 방식입니다. 각 애플리케이션 기능을 개별 재사용 가능한 기능 세트로 캡슐화하고 노출합니다. 응용 프로그램은 다른 응용 프로그램과 직접 통합되지 않으며 대신 아래와 같이 ESB를 통해 통합됩니다.
통합 관리를 위해 ESB에는 다음 두 가지 구성 요소가 있습니다.
Service Registry− Mule ESB에는 ESB에 노출 된 모든 서비스가 게시되고 등록되는 Service Registry / Repository가 있습니다. 다른 애플리케이션의 서비스와 기능을 사용할 수있는 발견 지점 역할을합니다.
Centralized Administration − 이름에서 알 수 있듯이 ESB 내부에서 발생하는 상호 작용 성능의 트랜잭션 흐름에 대한보기를 제공합니다.
ESB Functionality− VETRO 약어는 일반적으로 ESB의 기능을 요약하는 데 사용됩니다. 다음과 같습니다-
V(Validate)-이름에서 알 수 있듯이 스키마 유효성을 검사합니다. 유효성 검사 구문 분석기와 최신 스키마가 필요합니다. 한 가지 예는 최신 스키마를 확인하는 XML 문서입니다.
E(Enrich)-메시지에 추가 데이터를 추가합니다. 목적은 메시지를 대상 서비스에 더 의미 있고 유용하게 만드는 것입니다.
T(변환)-데이터 구조를 표준 형식 또는 표준 형식으로 변환합니다. 예를 들면 날짜 / 시간, 통화 등의 변환이 있습니다.
R(라우팅)-메시지를 라우팅하고 서비스 엔드 포인트의 게이트 키퍼 역할을합니다.
O(Operate) −이 기능의 주요 작업은 대상 서비스를 호출하거나 대상 앱과 상호 작용하는 것입니다. 그들은 백엔드에서 실행됩니다.
VETRO 패턴은 통합에 대한 전반적인 유연성을 제공하고 일관되고 검증 된 데이터 만 ESB 전체에 라우팅되도록합니다.
Mule ESB 란 무엇입니까?
Mule ESB는 MuleSoft에서 제공하는 가볍고 확장 성이 뛰어난 Java 기반 ESB (Enterprise Service Bus) 및 통합 플랫폼입니다. Mule ESB를 사용하면 개발자가 애플리케이션을 쉽고 빠르게 연결할 수 있습니다. 응용 프로그램에서 사용하는 다양한 기술에 관계없이 Mule ESB를 사용하면 응용 프로그램을 쉽게 통합하여 데이터를 교환 할 수 있습니다. Mule ESB에는 다음 두 가지 버전이 있습니다.
- 커뮤니티 에디션
- 기업용 에디션
Mule ESB의 장점은 두 버전 모두 공통 코드 기반에 구축 되었기 때문에 Mule ESB 커뮤니티에서 Mule ESB 엔터프라이즈로 쉽게 업그레이드 할 수 있다는 것입니다.
Mule ESB의 특징 및 기능
다음 기능은 Mule ESB가 보유하고 있습니다-
- 간단한 드래그 앤 드롭 그래픽 디자인이 있습니다.
- Mule ESB는 시각적 데이터 매핑 및 변환이 가능합니다.
- 사용자는 사전 제작 된 인증 커넥터 100 개를 확보 할 수 있습니다.
- 중앙 집중식 모니터링 및 관리.
- 강력한 엔터프라이즈 보안 시행 기능을 제공합니다.
- API 관리 기능을 제공합니다.
- 클라우드 / 온 프레미스 연결을위한 보안 데이터 게이트웨이가 있습니다.
- ESB에 노출 된 모든 서비스가 게시되고 등록되는 서비스 레지스트리를 제공합니다.
- 사용자는 웹 기반 관리 콘솔을 통해 제어 할 수 있습니다.
- 서비스 흐름 분석기를 사용하여 신속한 디버깅을 수행 할 수 있습니다.