0

I've been looking at Authentication for Node.js and it seems like http://passportjs.org/ fits the bill quite nicely. Do you think that this would be a good candidate to interface with all major third party cloud based services that would be useful in ESB scope? Do you think passport is a reliable framework going forward?

1 Answer 1

2

Regarding ESBs authentication, I can tell about SwarmESB (i'm the author) that it is easy to change the authentication mechanisms: you have and external service offering an API (REST or whatever. I used LDAP for a project and local database in other) and an adapter (node.js processes offering your own adapted APIs towards swarms or for forwarding to external service) and you define a swarm description (like a script, written in JS and using the 'swarm' function and few conventions) that can be changed anytime without changing the client code or the adapters code. With a few IFs you can easily get different algorithm for debug/ development, different tenants, users, auth providers, etc.

I like to see the similarities between SwarmESB and other (usually Java) ESBs as similarities between REST and SOAP. They are serving the same scope but with radical approach in removing the (usually useless) ceremony. I tried to create a solution that have the architectural flexibility of ESBs without paying the complexity price of training programmers with fairly complex concepts. If one is understanding the swam messaging model and a few details It can easily start writing node.js code that integrates various APIs (web services or whatever)

I did mentor a few node.js beginners to understand the concepts and they become capable of doing meaningful work in a few days. I used SwarmESB in 2 projects until now (one for a big Romanian agency and it is stable and working without issues by more than an year) . SwarmESB is doing it's job but is still not so well documented (I don't have resources, time etc) and not capable to scale indefinitely (as it could in theory because is a bit limited by a single Redis PUB/SUB instance) and I could improve these aspects fast. Also I would improve a bit the error handling and fail recovery mechanisms. It could require a bit of trust and love for the swarm idea to use in new projects and you need me as a consultant and trainer to start the project but everything is open source and there is not so much code, it is doable.

One aspect, is that until now we used SwarmESB only with clients using sockets (flash and websockets) and the swarm model provides push notification from design. Having pure AJAX clients is possible but probably not the best uses case. The perceived speed of sockets is a great UX benefit. Regarding passportjs, you could delay a decisions because with an ESB you get flexibility and could focus on designing your services (adapters) and let authentication until you know what authentication providers you should really use from the business perspective. An webserver using passportjs could be used as an external service or provided by the adapter used by the swarm clients to connect to the ESB. If interested I'm available to contact by Skype and I will explain what could be possible.

1
  • thanks Alboaei for sharing your Framework, it sounds impressive, I'll need to have a go at wiring up SwarmESB to get a handle on how we can use it.
    – Nikos
    Mar 18, 2014 at 14:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .