Czym dokładnie jest Apache Camel?

Nie rozumiem, co dokładnie Camel robi.

Gdybyś mógł dać w 101 słowach wprowadzenie do wielbłąda:

    Co to właściwie jest?
  • jak działa interakcja z aplikacją napisaną w Javie?
  • czy to coś, co idzie w parze z serwerem?
  • Czy jest to niezależny program?

Proszę wyjaśnić, czym jest Camel.

Author: Ravindra babu, 2012-01-13

20 answers

Jeśli masz od 5 do 10 minut, generalnie polecam ludziom przeczytanie tej integracji z Apache Camel Jonathana Ansteya. Jest to dobrze napisany kawałek, który daje krótkie wprowadzenie i przegląd niektórych pojęć Camela i implementuje przypadek użycia z przykładami kodu. Jonathan pisze:

Apache Camel jest open source Java framework, który koncentruje się na ułatwianiu integracji i bardziej dostępne dla programistów. Robi to poprzez podanie:

    [2]} konkretne implementacje wszystkich powszechnie stosowanych wzorców integracji przedsiębiorstw [2]} (EIPs) [[8]}łączność z szeroką gamą transportów i interfejsów API
  • łatwe w użyciu języki specyficzne dla domeny (DSL) do łączenia EIP i transportów razem

Istnieje również darmowy Rozdział Camel W Akcji , który wprowadza wielbłąda w pierwszym rozdziale. Jonathan jest ze mną współautorem tej książki.

 614
Author: Claus Ibsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-08 09:53:25

Moje podejście do opisania tego w bardziej przystępny sposób...

Aby zrozumieć, czym jest Apache Camel, musisz zrozumieć, czym są korporacyjne wzorce integracji.

Zacznijmy od tego, co prawdopodobnie już wiemy: wzór Singletona, wzór fabryczny itp.; są to tylko sposoby organizacji rozwiązania problemu, ale nie są to same rozwiązania. Te wzory zostały przeanalizowane i wyodrębnione dla reszty z nas przez Gang czterech, kiedy opublikowali ich książka: wzorce projektowe . Zaoszczędzili część z nas ogromnego wysiłku w myśleniu o tym, jak najlepiej ułożyć nasz kod.

Podobnie jak Gang czterech, Gregor Hohpe i Bobby Woolf są autorami książki Enterprise Integration Patterns (EIP), w której proponują i dokumentują zestaw nowych wzorców i schematów Jak możemy najlepiej zaprojektować duże systemy oparte na komponentach, w których komponenty mogą działać w tym samym procesie lub w innym maszyna.

Zasadniczo proponują, że mamy strukturę naszego systemuwiadomość zorientowane-gdzie komponenty komunikują się ze sobą za pomocą wiadomości jako wejść i wyjść i absolutnie nic więcej. Pokazują nam kompletny zestaw wzorców, które możemy wybrać i wdrożyć w naszych różnych komponentach, które razem tworzą cały system.

Czym jest Wielbłąd Apaczów?

Apache Camel oferuje interfejsy dla EIPs, podstawy obiekty, powszechnie potrzebne implementacje, narzędzia do debugowania, system konfiguracji i wiele innych pomocników, które pozwolą zaoszczędzić mnóstwo czasu, gdy chcesz wdrożyć swoje rozwiązanie zgodnie z EIPs.

Weź MVC. MVC jest dość prosty w teorii i moglibyśmy go zaimplementować bez żadnej pomocy frameworka. Ale dobre frameworki MVC zapewniają nam strukturę gotową do użycia i poszły o krok dalej i przemyślały wszystkie inne "boczne" rzeczy, których potrzebujesz, gdy tworzysz duży projekt MVC i dlatego używamy ich przez większość czasu.

Właśnie tym jest Apache Camel dla EIPs. jest to kompletny Framework gotowy do produkcji dla osób, które chcą wdrożyć swoje rozwiązanie zgodnie z EIP.

 950
