MuleSoft-Platform-Architect-I Exam Questions

Total 97 Questions


Last Updated On : 16-Jan-2025

An organization has several APIs that accept JSON data over HTTP POST. The APIs are all publicly available and are associated with several mobile applications and web applications. The organization does NOT want to use any authentication or compliance policies for these APIs, but at the same time, is worried that some bad actor could send payloads that could somehow compromise the applications or servers running the API implementations. What out-of-the-box Anypoint Platform policy can address exposure to this threat?


A. Shut out bad actors by using HTTPS mutual authentication for all API invocations


B. Apply an IP blacklist policy to all APIs; the blacklist will Include all bad actors


C. Apply a Header injection and removal policy that detects the malicious data before it is used


D. Apply a JSON threat protection policy to all APIs to detect potential threat vectors





D.
  Apply a JSON threat protection policy to all APIs to detect potential threat vectors

Explanation

Correct Answer: Apply a JSON threat protection policy to all APIs to detect potential threat vectors

*****************************************

Usually, if the APIs are designed and developed for specific consumers (known consumers/customers) then we would IP Whitelist the same to ensure that traffic only comes from them.

However, as this scenario states that the APIs are publicly available and being used by so many mobile and web applications, it is NOT possible to identify and blacklist all possible bad actors.

So, JSON threat protection policy is the best chance to prevent any bad JSON payloads from such bad actors.

A set of tests must be performed prior to deploying API implementations to a staging environment. Due to data security and access restrictions, untested APIs cannot be granted access to the backend systems, so instead mocked data must be used for these tests. The amount of available mocked data and its contents is sufficient to entirely test the API implementations with no active connections to the backend systems. What type of tests should be used to incorporate this mocked data?


A. Integration tests


B. Performance tests


C. Functional tests (Blackbox)


D. Unit tests (Whitebox)





D.
  Unit tests (Whitebox)

Explanation

Correct Answer: Unit tests (Whitebox)

*****************************************

