Apache Camel-기능
Apache Camel의 개요를 살펴 보았으므로 이제 기능을 살펴보고 제공하는 기능을 살펴 보겠습니다. Apache Camel이 기본적으로 다양한 EIP의 구현을 제공하는 오픈 소스 Java 프레임 워크라는 것을 이미 알고 있습니다. Camel은 매우 다양한 전송 및 API에 대한 연결을 제공하여 통합을 더 쉽게 만듭니다. 예를 들어 JMS를 JSON으로, JSON을 JMS로, HTTP를 JMS로, FTP를 JMS로, 심지어 HTTP를 HTTP로, 마이크로 서비스에 대한 연결을 쉽게 라우팅 할 수 있습니다. 양쪽 끝에 적절한 엔드 포인트를 제공하기 만하면됩니다. Camel은 확장 가능하므로 향후 더 많은 엔드 포인트를 프레임 워크에 쉽게 추가 할 수 있습니다.
EIP와 전송을 함께 연결하려면 Java, Scala 및 Groovy와 같은 DSL (Domain Specific Language)을 사용합니다. 일반적인 Java 라우팅 규칙은 다음과 같습니다.
from ("file:/order").to("jms:orderQueue");
이 라우팅 규칙은 order 디렉토리에서 파일 내용이 포함 된 JMS 메시지를 만들고 해당 메시지를 orderQueue.
다음은 Camel 응용 프로그램을 개발할 때 유용하게 사용할 수있는 Camel의 가장 중요한 기능입니다.
Camel은 이러한 메시지 변환을 위해 플러그 형 데이터 형식과 유형 변환기를 지원 하므로 향후 새로운 형식과 변환기를 추가 할 수 있습니다. 현재 널리 사용되는 여러 형식과 변환기를 지원합니다. CSV, EDI, JAXB, JSON, XmlBeans, XStream, Flatpack, Zip.
Camel은 DSL에서 술어를 작성 하기 위해 플러그 가능한 언어 를 지원합니다 . 지원되는 언어에는 JavaScript, Groovy, Python, PHP, Ruby, SQL, XPath, XQuery가 있습니다.
Camel은 POJO 모델을 지원하므로 다양한 지점에서 Javabean을 연결할 수 있습니다.
Camel은 메시징을 사용하여 이러한 대규모 분산 및 비동기 시스템의 테스트를 용이하게합니다.
이제 Camel의 아키텍처를 이해하고 다양한 기능이 어떻게 구현되는지 살펴 보겠습니다.