Author: Amr Mostafa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-26 12:19:23

Tworzenie opisu projektu nie powinno być skomplikowane.

Mówię:

Apache Camel to technologia komunikacyjna z routingiem. Łączy ze sobą punkty początkowe i końcowe wiadomości, umożliwiając przenoszenie wiadomości z różnych źródeł do różnych miejsc docelowych. Na przykład: JMS -> JSON, HTTP - > JMS lub funneling FTP -> JMS, HTTP -> JMS, JSON -> JMS

Wikipedia mówi:

Apache Camel jest routingiem opartym na regułach i mediacją silnik, który zapewnia implementację wzorców integracji przedsiębiorstw opartych na obiektach Java przy użyciu API (lub deklaratywnego języka specyficznego dla domeny Java) w celu skonfigurowania reguł routingu i mediacji. Język specyficzny dla domeny oznacza, że Apache Camel może obsługiwać bezpieczne dla typu inteligentne uzupełnianie reguł routingu w IDE za pomocą zwykłego kodu Java bez ogromnej ilości plików konfiguracyjnych XML; chociaż konfiguracja XML wewnątrz Spring jest również obsługiwana.

Widzisz? To nie było trudne. to?

 637
Author: David Newcomb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-06 22:56:57

W skrócie:

Gdy istnieje wymóg łączenia / integracji systemów, prawdopodobnie będziesz musiał połączyć się z jakimś źródłem danych, a następnie przetworzyć te dane, aby spełnić wymagania biznesowe.

Aby to zrobić:

1) możesz stworzyć niestandardowy program, który to zrobi (może być czasochłonny i trudny do zrozumienia, utrzymany dla innych programistów)

2) Alternatywnie, można użyć Apache Camel zrobić to w standaryzowany sposób (ma większość złączy już opracowany dla Ciebie, wystarczy go skonfigurować i podłączyć proces logiczny):

Camel pomoże ci:

  1. pobieraj dane z dowolnego źródła / formatu
  2. przetwarzaj te dane
  3. Dane wyjściowe do dowolnego źródła / formatu

Używając Apache Camel ułatwisz zrozumienie / utrzymanie / rozszerzenie systemu na innego dewelopera.

Apache Camel jest rozwijany w oparciu o wzorce integracji przedsiębiorstw. Wzorce pomagają w integracji systemy w dobry sposób: -)

 107
Author: Marcin Wasiluk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-16 13:54:09

Diagram jest lepszy niż tysiące opisów. Schemat ten ilustruje architekturę wielbłąda.

 68
Author: CrimsonFantasy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 14:59:03

Camel wysyła wiadomości od A do B:

Tutaj wpisz opis obrazka

Dlaczego cały framework do tego? A co jeśli masz:

  • wiele nadawców i wiele odbiorników
  • tuzin protokołów (ftp, http, jms, itd.)
  • wiele złożonych zasad
    • Wyślij wiadomość A tylko do odbiorników A i B
    • wysłać wiadomość B do odbiornika C jako XML , ale częściowo przetłumaczyć it, wzbogacić it (dodać metadane) i jeśli warunek X, następnie wyślij go do odbiornika D, Ale jako CSV.

Więc teraz Potrzebujesz:

  • translate between protocols
  • klej komponenty razem
  • zdefiniuj trasy- co idzie gdzie
  • filtr niektóre rzeczy w niektórych przypadkach

Camel daje powyższe (i Więcej) z pudełka:

Tutaj wpisz opis obrazka

