hugoestr

hugoestr

Is there an Elixir alternative to Apache Camel?

Hi,

We are exploring creating an integration system to connect and communicate with systems outside of our company. We are leaning towards adopting Apache Camel. However, a few of us would rather work with the Beam than the JVM.

Is there any integration system in Elixir that is similar to Apache Camel? I have tried searching, but search is sort of broken on the internet right now. I am getting a lot of garbage pages. I am going to keep looking, though.

That said, if someone in the Elixir community knows the answer, that would be awesome. I would love to add that hypothetical framework to the proposal

Most Liked

jdiago

jdiago

Never heard of Camel before but had a peek at the docs…

Instead of “Elixir alternative to Camel,” I think the better question to ask is: What are you trying to do in Camel and how can you do that with Elixir instead?

Just from skimming the docs, I see hints of plain Elixir/OTP features, Phoenix, and GenStage/Broadway.

Take this reply with a grain of salt. I am biased. I cringed when I saw “Enterprise Integration Pattern.”

rhcarvalho

rhcarvalho

If you have existing dependencies written in Java or other JVM language, or the “enterprisey” aspect is guiding the decision, maybe the BEAM or anything else might be a hard sell.

But it seems there’s room for proposing alternatives, in which case you could compare the many patterns of message-based communication listed in EIPs :: Apache Camel with native/equivalent solutions in the BEAM (as in previous answers in the thread).

Reminds me of that slide comparing BEAM with other stacks, how it replaces a lot of separate components. The legendary talk The Soul of Erlang & Elixir by Saša Jurić https://youtu.be/JvBT4XBdoUE?si=pyKU-_EOHzrTsH1Q&t=36m40s.

Good luck!

hugoestr

hugoestr

Thanks so much for your response. I think this was very useful. I am going to explore and present Elixir/Beam as an alternative.

Where Next?

Popular in Questions Top

marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
nobody
How to bind a phoenix app to a specific ip address? could not find anything about that, nowhere, unfortunately, but for me this is quite...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
JulienCorb
I am trying to implement my new.html.eex file to create new posts on my website. new.html.eex: <h1>Create Post</h1> <%= ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36128 110
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

We're in Beta

About us Mission Statement