MuleSoft Certified Integration Architect - Level 1
MCIA-LEVEL-1 Exam

Refer to the exhibit.

A Mule application is deployed to a multi-node Mule runtime cluster. The Mule application uses the competing consumer pattern among its cluster replicas to receive JMS messages from a JMS queue. To process each received JMS message, the following steps are performed in a flow:

Step l: The JMS Correlation ID header is read from the received JMS message.
Step 2: The Mule application invokes an idempotent SOAP webservice over HTTPS, passing the JMS Correlation ID as one parameter in the SOAP request.
Step 3: The response from the SOAP webservice also returns the same JMS Correlation ID.
Step 4: The JMS Correlation ID received from the SOAP webservice is validated to be identical to the JMS Correlation ID received in Step 1.
Step 5: The Mule application creates a response JMS message, setting the JMS Correlation ID message header to the validated JMS Correlation ID and publishes that message to a response JMS queue.

Where should the Mule application store the JMS Correlation ID values received in Step 1 and Step 3 so that the validation in Step 4 can be performed, while also making the overall Mule application highly available, fault-tolerant, performant, and maintainable?

  1. Both Correlation ID values should be stored in a persistent object store
  2. Both Correlation ID values should be stored In a non-persistent object store
  3. The Correlation ID value in Step 1 should be stored in a persistent object store. The Correlation ID value in step 3 should be stored as a Mule event variable/attribute
  4. Both Correlation ID values should be stored as Mule event variable/attribute

Answer(s): C

Explanation:

* If we store Correlation id value in step 1 as Mule event variables/attributes, the values will be cleared after server restart and we want system to be fault tolerant.
* The Correlation ID value in Step 1 should be stored in a persistent object store.
* We don't need to store Correlation ID value in Step 3 to persistent object store. We can store it but as we also need to make application performant. We can avoid this step of accessing persistent object store.
* Accessing persistent object stores slow down the performance as persistent object stores are by default stored in shared file systems.
* As the SOAP service is idempotent in nature. In case of any failures , using this Correlation ID saved in first step we can make call to SOAP service and validate the Correlation ID.

Top of Form
Additional Information:
* Competing Consumers are multiple consumers that are all created to receive messages from a single Point-to-Point Channel. When the channel delivers a message, any of the consumers could potentially receive it. The messaging system's implementation determines which consumer actually receives the message, but in effect the consumers compete with each other to be the receiver. Once a consumer receives a message, it can delegate to the rest of its application to help process the message.

* In case you are unaware about term idempotent re is more info:
Idempotent operations means their result will always same no matter how many times these operations are invoked.

Bottom of Form



An integration Mute application is being designed to process orders by submitting them to a backend system for offline processing. Each order will be received by the Mute application through an HTTPS POST and must be acknowledged immediately. Once acknowledged, the order will be submitted to a backend system. Orders that cannot be successfully submitted due to rejections from the backend system will need to be processed manually (outside the backend system).
The Mule application will be deployed to a customer-hosted runtime and is able to use an existing ActiveMQ broker if needed.
The backend system has a track record of unreliability both due to minor network connectivity issues and longer outages.
What idiomatic (used for their intended purposes) combination of Mule application components and ActiveMQ queues are required to ensure automatic submission of orders to the backend system, while minimizing manual order processing?

  1. An On Error scope Non-persistent VM ActiveMQ Dead Letter Queue for manual processing
  2. An On Error scope MuleSoft Object Store ActiveMQ Dead Letter Queue for manual processing
  3. Until Successful component MuleSoft Object Store ActiveMQ is NOT needed or used
  4. Until Successful component ActiveMQ long retry Queue ActiveMQ Dead Letter Queue for manual processing

Answer(s): D

Explanation:

Correct answer is using below set of activities Until Successful component ActiveMQ long retry Queue ActiveMQ Dead Letter Queue for manual processing We will see why this is correct answer but before that lets understand few of the concepts which we need to know. Until Successful Scope The Until Successful scope processes messages through its processors until the entire operation succeeds. Until Successful repeatedly retries to process a message that is attempting to complete an activity such as: - Dispatching to outbound endpoints, for example, when calling a remote web service that may have availability issues. - Executing a component method, for example, when executing on a Spring bean that may depend on unreliable resources. - A sub-flow execution, to keep re-executing several actions until they all succeed, - Any other message processor execution, to allow more complex scenarios. How this will help requirement : Using Until Successful Scope we can retry sending the order to backend systems in case of error to avoid manual processing later. Retry values can be configured in Until Successful Scope Apache ActiveMQ It is an open source message broker written in Java together with a full Java Message Service client ActiveMQ has the ability to deliver messages with delays thanks to its scheduler. This functionality is the base for the broker redelivery plug-in. The redelivery plug-in can intercept dead letter processing and reschedule the failing messages for redelivery. Rather than being delivered to a DLQ, a failing message is scheduled to go to the tail of the original queue and redelivered to a message consumer. How this will help requirement : If backend application is down for a longer duration where Until Successful Scope wont work, then we can make use of ActiveMQ long retry Queue. The redelivery plug-in can intercept dead letter processing and reschedule the failing messages for redelivery.
Mule Reference:
https://docs.mulesoft.com/mule-runtime/4.3/migration-core-until-successful



