Introduction to MuleSoft

Posted 8 years ago by Filip Vavera

IP address

I had a chance to explore MuleSoft software recently and would like to share, what I learned about it. Specifically, what it can do for you and how to work with it. MuleSoft has pretty good documentation. I will be referring to it as much as possible to avoid duplicating what it includes already. I strongly recommend to read it, before you start deploying MuleSoft. This article will point out issues that I had to resolve on my own, hoping that you can use them too while deploying MuleSoft products.

First of all, I’m going to briefly describe MuleSoft’s Anypoint Platform, followed by an introduction to how to work with Anypoint Studio. I’m going to describe how to deploy Mule ESB on-premise at the end.

What is Anypoint Platform?

Anypoint Platform is a generic term for all MuleSoft’s products. It contains Mule ESB, Anypoint Studio, and Anypoint Platform’s online access point. Anypoint Platform is meant to be a bridge between multiple systems so they can communicate without changing them and hardcoded the other system API to them. You can write a simple connector in Java instead and connect to Anypoint Platform through it.

You can access the platform in the cloud via Anypoint Platform’s online access point. Or you could install your own instance on-premises – in that case, you will use Mule ESB (Community or Enterprise edition). I will describe the installation in the last section of this blog.

You would use MuleSoft’s software, if:

  • You have legacy systems that are deeply integrated with your existing software infrastructure. You would like to integrate them with new systems and platforms, such as social media notifications while you can’t afford to replace them by completely new systems.
  • You have an application but you don’t have the option to touch it’s code in case that you wanted to integrate it with other apps.
  • You have a system with multiple applications which have to communicate all together.

Anypoint Studio

Anypoint Studio is a graphical designer for creating and editing connections and data flows between applications. It’s build under Eclipse IDE and it is designed for non-programmers. Anypoint Studio can be also used for other tasks for example for developing connectors.

Installation is pretty straightforward. You will download binaries from MuleSoft site (choose your OS and architecture), extract it wherever you want and run AnypointStudio binary from AS’s root folder. When Anypoint Studio starts you will be probably asked for the upgrade.

Note:
If AS upgrade fails just restart it and try again that’ll solve it for most cases.

The more detailed description also with prerequisites checks can be found in the documentation.

If you have a license and you want to use Enterprise edition of MuleSoft, install your license according to this tutorial in docs. If you don’t have a license you’ll get 30-days free trial access to the enterprise. If you want to use just community version I recommend you uninstall enterprise and install community packages right now. Go to Help > Install new software… select Mule ESB Runtimes for Anypoint Studio site, choose the latest community package and install it. Then go to Help > Installation details find package Mule ESB Server runtime x.y.z EE (where ‘x.y.z’ is version number) and uninstall it.

Features of Anypoint Studio and working with specific connectors are described in the documentation.

Note:
If you are using Java 1.8 don’t forget to properly set the Java arguments. You can find it if you click on your project, hit Alt + Enter, choose Run/Debug settings and then Arguments card. The defaults are --MetaspaceSize=128M -XX:MaxPermSize=256M but this arguments are no longer supported in Java 1.8 and in some cases it may cause problems with memory exhaustion. Replace theme with -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M.
Java VM arguments

On-premise installation

The whole installation process is described in the documentation so I will just briefly describe the process and some useful notes which are not mentioned in the documentation.

MuleSoft uses Docker to run their software on-premise. So the first step is install Docker on your system. The installation process for different OS is described on Docker web page. Just keep in mind that currently MuleSoft requires Docker version 1.8.x. After that continue with the installation process of Rancher. Just remember that it is important how you start the Docker. If you start it with sudo you will have to run all Docker commands as sudo but if you start the Docker as a current user you will have to run all Docker commands as the current user. If you mismatch it Docker will look like it is not running.

If you are running MuleSoft on-premise on your local computer just for testing purposes you will probably access it via http://localhost:9999/. But for some reasons if you set the localhost or 127.0.0.1 as address that will be used by host they will not connect. You have to set your IP address (not the loopback) even if you are planning run all hosts on the same computer.
IP address

This is it regarding the installation. You can now continue with documentation guide with adding hosts, applications, etc. I hope installation will be smooth for you, should you face any issues, you might turn to MuleSoft community on forum. Enjoy!

Filip Vavera

«

2 Responses to “Introduction to MuleSoft”

  1. […] You can find a short intro to the MuleSoft platform in our previous blog. […]

  2. Krishna says:

    Hi Filip Vavera,

    Thanks for the tip.

    I have one doubt.
    My scenario is to pass the database result as parameter dynamically to the soap web service. I am passing the Parameter via SetPayload component.
    I am passing the parameter in this below format, I am getting argument mismatch error. I tested this argument using logger payload[0][‘RATE’],payload[0][‘APPLICANT_NAME’], it retrieves the value perfectly. When I used this in set-payload I am getting argument mismatch error. I am looking to resolve this problem.
    Thanks in advance.
    Krishna.

Leave a Reply

Related articles