Z fajnym językiem DSL do zdefiniowania co i jak:

  new DefaultCamelContext().addRoutes(new RouteBuilder() {
        public void configure() {
            from("jms:incomingMessages")
                    .choice() // start router rules
                    .when(header("CamelFileName")
                            .endsWith(".xml"))
                    .to("jms:xmlMessages")
                    .when(header("CamelFileName")
                            .endsWith(".csv"))
                    .to("ftp:csvMessages");
}

Zobacz także ten i ten i wielbłąd w akcji (jak mówili inni, doskonała książka!)

 58
Author: Andrejs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-28 17:53:41

Jedną z rzeczy, które musisz zrozumieć, zanim spróbujesz zrozumieć Apache Camel, są wzorce integracji przedsiębiorstw. Nie wszyscy w terenie są tego świadomi. Chociaż z pewnością możesz przeczytać książkę wzorce integracji przedsiębiorstw, szybszym sposobem na zapoznanie się z nimi byłoby przeczytanie czegoś takiego jak Artykuł w Wikipedii na temat Enterprise Application Integration.

Które przeczytałeś i zrozumiałeś w temacie, byłoby znacznie bardziej prawdopodobne, aby zrozumieć cel wielbłąda Apaczów

HTH

 46
Author: Crollster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-13 03:36:48

NA PODSTAWIE ANALOGII

Routing oparty na wielbłądzie można łatwo zrozumieć, stawiając się w sytuacji właściciela linii lotniczych (np.: American Airlines, Jet Airways) .

Celem "Twoich linii lotniczych "jest" przewożenie ""pasażerów" z jednego "miasta" do drugiego na świecie. Do przewozu pasażerów używasz samolotów różnych "firm lotniczych", takich jak Boeing, Airbus, HAL.

Twoje Linie Lotnicze pokłady pasażerów za pomocą "lotniska" z miasta i deboards je za pomocą Lotnisko do miasta. Pasażer może "podróżować" do wielu miast, ale wszędzie muszą przejść przez lotnisko, aby podróżować między samolotem linii lotniczej a miastem.

Zauważ, że pasażer "odlatujący" z miasta jest zasadniczo "przylatujący" do samolotu Twoich linii lotniczych. A pasażer "przybywający" do miasta, w zasadzie odlatuje z samolotu. Ponieważ jesteśmy w sytuacji właściciela linii lotniczych, termin "pasażer przylatujący" i "pasażer odlatujący" są odwrócone od naszego konwencjonalne pojęcia oparte na perspektywie miast.

[[0]} ta sama infrastruktura "portu lotniczego" każdego miasta jest używana przez pasażerów odlatujących i przylatujących. Port lotniczy zapewnia "infrastrukturę odlatującą" dla pasażerów odlatujących, która różni się od "infrastruktury przylotowej" przewidzianej dla pasażerów przylatujących.

Pasażerowie mogą nadal wykonywać swoje codzienne czynności dzięki różnym "udogodnieniom" zapewnianym wewnątrz samolotu przez Twoje Linie Lotnicze, podczas gdy podróżuję.

Poza tym linia lotnicza zapewnia również zaplecze do specjalnych zabiegów ,takich jak "zrozumienie lokalnego języka" i przygotowanie do "podróży".

Zastąp kilka słów / fraz powyżej następującymi słowami:

Twoja linia lotnicza: Apache Camel

Firmy lotnicze: mechanizmy transportowe

Samolot Twojej linii lotniczej: podstawowy mechanizm transportu Apache Camel

Carry: route

Pasażerowie: message;

City: system;

Airport: Camel Component;

Understanding local languages: Type Conversions;

Odchodzenie: produkcja, produkcja

: konsumowanie, konsumowanie

Travel: routed

Wyposażenie: dostarczone

Po zastąpieniu słów, oto co otrzymujesz:

Celem 'Apache Camel' jest przekierowanie 'wiadomości' z jednego 'systemu' do drugiego na świecie. Apache camel wykorzystuje różne mechanizmy transportu do routingu wiadomości.

Apache Camel pobiera wiadomości za pomocą komponentu "Camel based" systemu "from" i upuszcza je za pomocą komponentu "Camel based" systemu "to". Wiadomość może dotrzeć do wielu systemów, ale wszędzie muszą przejść przez "Komponenty oparte na wielbłądzie", aby podróżować między "podstawowym mechanizmem transportu Apache Camel" a systemem.

Zauważ, że wiadomość "wyprodukowana" z systemu jest zasadniczo "konsumowana" w podstawowym transporcie Apache Camel mechanizm". / Align = "center" bgcolor = "# e0ffe0 " / Cesarz Chin / / align = center /

Ponieważ próbujemy zrozumieć wielbłąda, musimy myśleć z perspektywy wielbłąda. Znaczenie pojęć "komunikat konsumenta" i "komunikat producenta" jest zatem odwrócone od naszych konwencjonalnych pojęć, które opierają się na perspektywie systemu.

Ta sama infrastruktura kodowania komponentu 'Camel' jest używana przez 'producer message' I "komunikat konsumenta". "Komponent oparty na wielbłądzie "zapewnia" punkt końcowy producenta " dla "komunikatu producenta" i "punkt końcowy konsumenta" dla "komunikatu konsumenta".

Wiadomości mogą być przetwarzane przez Camel, gdy są kierowane.

Oprócz tego routingu, Camel zapewnia specjalne funkcje, takie jak "konwersja typu" i wiele innych...

 44
Author: DolphinJava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-13 12:54:21

Jeśli jesteś świadomy wzorców integracji korporacyjnej, Apache Camel jest jednym frameworkiem integracyjnym, który implementuje wszystkie EIP.

I możesz wdrożyć Camel jako samodzielną aplikację w web-kontenerze.

Zasadniczo, jeśli musisz zintegrować kilka aplikacji z różnymi protokołami i technologiami, możesz użyć Camel.

 34
Author: Neel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-13 02:59:38

Definicja z innej perspektywy:

Apache Camel jest frameworkiem integracyjnym. Składa się z kilku bibliotek Java, które pomagają w implementacji problemów integracyjnych na platformie Java. Co to oznacza i czym się różni od API po jednej stronie i Enterprise Service Bus (ESB) po drugiej stronie jest opisane w moim artykule "Kiedy używać Apache Camel".

 23
Author: Kai Wähner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-16 17:08:43
Co to właściwie jest?

Apache Camel to lekki framework integracyjny, który implementuje wszystkie wzorce integracji przedsiębiorstw.Możesz łatwo integrować różne aplikacje przy użyciu wymaganych wzorców.

możesz użyć Java, Spring XML, Scala lub Groovy. Prawie każda technologia, którą możesz sobie wyobrazić, jest dostępna, na przykład HTTP, FTP, JMS, EJB, JPA, RMI, JMS, JMX, LDAP, Netty itp.

Spójrz na ten Artykuł i artykuł wzorcowy EIP

Jak działa interakcja z aplikacją napisaną w Javie?

Do tworzenia wzorców integracji korporacyjnej lub tras w różnych językach specyficznych dla danej domeny (DSL) Camel używa języka Java lub DSL, Jak wymieniono poniżej.

Java DSL - DSL oparty na Javie, wykorzystujący styl fluent builder.

Historia wzorca integracji przedsiębiorstw rozwiązuje się wokół tych pojęć :

Message, End Point, Producer, Consumer, Routing, Bus, Transform and Process .

Spójrz na ten Artykuł autorstwa Anirbana Konara dla jednego z przypadków użycia w czasie rzeczywistym.

Czy jest to coś, co łączy się z serwerem?

Działa jako pomost między wieloma podsystemami korporacyjnymi.
Czy jest to niezależny program?

Apache Camel, Framework integracyjny, integruje różne niezależne aplikacje.

główną zaletą Camel : możesz integrować różne aplikacje z różnymi technologiami (i różnymi protokołami), używając tych samych koncepcji dla każdej integracji.

 14
Author: Ravindra babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-09 17:40:50

Większość" nowych " rzeczy w komputerach wcale nie jest nowa, są tylko tajemniczą owijką wokół czegoś, co już dobrze zrozumiano. Kiedy są one trudne do zrozumienia, zwykle dlatego, że ktoś zdecydował się wymyślić nowe terminy językowe lub skolonizować istniejące terminy w innym celu (dobrym przykładem , że jest odwrócenie przez programistów x tego, co oznaczają "klient" i "serwer".)

Camel to oparty na Javie wrapper / API dla Inter-application middleware.

Middleware to ogólne określenie oprogramowania, które świadczy usługi interpretacji pomiędzy podmiotami, które nie mają wspólnego języka lub typów danych.

Tym jest Camel, na dole. Możemy uelastycznić opis, zauważając, że zawiera on oprogramowanie pośrednie typu EIP.

Nie dostarcza samego oprogramowania pośredniczącego, ponieważ nie może znać szczegółów tego, co aplikacje muszą komunikować. Ale dostarcza API do tworzenia niezmiennych części tego oprogramowania pośredniczącego (Utwórz punkt początkowy, Utwórz punkt końcowy, Utwórz warunki rozpoczęcia i zakończenia, itp.)

Mam nadzieję, że to pomoże.

 11
Author: MMacD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-08 13:10:31

Oto kolejna próba.

Wiesz, jak są / były rzeczy takie jak Webmethods, ICAN Seebeyond, Tibco BW, IBM Broker. Wszyscy pomagali w rozwiązaniach integracyjnych w przedsiębiorstwie. Narzędzia te są powszechnie znane pod nazwą Enterprise Application Integration (EAI) tools.

Były głównie narzędzia przeciągnij i upuść zbudowane wokół tych technologii i w częściach trzeba było pisać adaptery w Javie. Ten kod adaptera był albo niesprawdzony, albo miał słabe oprzyrządowanie/automatyzację wokół testów.

Podobnie jak w przypadku wzorców projektowych w programowaniu, masz korporacyjne wzorce integracji dla wspólnych rozwiązań integracyjnych. Sławę przyniosła im książka o tym samym tytule autorstwa Gregora Hohpe 'a i Bobby' ego Woolfa.

Chociaż jest całkiem możliwe wdrożenie rozwiązań integracyjnych, które wykorzystują jeden lub wiele EIP, Camel jest próbą zrobienia tego w bazie kodu przy użyciu jednego z XML, Java, Groovy lub Scala.

Camel obsługuje wszystkie wzorce integracji dla przedsiębiorstw wymienione w książce za pośrednictwem bogatego mechanizmu DSL i routingu.

Więc Camel jest konkurencyjne technoloy do innych narzędzi EAI z lepszym wsparciem dla testowania kodu integracji. Kod jest zwięzły ze względu na języki specyficzne dla domeny (DSL). Jest czytelny nawet dla użytkowników biznesowych i jest bezpłatny i sprawia, że jesteś produktywny.

 8
Author: skipy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-27 20:58:29

Istnieje wiele frameworków, które ułatwiają nam wysyłanie wiadomości i rozwiązywanie problemów w wiadomościach. Jednym z takich produktów jest Apache Camel.

Większość typowych problemów ma sprawdzone rozwiązania zwane wzorcami projektowymi. Wzorcem projektowym dla wiadomości są korporacyjne wzorce integracji (EIP), które są dobrze wyjaśnione tutaj . Apache camel pomaga nam wdrożyć nasze rozwiązanie za pomocą EIPs.

Siłą RAM integracji jest jej zdolność ułatwiania nam poprzez EIP lub inne wzorce, liczba transportów i komponentów oraz łatwość rozwoju, na której Apache camel stoi na szczycie listy

Każdy z frameworków ma swoje zalety niektóre z cech specjalnych Apache camel są następujące.

  1. zapewnia kodowanie w wielu DSL, a mianowicie Java DSL i Spring xml oparte DSL, które są popularne.
  2. łatwy w użyciu i prosty w użyciu.
  3. Fuse IDE to produkt, który pomaga w kodowaniu przez UI
 7
Author: Naveen Raj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-11 02:50:59

W prostym języku angielskim, Wielbłąd wykonuje (wiele) rzeczy bez dużej ilości kodu płyty kotła.

Aby dać ci perspektywę, DSL Java podana poniżej stworzy punkt końcowy REST, który będzie w stanie zaakceptować XML składający się z listy produktów i podzieli go na wiele produktów i wywoła z nim metodę procesu Brandprocessora. I tylko przez dodanie .równoległe przetwarzanie (zwróć uwagę na komentowaną część) będzie równolegle przetwarzać wszystkie obiekty produktu. (Klasa produktu to JAXB / XJC wygenerowany stub Javy z XSD, do którego wejściowy xml jest ograniczony.) Tyle kodu (wraz z kilkoma zależnościami wielbłąda) wykona zadanie, które kiedyś wymagało 100 linijek kodu Javy.

from("servlet:item-delta?matchOnUriPrefix=true&httpMethodRestrict=POST")
.split(stax(Product.class))
/*.parallelProcessing()*/
.process(itemDeltaProcessor);

Po dodaniu identyfikatora trasy i instrukcji logowania

from("servlet:item-delta?matchOnUriPrefix=true&httpMethodRestrict=POST")
.routeId("Item-DeltaRESTRoute")
.log(LoggingLevel.INFO, "Item Delta received on Item-DeltaRESTRoute")
.split(stax(Product.class))
.parallelProcessing()
.process(itemDeltaProcessor);

To tylko próbka, Wielbłąd to znacznie więcej niż tylko punkt końcowy. Wystarczy spojrzeć na listę komponentów pluggable http://camel.apache.org/components.html

 6
Author: KingJulien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-20 10:54:04

Camel pomaga w routingu, transformacji, monitorowaniu.

Używa tras, które można opisać jako:

gdy service bus otrzyma konkretną wiadomość, poprowadzi ją przez żadne z usług / miejsc docelowych pośredników, takich jak Kolejka/tematy. Ta ścieżka jest znana jako trasa.

Przykład: Twoja aplikacja giełdowa ma pewne dane od analityka, zostanie przetworzona przez komponent aplikacji/web, a następnie wynik zostanie opublikowany wszystkim zainteresowanym / zarejestrowanym członków do poszczególnych aktualizacji zapasów.

 5
Author: sa_nyc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-20 14:34:12

Tak, to chyba trochę za późno. Ale jedną rzeczą, którą należy dodać do komentarzy innych, jest to, że Camel jest w rzeczywistości zestawem narzędzi, a nie kompletnym zestawem funkcji. Należy o tym pamiętać podczas tworzenia i konieczności wykonywania różnych przekształceń i konwersji protokołów.

Sam Camel opiera się na innych frameworkach i dlatego czasami trzeba je również zrozumieć, aby zrozumieć, który jest najlepiej dostosowany do Twoich potrzeb. Istnieje na przykład wiele sposobów obsługi Odpoczywaj. Na początku może to być nieco mylące, ale po rozpoczęciu używania i testowania poczujesz się swobodnie, a twoja wiedza na temat różnych pojęć wzrośnie.

 4
Author: Souciance Eqdam Rashti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-22 05:43:24

W przedsiębiorstwie istnieje wiele systemów różnych typów. Niektóre z nich mogą być przestarzałymi systemami, podczas gdy niektóre mogą być nowe. Systemy te często współdziałają ze sobą i wymagają integracji. Ta interakcja lub integracja nie jest łatwa, ponieważ implementacje systemów mogą się różnić w formatach wiadomości. Jednym ze sposobów osiągnięcia tego celu jest implementacja kodu, który niweluje te różnice. Będzie to jednak integracja punkt - punkt. Jeśli jutro znowu nastąpi zmiana w systemie Inne również mogą być zmienione, co nie jest dobre. Zamiast tej integracji punkt - punkt, która powoduje ciasne sprzężenie, możemy zaimplementować dodatkową warstwę pośredniczącą w różnicach między systemami. Powoduje to luźne sprzężenie i nie wpływa zbytnio na nasze istniejące systemy. Apache Camel to oparty na regułach silnik routingu i mediacji, który zapewnia obiektową implementację wzorców integracji przedsiębiorstw za pomocą interfejsu API (lub deklaratywnego specyficznego dla domeny Java Język), aby skonfigurować zasady routingu i mediacji.
Szczegółowe wyjaśnienia i przykłady można znaleźć tutaj Apache Camel Tutorials

 3
Author: Rameez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-08 12:40:04

Apache Camel to Framework Java do integracji korporacyjnej. Np.: - jeśli budujesz aplikację webową, która współdziała z wieloma API dostawców, możemy użyć camel jako zewnętrznego narzędzia integracji. Możemy z nim zrobić więcej w oparciu o przypadek użycia. Camel w akcji z MANNING publications to świetna książka do nauki wielbłąda. Integracje można zdefiniować jak poniżej.

Java DSL

from("jetty://0.0.0.0:8080/searchProduct").routeId("searchProduct.products").threads()
    .log(LoggingLevel.INFO, "searchProducts request Received with body: ${body}")
    .bean(Processor.class, "createSearchProductsRequest").removeHeaders("CamelHttp*")
    .setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
    .to("http4://" + preLiveBaseAPI + searchProductsUrl + "?apiKey=" + ApiKey
                    + "&bridgeEndpoint=true")
    .bean(Processor.class, "buildResponse").log(LoggingLevel.INFO, "Search products finished");

Jest to po prostu utworzenie punktu końcowego REST API, który z kolei wywołuje zewnętrzne API i wysyła request back

Spring DSL

<route id="GROUPS-SHOW">
    <from uri="jetty://0.0.0.0:8080/showGroups" />
    <log loggingLevel="INFO" message="Reqeust receviced service to fetch groups -> ${body}" />
    <to uri="direct:auditLog" />
    <process ref="TestProcessor" />
</route>

Przychodząc do Twoich pytań

  1. co to właściwie jest? ODP: - jest to framework, który wdraża wzorce integracji przedsiębiorstw
  2. Jak działa interakcja z aplikacją napisaną w Javie? Odp: - może współdziałać z dowolnymi dostępnymi protokołami, takimi jak http, ftp, amqp itp {]}
  3. czy to coś, co idzie w parze z serwerem? Odp: - może być wdrożony w kontenerze takim jak tomcat lub może być wdrożony niezależnie jako java proces
  4. czy jest to niezależny program? Odp: - może być.

Hope it helps

 2
Author: Khader M A,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-01 15:48:31

Its like a pipeline connecting

From---->To

Pomiędzy u można dodać tyle kanałów i rur. Kran może być dowolnego typu automatyczny lub ręczny przepływ danych i trasa do kanalizacji przepływu.

Obsługuje i ma implementację dla wszystkich typów i rodzajów przetwarzania. I dla tego samego przetwarzania wiele podejść, ponieważ ma wiele składników i każdy składnik może również zapewnić pożądaną wydajność przy użyciu różnych metod pod nim.

Na przykład, Transfer plików można to zrobić w wielbłądzie z przenoszonymi lub kopiowanymi plikami typów, a także z folderu, serwera lub kolejki.

-from-->To
   - from-->process-->to
   - from-->bean-->to
   - from-->process-->bean-->to
   -from-->marshal-->process-->unmarshal-->to

From / to - - - - folder, direct, seda, vm może być czymkolwiek

 1
Author: javalearner_heaven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-07 08:23:28