What comparison is true about a CloudHub Dedicated Load Balancer (DLB) vs. the CloudHub Shared Load Balancer (SLB)?

  1. Only a DLB allows the configuration of a custom TLS server certificate
  2. Only the SLB can forward HTTP traffic to the VPC-internal ports of the CloudHub workers
  3. Both a DLB and the SLB allow the configuration of access control via IP whitelists
  4. Both a DLB and the SLB implement load balancing by sending HTTP requests to workers with the lowest workloads

Answer(s): A

Explanation:

* Shared load balancers don’t allow you to configure custom SSL certificates or proxy rules
* Dedicated Load Balancer are optional but you need to purchase them additionally if needed.
* TLS is a cryptographic protocol that provides communications security for your Mule app. TLS offers many different ways of exchanging keys for authentication, encrypting data, and guaranteeing message integrity.
* The CloudHub Shared Load Balancer terminates TLS connections and uses its own server-side certificate.
* Only a DLB allows the configuration of a custom TLS server certificate
* DLB enables you to define SSL configurations to provide custom certificates and optionally enforce two-way SSL client authentication.
* To use a DLB in your environment, you must first create an Anypoint VPC. Because you can associate multiple environments with the same Anypoint VPC, you can use the same dedicated load balancer for your different environments.
* MuleSoft Reference:
https://docs.mulesoft.com/runtime-manager/dedicated-load-balancer-tutorial
Additional Info on SLB Vs DLB:



Additional nodes are being added to an existing customer-hosted Mule runtime cluster to improve performance. Mule applications deployed to this cluster are invoked by API clients through a load balancer.
What is also required to carry out this change?

  1. A new load balancer must be provisioned to allow traffic to the new nodes in a round-robin fashion
  2. External monitoring tools or log aggregators must be configured to recognize the new nodes
  3. API implementations using an object store must be adjusted to recognize the new nodes and persist to them
  4. New firewall rules must be configured to accommodate communication between API clients and the new nodes

Answer(s): B

Explanation:

* Clustering is a group of servers or mule runtime which acts as a single unit.
* Mulesoft Enterprise Edition supports scalable clustering to provide high availability for the Mulesoft application.
* In simple terms, virtual servers composed of multiple nodes and they communicate and share information through a distributed shared memory grid.
* By default, Mulesoft ensures the High availability of applications if clustering implemented.
* Let's consider the scenario one of the nodes in cluster crashed or goes down and under maintenance. In such cases, Mulesoft will ensure that requests are processed by other nodes in the cluster. Mulesoft clustering also ensures that the request is load balanced between all the nodes in a cluster.
* Clustering is only supported by on-premise Mule runtime and it is not supported in Cloudhub. Correct answer is External monitoring tools or log aggregators must be configured to recognize the new nodes
* Rest of the options are automatically taken care of when a new node is added in cluster.


Reference:

https://docs.mulesoft.com/runtime-manager/cluster-about




Mick H.
I passed the CCIE Written exam 350-001 last Friday, Thanks very much for your study guide and your help.
- UNITED STATES
Upvote


Hagit
i ust wanted to thank you folks at braindumgalaxy.com for your assistance. I used your CCNP exams for practice and to identify my weak areas. Passed the CCNP recert on Tuesday without any big problems.
- Israel
Upvote


Cisco Engineer
I have found that your resources are probably the best on the market...and I work at Cisco.
- UNITED STATES
Upvote


Koshani
A well Good morning Dear braindumpgalaxy.com Team I wanna say that I passed the 000-888 yesterday and i am happy
- UNITED STATES
Upvote


Aized
I took the A+ hardware exam yesterday and thanks to your excellent and helping preparation material. I got a nice score.
- Pakistan
Upvote


Nazanin
I passed the exam with great distinction!
- CANADA
Upvote


Xiwan W
Great Price....Great Product. Keep up the good work!
- China
Upvote


Ashwin
So far your practice exams are extremely helpful. My test scores keep on going up every time I do them and I feel very confident now.
- India
Upvote


Mike M
The exams was excellent and helped me pass without any doubt.Very helpful! Thank you! I passed!
- UNITED ARAB EMIRATES
Upvote


Smart one
You guys rock. I just passed my 920-139 exam with 929 marks. Thanks for accurate & descriptive question bank.
- UK
Upvote

Read more ...