MuleSoft Interview Questions and Answers
1. What is Mule Soft? What is the use of it?
Mule ESB (Enterprise Service Bus) is an integration platform, which helps in integrating different applications together for the purpose of easy and quick exchange of data between them. It is a Java-based platform and it can integrate application from other technologies like JDBC, JMS etc.
It operates in two editions, Community and Enterprise.
2. Why the Name Mule?
A lot of infrastructure work has to be done before implementing any logic. This lot of work is considered as “donkey work” as this work has to be done for each project. A donkey or mule usually carries a load from one place to another; similarly, the ESB of Mule carries enterprise information from an application to another application so the name.
3. What the types of variables in Mule ESB?
There are 3 types of variables in a Mule ESB.
- Flow Variable
- Session Variable
- Record Variable
4. What are all the Primitives used in Mediation?
Following are the primitives used in mediation.
- Message Filter
- Type Filter
- Endpoint Lookup
- Service Invoke
- BO Map
- Message Element Setter
- DB lookup
- Data Handler
- Custom Mediation
- Header Setters
- Message Logger
- Even Emitter
- Sub Flow
5. Which primitive is used to implement a loop in mediation?
To implement a loop, we use Fan-in and Fan-out primitive.
6. Explain Fan-in and Fan-out?
Fan Out primitive is used to fire the input message through output terminal once or multiple times. Fan Out can be used alone or as a combination of Fan Out and Fan In.
Fan In always acts as a decision point whether to continue or stop flow execution and it is always combined with Fan Out. Until a decision point is reached, Fan In receives a number of messages and the last message received are sent to the output terminal.
7. Why do people prefer Mulesoft to other ESB implementations?
There are multiple reasons for this and few of them are as follows
- It is lightweight but highly scalable
- Can start small and expand to many applications
- The interaction between different applications is managed transparently irrespective of whether they exist in the same place/machine or somewhere else on the internet and irrespective of the transport protocol used.
Unlike Mule several other commercial ESB implementations let us use limited functionality locking us to a specific vendor. When using a mule, we never locked into using a specific vendor.
8. Explain Filter in Mule?
Filters act as brains to the routers helping them make smart decisions or in other way, Filters control how the routers behave by laying certain rules. For instance, messaging filters help with what to do with the messages in transit and sometimes analyze a message deeply for the particular value depending on which the outcome is based. Filters are a complement to the routers.
9. Explain SDO and SMO?
SDO – Service Data Objects, it is the representation of the object or variable.
SMO – This model is a pattern of how to use SDO Data objects to represent messages.
10. Explain the function of Stop and fail statement does?
Stop: It stops a particular path while in the flow, but do not generate an exception.
Fail: It simply generates a failure in the flow.
11. What are Web Services?
A Web service is a small program written in any programming language, which can be accessed over HTTP. Program or message has to be written in JSON, XML, or some other programming language that could be understood and communicated with other programs.
It has a server-client relationship. It can have multiple clients and can be synchronous or asynchronous.
12. What is the use of Web service?
Web service is an information exchange system from application to application interaction over the internet using a collection of open protocols or standards. It is an XML-based system and it can include messages, documents, objects, programs etc.
13. Name the different types of Web services?
There are mainly two types of web services.
- SOAP web services.
- RESTful web services.
14. Explain the difference between SOAP and REST?
SOAP (Simple Object Access Protocol.)
- It is a protocol.
- Since REST is a concept, SOAP cannot use it
- To expose the business logic, SOAP It uses services interfaces
- It defines strict standards to be followed
- It requires more bandwidth & resource compared to REST.
- It defines its own security.
- It allows XML data format only.
- SOAP is less preferred to REST.
REST (REpresentational State Transfer)
- It is an architectural style.
- Since SOAP is a protocol like HTTP, REST can use SOAP web services.
- It uses URI to expose business logic.
- Unlike SOAP, it does not have too many standards.
- It requires less bandwidth & resources comparatively.
- It inherits security measures from underlying transport.
- Unlike SOAP, it permits many data formats like HTML, XML, JSON, Plain text etc.
- It is more preferred for SOAP.
15. How can we create and consume SOAP service in Mule?
Creating SOAP Service – Creating SOAP service is same as creating Mule Project with RAML, but the only difference is, here we import concert WSDL instead of RAML.
Consuming SOAP Service – To consume SOAP service, we use Web service consumer or CXF component in our mule flow
16. Explain the advantages and disadvantages of Soap Web Services?
- SOAP defines its own security system known as WS Security
- It is independent of language and platform, i.e. we can write SOAP web services in any programming language and can execute on any platform.
- Slow processing: SOAP lays strict standards while developing the applications, which must be followed and it uses XML format, which has to be parsed in order to read. All these processes make it run slow consuming more bandwidth and resources.
- SOAP depends on WSDL to discover the service and does not have any other service.
17. What is RAML? Why we use it?
RAML – RESTful API Modeling Language is a YAML-based modeling language that describes RESTful APIs. RAML provides a structured and clear format of its API. It is similar to WSDL in structure – it contains endpoint URL, request/response schema, HTTP methods, query, and URI parameter.
For a consumer, RAML helps the client know what service it is and what/how all the operations are invoked. For a developer, it helps in giving a clear structure of the API before development. It can also be used for the purpose of documentation.
18. What are the different types of Flow Processing Strategies?
Following are the six different types of Flow Processing Strategies. They are
- Asynchronous Flow Processing Strategy
- Custom Processing Strategy
- Thread Per Processing Strategy
- Queued Asynchronous Flow Processing Strategy
- Synchronous Flow Processing Strategy
- Non-blocking Flow Processing Strategy
19. What is a Web service API?
API – Application Programming Interface; is the means using which many third parties write code which interfaces with other code. A web service is a type of API that operates over HTTP on the internet.
20. Explain the process to check if a file exists in Mule ESB?
A: Mule Expression Language(MEL) is used for this in the following way