1. What Is Mule? Answer: Mule is a lightweight event-driven enterprise service bus (ESB) and an integration platform. It is a lightweight and modular solution that could scale from an application-level messaging framework to an enterprise-wide highly distributable object broker.
2. What is Shared Context? Answer: Shared Context: Context is a temporary area that is created along with Service Message Object (SMO) in the Mediation Flows. Shared Context is a type of context which is present in the SMO. Shared Context is mainly used when we are using the Aggregation process where we need to Iterate the BO for Certain times. Shared Context maintains Aggregation data between Aggregation (FanOut and FanIn) primitives. The Content (data) which is present in the shared context BO does not persist across Request and Response flows i.e. The Data in the Shared Context which is used in Request flow can not be used again in Response flow.
3. What is ESB? Answer: An enterprise service bus (ESB) is software architecture for middleware that provides fundamental services for more complex architectures. For example, an ESB incorporates the features required to implement a service-oriented architecture (SOA). In a general sense, an ESB can be thought of as a mechanism that manages access to applications and services (especially legacy versions) to present a single, simple, and consistent interface to end-users via Web- or forms-based client-side front end.
4. Why the Mulesoft is preferred than other ESB implementations? Answer: Mule is lightweight but highly scalable, allowing you to start small and connect more applications over time. The ESB manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used.
Several commercial ESB implementation provides limited functionality or built on top of an existing application server or messaging server, locking you into that specific vendor. Mule is vendor-neutral, so different vendor implementations can plug into it. You are never locked in to a specific vendor when you use Mule.
5. What is the difference between ESB and JMS? Answer: ESB provides the middleware and interfaces that allow businesses to connect their applications without writing code. JMS provides messaging capability and facilitates communication between the modules/applications.
6. What is your understanding of this position and the responsibilities that come with it? Answer: Professional Answers Preview “From our previous conversation, understanding the job description, and researching the role online I feel that the job is best described as a project leader focused on X, Y, and Z. The technical requirements that you would like to see are A, B, and C. I am well versed in the tasks and programs you are asking for and am confident that I meet the strict requirements to successfully perform in this role.” “My understanding is that you seek a candidate with expert level skills in X, Y, and Z, who can train junior employees. I am an expert user in all three of these areas.
7. Explain ESB Integration core principles? Answer:
Transformation: Data transformation between canonical data formats and specific data formats required by each ESB connector.
Transportation: Transport protocol negotiation between multiple formats. Such as HTTP, JMS, JDBC.
Mediation – Providing multiple interfaces for the purpose of a) supporting multiple versions of a service for backward compatibility or alternatively, b) to allow for multiple channels to the same underlying component implementation. This second requirement may involve providing multiple interfaces to the same component, one legacy interface (flat file) and one standards-compliant (SOAP/XML) interface.
8. Explain Batch Jobs in Mule ESB? Answer: A batch job is a top-level element in Mule ESB that exists outside all Mule flows. Batch jobs split large messages into records which Mule processes asynchronously; just as flows process messages, batch jobs process records.
A batch job contains one or more batch steps which, in turn, contain any number of message processors that act upon records.
A batch job executes when triggered by either a batch executor in a Mule flow or a message source in a batch-accepting input. when triggered, Mule creates a new batch job instance. When all records have passed through all batch steps, the batch job instance ends and the batch job result can be summarized in a report to indicate which records succeeded and which failed during processing.
9. What Is the Transformer In Mule? Answer: A transformer takes care of translating the content of a message from one form to another. It is possible to chain transformers to cumulate their effects. Transformers can kick in at different stages while a message transits through a service.
10. What’s the difference between SOAP and REST? Answer: REST is almost always going to be faster. The main advantage of SOAP is that it provides a mechanism for services to describe themselves to clients and to advertise their existence.
REST is much more lightweight and can be implemented using almost any tool, leading to lower bandwidth and shorter learning curve. However, the clients have to know what to send and what to expect.
In general, When you’re publishing an API to the outside world that is either complex or likely to change, SOAP will be more useful. Other than that, REST is usually the better option.
11. What Are Available Approaches Used For Modularizing Configurations In Mule? Answer: There are different following approaches that can be used when modularizing a configuration.
Independent configurations : a Mule instance can load several independent configuration files side by side.
Inherited configurations: main idea is to express a formal parent-child dependency between two configurations. By strongly expressing this dependency, you will have the guarantee at boot time that no configuration file has been omitted. Simply by using the same name for the parent and child models and by flagging the child as being an heir, as shown here:
Imported configurations: You can easily import external Spring application context files into your Mule configuration files. The following illustrates how instance. xml would import its Spring context file:
Heterogeneous configurations: It is possible to mix several styles of Mule configuration in an instance. An instance can be configured with a Groovy script and Spring XML configuration builders.
12. What Is File Property In File Connector In Mule? Answer: The fileAge property specifies how long the endpoint should wait before reading the file again. For instance, a fileAge of 60000 indicates Mule should wait a minute before processing the file again.
13. What are the features of Mule ESB/ESB? Answer:
Transport: applications can accept input from a variety of means, from the file system to the network.
Data format: speaking the right protocol is only part of the solution, as applications can use almost any form of representation for the data they exchange.
Invocation styles: synchronous, asynchronous, or batch call semantics entail very different integration strategies.
Life cycles: applications of different origins that serve varied purposes tend to have disparate development, maintenance, and operational life cycles.
14. Where would you like your career with Mulesoft to take you? Answer: Professional Answers Preview “One of the reasons I was so excited to interview with Mulesoft is because of the endless growth opportunities you appear to offer your high performing employees. My biggest ambition is to be awarded a management role in the next 3-5 years.” “What interests me most about your company is that there are so many options when it comes to career growth. Ideally, I would like to earn my way into a team lead role, then a division manager position in the digital management department. Eventually, a CDO (Chief Data Officer) level role would be ideal. Of course, I understand that this will take many years of dedication and hard work.”
15. What Is Auto delete Property In File Connector In Mule? Answer: The default value of autoDelete is true. Therefore, a file inbound endpoint will, by default, remove the file from the source directory once it is read by the inbound endpoint. If you do not want to delete the file automatically then you can set the autoDelete property to false.
16. What Is Vm Transport In Mule? Answer: The VM transport is a special kind of transport that you’ll use to send messages via memory. These messages never leave the JVM the Mule instance is running in.
17. What Are Different Type Of Messages In Mule? Answer:
Bridge messages: Pass messages from inbound to outbound routers.
Echo and log messages: Log messages and move them from inbound to outbound routers.
Build messages: Create messages from fixed or dynamic values
18. What is the use of Web service? Answer: Web services are XML-based information exchange systems that use the Internet for direct application-to-application interaction. These systems can include programs, objects, messages, or documents. A web service is a collection of open protocols and standards used for exchanging data between applications or systems.
19. How can we create and consume SOAP service in Mule? Answer:
Creating SOAP Service: We can create a SOAP service the same as we create Mule Project With RAML, the only change is instead of RAML we need to import Concert WSDL.
Consuming SOAP Service: We can use Web Service Consumer or CXF component in our mule flow to access/consume SOAP service.
20. What Is a Router In Mule? Answer: Routers play a crucial role in controlling the trajectory a message will follow when it transits in Mule. They are the gatekeepers of the endpoints of service, taking care of keeping messages on the right succession of tracks so they can reach their intended destinations. Certain routers act like the big classification yards: they can split, sort, or regroup messages based on certain conditions.
21. What Is An Outbound Endpoint In Mule? Answer: Outbound endpoints are used to send data. An outbound endpoint is used to do things such as send SOAP messages, write to file streams, and send email messages.
22. What is the Difference between SDO and SMO? Answer:
SDO: Service Data Object is the representation of the variable or Object.
SMO: The SMO model is a pattern for using SDO Data Objects to represent messages
23. What Is Transport Layer In Mule? Answer: The transport layer is in charge of receiving or sending messages. This is why it is involved with both inbound and outbound communications. A transport manifests itself in the configuration by the following elements: connectors, endpoints, and transformers.
A transport also defines one message adapter. A message adapter is responsible for extracting all the information available in a particular request (data, meta information, attachments, and so on) and storing them in transport-agnostic fashion in a Mule message.
A Mule message is composed of different parts: The payload, which is the main data content carried by the message.
The properties, which contain the meta information much like the header of a SOAP envelope or the properties of a JMS message. Optionally, multiple named attachments, to support the notion of multipart messages.
Optionally, an exception payload, which holds any error that occurred during the processing of the event.
24. Why Mule is preferred than other ESB implementations? Answer: Mule is lightweight but highly scalable, allowing you to start small and connect more applications over time. The ESB manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used.
Several commercial ESB implementation provide limited functionality or built on top of an existing application server or messaging server, locking you into that specific vendor. Mule is vendor-neutral, so different vendor implementations can plug in to it. You are never locked in to a specific vendor when you use Mule.
25. Do I Need An ESB? Answer: Mule and other ESBs offer real value in scenarios where there are at least a few integration points or at least 3 applications to integrate. They are also well suited to scenarios where loose coupling, scalability and robustness are required.
26. How can you change the runtime changes using mediation primitive? Answer: We have a future called Promotable properties in ESB. We can configure this future while development. Then we can make it changed at runtime without restarting the server it can be published.
27. What are the various types of Exception Handling in Mule ESB? Answer:
The types of exception handling in Mule ESB are:
- Default Exception Handling
- Global Exception Handling
- Catch Exception Handling
- Choice Exception Handling
28. Why Does An Endpoint In Mule Offer An Address Attribute? Answer: This allows us to configure a generic endpoint using the Mule 1.x style of URI-based destination addresses instead of the dedicated attributes of the specific endpoint element.
29. What are the different types of Flow Processing Strategies? Answer:
There are 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.
30. What is REST? Answer: REST stands for Representational State Transfer or RESTful web service. REST is a client-server architecture which means each unique URL is a representation of some object or resource. Any REST API developed uses HTTP methods explicitly and in a way that’s consistent with the protocol definition. This basic REST design principle establishes a one-to-one mapping between create, read, update, and delete (CRUD) operations and HTTP methods. According to this mapping:
- To create a resource on the server, use POST.
- To retrieve a resource, use GET.
- To change the state of a resource or to update it, use PUT.
- To remove or delete a resource, use DELETE.
If we want to create a REST service that fetches the record of a customer then our URI will be:
- where HTTP method is GET,
- Resource is customer And URI parameter is customer ID which dipicts for which resource we want to fetch the records.
31. How was the interview process? Any funny or embarrassing stories? Answer: There were a lot of interviews but everything went smooth. I think there were a total of 6 onsite interviews over two days. I’m not very good at interviewing but it went over well.
32. What was your first job? Answer: I was a pallet repair worker at a factory when I was 14. I wasn’t old enough to use a nail gun at the time so the job was pretty much removing broken parts from a pallet using a crowbar and a saw. Not the most intellectually stimulating job but I enjoyed it at the time.
33. Why Spring-driven Configuration Builder Is Important Than Script Builder? Answer:
The advantages of Spring– driven configuration builder
It is the most popular — you are more likely to find examples using this syntax.
It is the most user-friendly — Spring takes care of wiring together all the moving parts of the ESB, something you must do by hand with a script builder.
It is the most expressive — dedicated XML schemas define the domain-specific language of Mule, allowing you to handle higher-level concepts than the scripting approach does.
34. What are Batch Jobs in Mule ESB? Answer: A batch job is a top-level element in Mule which exists outside all Mule flows. Batch jobs split large messages into records which Mule processes asynchronously in a batch job; just as flows process messages, batch jobs process records. A batch job contains one or more batch steps which, in turn, contain any number of message processors that act upon records as they move through the batch job. During batch processing, you can use record-level variables (recorders) and MEL expressions to enrich, route or otherwise act upon records.
35. What are Web Services? Answer: Web service is functionality or a small piece of program in any programming language that can be accessed over HTTP. Message format can be XML or JSON or any other program as long as the other programs can (Mulesoft Training )understand and communicate.
A Web service can be of synchronous or asynchronous type. Any web service has a server-client relationship and it can have multiple clients.
36. What is Mule ESB? Answer: Mule ESB is a Java-based enterprise service bus (ESB) and integration platform, developer can connect their application with ESB. Mule use service oriented architecture. Apart from of the different technologies the applications use, including JMS, Web Services, SMTP, HTTP. The advantage of ESB, it’s allow communicate different application. Messages can be any format SOAP to JSON. Mule ESB Development provide messaging framework that enable exchange of data among application.
37. Why we use RAML? Answer: RAML helps client know, what the service is and how all the operations can be invoked. RAML helps the developer in creating the initial structure of this API. RAML can also be used for documentation purpose.
38. What is Flow Processing Strategies? Answer:
- Synchronous Flow Processing Strategy
- Queued Flow Processing Strategy
- Asynchronous Flow Processing Strategy
- Thread Per Processing Strategy
- Queued Asynchronous Flow Processing Strategy
- Non-blocking Flow Processing Strategy
- Custom Processing Strategy
39. What Is Model Layer In Mule? Answer: The first logical layer is the model layer. A Mule model represents the runtime environment that hosts services. It defines the behavior of Mule when processing requests handled by services. The model provides services with supporting features, such as exception strategies. It also provides services with default values that simplify their configuration.
40. Do you have any questions about my technical expertise? Answer: Assure the interviewer that you bring a full understanding of the technical requirements attached to this particular job. It is very important that you research the role and thoroughly consume the information provided in the company’s job posting / job description. Keep your answer to the point.
41. What Is Filter In Mule? Answer: Filters are a powerful complement to the routers. Filters provide the brains routers need to make smart decisions about what to do with messages in transit. Some filters go as far as deeply analyzing the content of a message for a particular value on which their outcome will be based
42. How Many Endpoints Are There In Mule? Answer:
There are two endpoints:
You will use inbound and outbound endpoints to communicate between components and services inside Mule as well as with the outside world.
43. What Is Streaming Property In File Connector In Mule? Answer: The value of this streaming property can be either true or false. If it is set to true then we are actually working on a stream of file data otherwise we are working with file itself.
44. What Is a Mule Context? Answer: The Mule context is composed of references to different objects, including security credentials, if any, the session in which the request is processed. All internals of the ESB are accessible through Mule context.
45. What is Mule Data Integrator? Answer: Mule has released a data integrator tool, it is a visual mapping tool that supports flat file, java object, XML mappings, etc. Coding complex mappings can be very tedious and additionally difficult to maintain, the mule data integrator with drag and drop facilities makes building and maintaining mappings very simple.
The mapping is done in eclipse (plugins required) and executed on a data integrator runtime which sits on top of Mule ESB – this requires a license.