Reference: [Reference: https://docs.mulesoft.com/mule-runtime/3.9/testing-strategies, As per general IT testing practice and MuleSoft recommended practice, Integration and Performance tests should be done on full end to end setup for right evaluation. Which means all end systems should be connected while doing the tests. So, these options are OUT and we are left with Unit Tests and Functional Tests., As per attached reference documentation from MuleSoft:, Unit Tests - are limited to the code that can be realistically exercised without the need to run it inside Mule itself. So good candidates are Small pieces of modular code, Sub Flows, Custom transformers, Custom components, Custom expression evaluators etc., Functional Tests - are those that most extensively exercise your application configuration. In these tests, you have the freedom and tools for simulating happy and unhappy paths. You also have the possibility to create stubs for target services and make them success or fail to easily simulate happy and unhappy paths respectively., As the scenario in the question demands for API implementation to be tested before deployment to Staging and also clearly indicates that there is enough/ sufficient amount of mock data to test the various components of API implementations with no active connections to the backend systems, Unit Tests are the one to be used to incorporate this mocked data., ]

A company has started to create an application network and is now planning to implement a Center for Enablement (C4E) organizational model. What key factor would lead the company to decide upon a federated rather than a centralized C4E?


A. When there are a large number of existing common assets shared by development teams


B. When various teams responsible for creating APIs are new to integration and hence need extensive training


C. When development is already organized into several independent initiatives or groups


D. When the majority of the applications in the application network are cloud based





C.
  When development is already organized into several independent initiatives or groups

Explanation

Correct Answer: When development is already organized into several independent initiatives or groups

***************************************** It would require lot of process effort in an organization to have a single C4E team coordinating with multiple already organized development teams which are into several independent initiatives. A single C4E works well with different teams having at least a common initiative. So, in this scenario, federated C4E works well instead of centralized C4E.

What is a best practice when building System APIs?


A. Document the API using an easily consumable asset like a RAML definition


B. Model all API resources and methods to closely mimic the operations of the backend system


C. Build an Enterprise Data Model (Canonical Data Model) for each backend system and apply it to System APIs


D. Expose to API clients all technical details of the API implementation's interaction wifch the backend system





B.
  Model all API resources and methods to closely mimic the operations of the backend system

Explanation

Correct Answer: Model all API resources and methods to closely mimic the operations of the backend system.

*****************************************

There are NO fixed and straight best practices while opting data models for APIs. They are completly contextual and depends on number of factors. Based upon those factors, an enterprise can choose if they have to go with Enterprise Canonical Data Model or Bounded Context Model etc.

One should NEVER expose the technical details of API implementation to their API clients. Only the API interface/ RAML is exposed to API clients.

It is true that the RAML definitions of APIs should be as detailed as possible and should reflect most of the documentation. However, just that is NOT enough to call your API as best documented API. There should be even more documentation on Anypoint Exchange with API Notebooks etc. to make and create a developer friendly API and repository..

The best practice always when creating System APIs is to create their API interfaces by modeling their resources and methods to closely reflect the operations and functionalities of that backend system.

A company wants to move its Mule API implementations into production as quickly as possible. To protect access to all Mule application data and metadata, the company requires that all Mule applications be deployed to the company's customer-hosted infrastructure within the corporate firewall. What combination of runtime plane and control plane options meets these project lifecycle goals?


A. Manually provisioned customer-hosted runtime plane and customer-hosted control plane


B. MuleSoft-hosted runtime plane and customer-hosted control plane


C. Manually provisioned customer-hosted runtime plane and MuleSoft-hosted control plane


D. iPaaS provisioned customer-hosted runtime plane and MuleSoft-hosted control plane





A.
  Manually provisioned customer-hosted runtime plane and customer-hosted control plane

Explanation

Correct Answer: Manually provisioned customer-hosted runtime plane and customer-hosted control plane

*****************************************

There are two key factors that are to be taken into consideration from the scenario given in the question.

Company requires both data and metadata to be resided within the corporate firewall

Company would like to go with customer-hosted infrastructure.

Any deployment model that is to deal with the cloud directly or indirectly (Mulesoft-hosted or Customer's own cloud like Azure, AWS) will have to share atleast the metadata.

Application data can be controlled inside firewall by having Mule Runtimes on customer hosted runtime plane. But if we go with Mulsoft-hosted/ Cloud-based control plane, the control plane required atleast some minimum level of metadata to be sent outside the corporate firewall. As the customer requirement is pretty clear about the data and metadata both to be within the corporate firewall, even though customer wants to move to production as quickly as possible, unfortunately due to the nature of their security requirements, they have no other option but to go with manually provisioned customer-hosted runtime plane and customer-hosted control plane.

An API implementation is deployed to CloudHub. What conditions can be alerted on using the default Anypoint Platform functionality, where the alert conditions depend on the end-to-end request processing of the API implementation?


A. When the API is invoked by an unrecognized API client


B. When a particular API client invokes the API too often within a given time period


C. When the response time of API invocations exceeds a threshold


D. When the API receives a very high number of API invocations





C.
  When the response time of API invocations exceeds a threshold

Explanation

Correct Answer: When the response time of API invocations exceeds a threshold

*****************************************

Alerts can be setup for all the given options using the default Anypoint Platform functionality

However, the question insists on an alert whose conditions depend on the end-to-end request processing of the API implementation.

Alert w.r.t "Response Times" is the only one which requires end-to-end request processing of API implementation in order to determine if the threshold is exceeded or not.

Reference: [Reference: https://docs.mulesoft.com/api-manager/2.x/using-api-alerts, , ]

An API implementation is being designed that must invoke an Order API, which is known to repeatedly experience downtime. For this reason, a fallback API is to be called when the Order API is unavailable. What approach to designing the invocation of the fallback API provides the best resilience?


A. Search Anypoint Exchange for a suitable existing fallback API, and then implement invocations to this fallback API in addition to the Order API


B. Create a separate entry for the Order API in API Manager, and then invoke this API as a fallback API if the primary Order API is unavailable


C. Redirect client requests through an HTTP 307 Temporary Redirect status code to the fallback API whenever the Order API is unavailable


D. Set an option in the HTTP Requester component that invokes the Order API to instead invoke a fallback API whenever an HTTP 4xx or 5xx response status code is returned from the Order API





A.
  Search Anypoint Exchange for a suitable existing fallback API, and then implement invocations to this fallback API in addition to the Order API

Explanation

Correct Answer: Search Anypoint exchange for a suitable existing fallback API, and then implement invocations to this fallback API in addition to the order API

*****************************************

It is not ideal and good approach, until unless there is a pre-approved agreement with the API clients that they will receive a HTTP 3xx temporary redirect status code and they have to implement fallback logic their side to call another API.

Creating separate entry of same Order API in API manager would just create an another instance of it on top of same API implementation. So, it does NO GOOD by using clone od same API as a fallback API. Fallback API should be ideally a different API implementation that is not same as primary one.

There is NO option currently provided by Anypoint HTTP Connector that allows us to invoke a fallback API when we receive certain HTTP status codes in response.

The only statement TRUE in the given options is to Search Anypoint exchange for a suitable existing fallback API, and then implement invocations to this fallback API in addition to the order API.

Mule applications that implement a number of REST APIs are deployed to their own subnet that is inaccessible from outside the organization.

External business-partners need to access these APIs, which are only allowed to be invoked from a separate subnet dedicated to partners - called Partner-subnet. This subnet is accessible from the public internet, which allows these external partners to reach it.

Anypoint Platform and Mule runtimes are already deployed in Partner-subnet. These Mule runtimes can already access the APIs.

What is the most resource-efficient solution to comply with these requirements, while having the least impact on other applications that are currently using the APIs?


A. Implement (or generate) an API proxy Mule application for each of the APIs, then deploy the API proxies to the Mule runtimes


B. Redeploy the API implementations to the same servers running the Mule runtimes


C. Add an additional endpoint to each API for partner-enablement consumption


D. Duplicate the APIs as Mule applications, then deploy them to the Mule runtimes





A.
  Implement (or generate) an API proxy Mule application for each of the APIs, then deploy the API proxies to the Mule runtimes

An organization wants MuleSoft-hosted runtime plane features (such as HTTP load balancing, zero downtime, and horizontal and vertical scaling) in its Azure environment. What runtime plane minimizes the organization's effort to achieve these features?


A. Anypoint Runtime Fabric


B. Anypoint Platform for Pivotal Cloud Foundry


C. CloudHub


D. A hybrid combination of customer-hosted and MuleSoft-hosted Mule runtimes





A.
  Anypoint Runtime Fabric

Explanation

Correct Answer: Anypoint Runtime Fabric

*****************************************

>> When a customer is already having an Azure environment, It is not at all an ideal approach to go with hybrid model having some Mule Runtimes hosted on Azure and some on MuleSoft. This is unnecessary and useless.

>> CloudHub is a Mulesoft-hosted Runtime plane and is on AWS. We cannot customize to point CloudHub to customer's Azure environment.

>> Anypoint Platform for Pivotal Cloud Foundry is specifically for infrastructure provided by Pivotal Cloud Foundry

>> Anypoint Runtime Fabric is right answer as it is a container service that automates the deployment and orchestration of Mule applications and API gateways. Runtime Fabric runs within a customer-managed infrastructure on AWS, Azure, virtual machines (VMs), and bare-metal servers.

-Some of the capabilities of Anypoint Runtime Fabric include:

-Isolation between applications by running a separate Mule runtime per application.

-Ability to run multiple versions of Mule runtime on the same set of resources.

-Scaling applications across multiple replicas.

-Automated application fail-over.

-Application management with Anypoint Runtime Manager.

Reference: [Reference: https://docs.mulesoft.com/runtime-fabric/1.7/, ]

When designing an upstream API and its implementation, the development team has been advised to NOT set timeouts when invoking a downstream API, because that downstream API has no SLA that can be relied upon. This is the only downstream API dependency of that upstream API. Assume the downstream API runs uninterrupted without crashing. What is the impact of this advice?


A. An SLA for the upstream API CANNOT be provided


B. The invocation of the downstream API will run to completion without timing out


C. A default timeout of 500 ms will automatically be applied by the Mule runtime in which the upstream API implementation executes


D. A toad-dependent timeout of less than 1000 ms will be applied by the Mule runtime in which the downstream API implementation executes





A.
  An SLA for the upstream API CANNOT be provided

Explanation

Correct Answer: An SLA for the upstream API CANNOT be provided.

*****************************************

First thing first, the default HTTP response timeout for HTTP connector is 10000 ms (10 seconds). NOT 500 ms.

Mule runtime does NOT apply any such "load-dependent" timeouts. There is no such behavior currently in Mule.

As there is default 10000 ms time out for HTTP connector, we CANNOT always guarantee that the invocation of the downstream API will run to completion without timing out due to its unreliable SLA times. If the response time crosses 10 seconds then the request may time out.

The main impact due to this is that a proper SLA for the upstream API CANNOT be provided.

Reference: [Reference: https://docs.mulesoft.com/http-connector/1.5/http-documentation#parameters-3, ]


Page 2 out of 10 Pages
Previous