Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What exactly does Mulesoft do?


The old terminology was ESB, or enterprise service bus. It's Java based, and basically feels something like Tomcat, but with a bunch of add ons. Things like api management, various protocol connectors, data translation, pre-built integrations, and so forth. Like a hub that can run your code, plus talk to most of what you already have.


They make a couple products that work well together. Mule ESB acts as a container for flows, which are declaratively-written processes of canned components that do a specific thing (like make an SQL query, make API calls, or call your custom code), or EIP components [1] that manipulate the execution flow. They give you a visual editor to drag-and-drop build these flows, or you can write them by hand in XML. You deploy them in Mule ESB and they run indefinitely, accepting messages, say, on HTTP ports, or firing at set times like cron-jobs, or the like; the runtime detects most crashes and restarts the particular flow if something goes weird. If this kinda sounds like Erlang/OTP you're not entirely wrong, but, let's not go there...

(okay, so the canned components are sometimes quite nice, whereas in vanilla Erlang you're on your own. The value something like Mule brings is more the abstractions and the ecosystem, even if the Java runtime is of no intrinsic help. Also, see RabbitMQ's slides on Erlang [2]. Mule isn't an outward-facing message middleware like RabbitMQ, but behaves a lot like one on the inside. It also gives canned components to interact with them.)

A Mule flow is often basically mid-level business logic plumbing; you don't want to put these flows on the public internet without rate limiting, authentication and authorization -- you want to use some API gateway or proxy in front. Mule has one, called Mule API Gateway, and the front-facing portal API Manager. Then the rest of the 'Anypoint' branded stuff is value-add: metrics, more connectors, SaaS stuff, etc. Overall, it's a pretty solid offering for when you need to do either lots of data munging or you gotta write APIs for a legacy backend; needs common in big orgs.

[1] http://www.enterpriseintegrationpatterns.com/patterns/messag...

[2] http://www.rabbitmq.com/resources/erlang-exchange-talk-final...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: