Camel in Action 2 독서회(12회) 참가 노트

Japan Camel User Group 주최한 서적'Camel in Action, 2nd Edition의 독서회 참가 노트다.
  • https://jcug-oss.connpass.com/
  • 그나저나 다음(13회) 예정9/19 (물).
    다음 번만은 스폰소레드 바이 레드하트가 특별하게 (레드하트마다 음식 서비스를 해준다지만) 해외에서 레드하트 EVAChristina Lin가 왔으니 Camel on Cloud에 대한 이야기(?) 해주실 거예요.네.
    개요
    이 독서회는 지난해 9월부터 1년 가까이 Part 1∼2를 읽었기 때문에 이번에는 지금까지 되돌아봤다.독서회는 거의 1년이 지났으니 이번에도 새로운 참가자가 참석하는 것이 좋다.이 책은 장마다 화제가 달라 카멜의 최저한도만 파악하면 중간에 참가해도 괜찮다.
    이 책은 제1장에 아파치 카멜의 아키텍처 개요를 썼는데 실제로는 중요한 일을 많이 쓴 장인데 처음 보면 집적틀이라는 특수성이 생겨 머릿속에 잘 녹아들지 못했다.따라서 Part2 마지막 6장 정도를 실제로 읽고 어느 정도 카멜에 대한 구체적인 인상을 받은 뒤 한 장을 복습하는 것이 좋다.
    또 아파치 카멜에 대한 개요@tyamashi_oss씨가 쓴 이 글은 잘 정리됐다.
  • JCUG: 왜 지금 아파치 카멜을 배울 필요가 있습니까?
  • Camel Exchange
    개인적으로 Camel을 이해하는 요점은 이 Camel Exchange를 이해하는 것이라고 생각합니다.

    (책 Figure 1.7에서 발췌)
    Camel에서 시스템 간의 결합된'뿌리'가 이 Exchange와 관련이 있음을 나타낸다. 뿌리에서 하나의 정보를 받고 합작을 시작할 때 이 Exchange의 실례는 그 노선이 끝나기 전에 같은 실례를 사용한다.물론 경로.to(...)에서 다른 끝점으로 메시지를 보내면 목적지를 보내는 다른 경로에 새로운 Exchange 인스턴스가 생성됩니다.
    따라서 Camel의 정보 라우팅 인스턴스는 이 Exchange 인스턴스와 1:1로 대응합니다.Exchange(필연적으로)는 조금 복잡한 모델이기 때문에 여기를 먼저 잡는 것이 카멜이 이해하는 한 걸음이라고 생각한다.고급 편으로 Camel의 원본 코드를 읽을 때 이 Exchange의 역 모델은 그대로 원본 코드에 의해 떨어진다. 그 이해에서 camel-core의 원본 코드를 읽으면 된다.
    Camel 구성 요소
    그리고 1장의 이 그림도 다시 봤는데 이해하기 쉽다고 생각했어요.

    (책 Figure 1.13에서 발췌)
    Camel의 가장 큰 매력은 200가지 이상의 합작 구성 요소가 내장되어 있어 이미 세계의 많은 시스템과 합작할 수 있지만 회사 내부의 독자적인 시스템도 있는 등 대응하는 합작 파트너 시스템이 없다는 점이다.이럴 때 Camel도 상대적으로 간단하게 맞춤형 구성 요소를 개발할 수 있다.
    사용자 정의 구성 요소를 개발하려고 할 때, Camel 기존 구성 요소의 원본 코드에 대해 어느 정도 관심을 기울일 필요가 있지만, 이 그림이 머릿속에 있을 때, 당신은 곧 이해할 수 있습니다.기본적으로 Camel 구성 요소는 이 Component, Enpoint, Consuumer, Producter 네 가지 종류로 구성되어 있다.그리고 이 그림을 보면 각 관계가 한눈에 들어온다.
    그나저나 Camel의 맞춤형 구성 요소의 개발 방법은 영어지만 이 블로그 기사를 읽으면 이해하기 쉽다.
  • http://oscerd.github.io/2016/07/06/contributing-camel-components/
  • 기타
    간편한 Camel 구성
    카멜은 아파치가 참여하는 프로젝트 중에서도 최고의 참여 관리자로 커뮤니티가 활발하다.폐쇄성 문턱이 높은 종목과 달리 풀레q를 보내면 합병될 가능성이 매우 높다는 것이다.정확한 수정이라면 우선 당일 제출원이 반응을 보이며 빠르면 바로 제출할 수 있고 늦어도 며칠 안에 합병할 수 있다.이것은 평론가가 될 가능성이 매우 높은 프로젝트이니, 반드시 적극적으로 GiitHub에서 Pull req를 보내 주십시오.
    내부 DSL vs 외부 DSL
    디테일에 관해서는 이번 담당자@tyamashi_oss가 카멜의 자바 DSL은'내부 DSL', XML DSL은'외부 DSL'이라며 조금 다르다고 말했다.자신의 이해에 따르면 Camel의 DSL은 모두 내부 DSL이다.외부 DSL이란 완전히 독자적인 기법으로 문법을 정의하고 처리 시스템을 실시한 DSL을 말한다. 예를 들어 최근에 Docker file처럼 말했는가.XML DSL은 XML에 아날로그 언어 처리 시스템을 구축했기 때문에 내부 DSL입니다.
    Fuse Online
    까먹었어.학습회가 시작되었을 때@hfuruichi 선생님께서 레드하트의 새로운 서비스인 퓨즈 온라인을 소개해 주셨다.이 독서회는 기본적으로 커뮤니티 활동이어서 기업적인 색깔을 잘 드러내고 싶지는 않지만, 이 퓨즈 온라인은 내부에서 카멜을 사용하는 서비스로 최근 조금 주목받고 있다(?)iPaas의 한 사례에 대한 소개라서 딱 좋아요.
    (관심 있는 사람은 30일 동안 시용 계정을 무료로 만들 수 있다.)
    아이패아스란 클라우드에서 바로 Camel과 같은 포인트 플랫폼을 이용할 수 있는 서비스다.퓨즈 온라인 같은 것, 이 제품 카테고리는 대상 사용자가 개발자가 아닌 영업, 사무 등 일반인이라는 점이 흥미롭다.해외에서는 서철성 인터랙터(Citizen Integrator) 등으로 불린다.
    인상에서 Excel의 매크로는 전문적인 프로그래머가 아니더라도 어느 정도 노력하면 쓸 수 있다(이후 해외에서 프로그래머가 아닌 데이터 분석가도 SQL을 잘 쓸 수 있다)일반인은 프로그래머에 의존하지 않고 GUI를 통해 업무에서 사용하는 시스템 간 협업을 위한 간단한 해결 방안을 만든다.사실 나는 일본에서 얼마나 많은 수요가 있는지 아직 모른다.
    우선 같은 유형의 다른 회사의 서비스를 열거하면 다음과 같다.
  • MuleSoft - CloudHub
  • https://www.mulesoft.com/platform/saas/cloudhub-ipaas-cloud-based-integration/
  • Dell - Boomi
  • https://boomi.com/ja/
  • 최후
    독서회 자체는 2장 중간에 돌아보고 이번에는 끝났다.회고로 여기까지만 하면 될 것 같아요.
    다음부터는 드디어 7장'카멜과 마이크로서비스'에 들어간다면 기대가 크다.이 책 2장은 최신 카멜 강화 이후 마이크로 서비스 지원과 클라우드를 둘러싼 이야기에 초점을 맞췄다.

    좋은 웹페이지 즐겨찾기