8

Does anybody know of a ESB written in Node.JS. It seems like node would be great for this. Probably note something on the scale of IBM DataPower, I only need the following features for now:

  • Content based routing
  • AAA
  • Logging
  • Monitoring

I could start writing one myself, but I was wondering if there might be an existing project to build upon.

Thanks

maerics
  • 151,642
  • 46
  • 269
  • 291
gonzohunter
  • 832
  • 1
  • 8
  • 18
  • 3
    Because I did not know what ESB meant, [Enterprise Service Bus](http://en.wikipedia.org/wiki/Enterprise_service_bus) – Raynos Oct 20 '11 at 14:37
  • how about this one? https://github.com/hookio/hook.io – marcelog Oct 20 '11 at 15:56
  • Hi, did you eventually create one yourself? I have had some thoughts about this myself recently – AlanFoster Nov 17 '12 at 17:48
  • @AlanFoster hi, have you found anything interesting in regards to a JS esb? – Nikos Feb 18 '14 at 15:47
  • @Nikos No, unfortunately I abandoned such a project in favour of writing IntelliJ tooling for Apache Camel, an existing Java integration framework – AlanFoster Feb 19 '14 at 01:49
  • @AlanFoster ok, I noticed SWARM ESB, I've done a lot of work with mule but I write so much JS it would be nice to use it in ESB projects. However I don't think it would scale as well as multithreaded Java and how it would compare with stability. – Nikos Feb 19 '14 at 09:52

3 Answers3

3

Try @node-ts/bus is a true service bus written in Typescript for Node.

As a service bus, it has both message handling and workflows/sags built in.

Message brokers can be swapped in without having to change code, and currently it supports SQS and RabbitMQ. New brokers can be used by implementing a transport.

Under the hood, the bus takes care of all the implementation and complexity of topic and queue subscriptions, publications, routing etc. It also leverages @node-ts/logger that lets you use the in-built logger, or you can swap it out for your own.

Finally the service bus was designed to be compatible with @node-ts/ddd, which is a Domain Driven Design library for Typescript/Node.

Hopefully these are enough to get you started

Update: Docs have moved to https://node-ts.gitbook.io/bus/, and v1 now works without inversify

Andrew dh
  • 881
  • 9
  • 19
2

I've not tried any so I can't comment on the specifics you want.

The only project that refers to ESB that I can find is ESBX on Google but it doesn't seem to have got anywhere, at least as yet - you could try contacting the author.

On the other hand, there are a number of Node projects with Message Queues which might form the heart of what you want:

Certainly, the content based routing and logging is routine for Node systems. Monitoring is also trivial in Node.

Regards, Julian.

Community
  • 1
  • 1
Julian Knight
  • 4,716
  • 2
  • 29
  • 42
2

Take a look at SwarmESB, I haven't tried it yet, but it looks pretty interesting.

bappelt
  • 418
  • 1
  • 4
  • 13