A Mule application is being designed to do the following:
Step 1: Read a SalesOrder message from a JMS queue, where each SalesOrder consists of a header and a list of SalesOrderLineltems.
Step 2: Insert the SalesOrder header and each SalesOrderLineltem into different tables in an RDBMS.
Step 3: Insert the SalesOrder header and the sum of the prices of all its SalesOrderLineltems into a table In a different RDBMS.
No SalesOrder message can be lost and the consistency of all SalesOrder-related information in both RDBMSs must be ensured at all times.
What design choice (including choice of transactions) and order of steps addresses these requirements?
A. 1) Read the JMS message (NOT in an XA transaction) 2) Perform BOTH DB inserts in ONE DB transaction 3) Acknowledge the JMS message B. 1) Read the JMS message (NOT in an XA transaction) 2) Perform EACH DB insert in a SEPARATE DB transaction 3) Acknowledge the JMS message C. 1) Read the JMS message in an XA transaction 2) In the SAME XA transaction, perform BOTH DB inserts but do NOT acknowledge the JMS message D. 1) Read and acknowledge the JMS message (NOT in an XA transaction) 2) In a NEW XA transaction, perform BOTH DB inserts
A. 1) Read the JMS message (NOT in an XA transaction) 2) Perform BOTH DB inserts in ONE DB transaction 3) Acknowledge the JMS message
Explanation/Reference:
Option A says "Perform EACH DB insert in a SEPARATE DB transaction". In this case if first DB insert is successful and second one fails then first insert won't be rolled back causing inconsistency. This option is ruled out. Option D says Perform BOTH DB inserts in ONE DB transaction. Rule of thumb is when one or more DB connections are required we must use XA transaction as local transactions support only one resource. So this option is also ruled out. Option B acknowledges the before DB processing, so message is removed from the queue. In case of system failure at later point, message can't be retrieved. Option C is Valid: Though it says "do not ack JMS message", message will be auto acknowledged at the end of transaction. Here is how we can ensure all components are part of XA transaction: https://docs.mulesoft.com/jms-connector/1.7/jms-transactions Additional Information about transactions: XA Transactions -You can use an XA transaction to group together a series of operations from multiple transactional resources, such as JMS, VM or JDBC resources, into a single, very reliable, global transaction. The XA (eXtended Architecture) standard is an X/Open group standard which specifies the interface between a global transaction manager and local transactional resource managers. The XA protocol defines a 2-phase commit protocol which can be used to more reliably coordinate and sequence a series of "all or nothing" operations across multiple servers, even servers of different types Use JMS ack if ?Acknowledgment should occur eventually, perhaps asynchronously ?The performance of the message receipt is paramount ?The message processing is idempotent ?For the choreography portion of the SAGA pattern Use JMS transactions ?For all other times in the integration you want to perform an atomic unit of work ?When the unit of work comprises more than the receipt of a single message ?To simply and unify the programming model (begin/commit/rollback)
Question 82:
In a Mule Application, a flow contains two (2) JMS consume operations that are used to connect to a JMS broker and consume messages from two(2) JMS destination. The Mule application then joins the two JMS messages together.
The JMS broker does not implement high availability (HA) and periodically experiences scheduled outages of upto 10 mins for routine maintenance.
What is the most idiomatic (used for its intented purpose) way to build the mule flow so it can best recover from the expected outages?
A. Configure a reconnection strategy for the JMS connector B. Enclose the two(2) JMS operation in an Until Successful scope C. Consider a transaction for the JMS connector D. Enclose the two(2) JMS operations in a Try scope with an Error Continue error handler
A. Configure a reconnection strategy for the JMS connector
Explanation/Reference:
When an operation in a Mule application fails to connect to an external server, the default behavior is for the operation to fail immediately and return a connectivity error. You can modify this default behavior by configuring a reconnection strategy for the operation. You can configure a reconnection strategy for an operation either by modifying the operation properties or by modifying the configuration of the global element for the operation. The following are the available reconnection strategies and their behaviors: None Is the default behavior, which immediately returns a connectivity error if the attempt to connect is unsuccessful Standard (reconnect) Sets the number of reconnection attempts and the interval at which to execute them before returning a connectivity error Forever (reconnect-forever) Attempts to reconnect continually at a given interval
Question 83:
An API client makes an HTTP request to an API gateway with an Accept header containing the value'' application''.
What is a valid HTTP response payload for this request in the client requested data format?
A. healthy B. {"status" "healthy"} C. status(`healthy") D. status: healthy
B. {"status" "healthy"}
Explanation/Reference:
When an API client makes an HTTP request to an API gateway with an Accept header containing the value "application/json", the valid HTTP response payload should be in JSON format. The correct JSON format for indicating a healthy
status is {"status": "healthy"}. This format uses a JSON object with a key-value pair where the key is "status" and the value is "healthy".
Other options provided are not valid JSON responses:
healthy is XML format.
status('healthy') and status: healthy are not valid JSON syntax.
References:
HTTP Content Negotiation and Accept Headers
JSON Formatting and Syntax Rules
Question 84:
A mule application uses an HTTP request operation to involve an external API.
The external API follows the HTTP specification for proper status code usage.
What is possible cause when a 3xx status code is returned to the HTTP Request operation from the external API?
A. The request was not accepted by the external API B. The request was Redirected to a different URL by the external API C. The request was NOT RECEIVED by the external API D. The request was ACCEPTED by the external API
B. The request was Redirected to a different URL by the external API
Explanation/Reference:
3xx HTTP status codes indicate a redirection that the user agent (a web browser or a crawler) needs to take further action when trying to access a particular resource. Reference: https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Question 85:
Why would an Enterprise Architect use a single enterprise-wide canonical data model (CDM) when designing an integration solution using Anypoint Platform?
A. To reduce dependencies when integrating multiple systems that use different data formats B. To automate Al-enabled API implementation generation based on normalized backend databases from separate vendors C. To leverage a data abstraction layer that shields existing Mule applications from nonbackward compatible changes to the model's data structure D. To remove the need to perform data transformation when processing message payloads in Mule applications
A. To reduce dependencies when integrating multiple systems that use different data formats
Explanation/Reference:
An Enterprise Architect would use a single enterprise-wide canonical data model (CDM) when designing an integration solution to achieve the following benefits:
Reduced Dependencies: By standardizing on a single data model, it simplifies the integration process between multiple systems that may use different data formats. This eliminates the need for numerous point-to-point transformations.
Consistency and Reusability: A CDM ensures consistent data representation across the enterprise, which promotes data integrity and reusability of integration components. Simplified Maintenance: Having a single data model reduces the
complexity of maintaining and updating integration solutions, as changes need to be made in only one place.
The CDM acts as an abstraction layer that decouples systems, facilitating easier integration and reducing the potential for errors.
References:
MuleSoft Documentation on Canonical Data Models
Best Practices for Data Integration with MuleSoft
Question 86:
An organization is designing a Mule application to periodically poll an SFTP location for new files containing sales order records and then process those sales orders. Each sales order must be processed exactly once.
To support this requirement, the Mule application must identify and filter duplicate sales orders on the basis of a unique ID contained in each sales order record and then only send the new sales orders to the downstream system.
What is the most idiomatic (used for its intended purpose) Anypoint connector, validator, or scope that can be configured in the Mule application to filter duplicate sales orders on the basis of the unique ID field contained in each sales order record?
A. Configure a Cache scope to filter and store each record from the received file by the order ID B. Configure a Database connector to filter and store each record by the order ID C. Configure an Idempotent Message Validator component to filter each record by the order ID D. Configure a watermark In an On New or Updated File event source to filter unique records by the order ID
C. Configure an Idempotent Message Validator component to filter each record by the order ID
One of the backend systems invoked by an API implementation enforces rate limits on the number of requests a particular client can make. Both the backend system and the API implementation are deployed to several non-production environments in addition to production.
Rate limiting of the backend system applies to all non-production environments. The production environment, however, does NOT have any rate limiting.
What is the most effective approach to conduct performance tests of the API implementation in a staging (non-production) environment?
A. Create a mocking service that replicates the backend system's production performance characteristics. Then configure the API implementation to use the mocking service and conduct the performance tests B. Use MUnit to simulate standard responses from the backend system then conduct performance tests to identify other bottlenecks in the system C. Include logic within the API implementation that bypasses invocations of the backend system in a performance test situation. Instead invoking local stubs that replicate typical backend system responses then conduct performance tests using this API Implementation D. Conduct scaled-down performance tests in the staging environment against the rate limited backend system then upscale performance results to full production scale
A. Create a mocking service that replicates the backend system's production performance characteristics. Then configure the API implementation to use the mocking service and conduct the performance tests
Explanation/Reference:
Correct answer is Create a mocking service that replicates the backend system's production performance characteristics. Then configure the API implementation to use the mocking service and conduct the performance tests
*
MUnit is for only Unit and integration testing for APIs and Mule apps. Not for performance Testing, even if it has the ability to Mock the backend.
*
Bypassing the backend invocation defeats the whole purpose of performance testing. Hence it is not a valid answer.
*
Scaled down performance tests cant be relied upon as performance of API's is not linear against load.
Question 88:
An organization is designing multiple new applications to run on CloudHub in a single Anypoint VPC and that must share data using a common persistent Anypoint object store V2 (OSv2).
Which design gives these mule applications access to the same object store instance?
A. AVM connector configured to directly access the persistence queue of the persistent object store B. An Anypoint MQ connector configured to directly access the persistent object store C. Object store V2 can be shared across cloudhub applications with the configured osv2 connector D. The object store V2 rest API configured to access the persistent object store
C. Object store V2 can be shared across cloudhub applications with the configured osv2 connector
Explanation/Reference:
Object Store v2 (OSv2) in MuleSoft allows multiple applications within the same Anypoint Virtual Private Cloud (VPC) to share data. To achieve this, the OSv2 connector must be configured in each application to access the common
persistent object store instance. This configuration enables the applications to read from and write to the same object store, facilitating data sharing. Object Store v2 is designed to be persistent and reliable, making it suitable for scenarios
where data needs to be retained and shared across multiple applications.
References:
MuleSoft Documentation on Object Store v2
Question 89:
A Mule application contains a Batch Job with two Batch Steps (Batch_Step_l and Batch_Step_2). A payload with 1000 records is received by the Batch Job.
How many threads are used by the Batch Job to process records, and how does each Batch Step process records within the Batch Job?
A. Each Batch Job uses SEVERAL THREADS for the Batch Steps Each Batch Step instance receives ONE record at a time as the payload, and RECORDS are processed IN PARALLEL within and between the two Batch Steps B. Each Batch Job uses a SINGLE THREAD for all Batch steps Each Batch step instance receives ONE record at a time as the payload, and RECORDS are processed IN ORDER, first through Batch_Step_l and then through Batch_Step_2 C. Each Batch Job uses a SINGLE THREAD to process a configured block size of record Each Batch Step instance receives A BLOCK OF records as the payload, and BLOCKS of records are processed IN ORDER D. Each Batch Job uses SEVERAL THREADS for the Batch Steps Each Batch Step instance receives ONE record at a time as the payload, and BATCH STEP INSTANCES execute IN PARALLEL to process records and Batch Steps in ANY order as fast as possible
A. Each Batch Job uses SEVERAL THREADS for the Batch Steps Each Batch Step instance receives ONE record at a time as the payload, and RECORDS are processed IN PARALLEL within and between the two Batch Steps
Explanation/Reference:
*
Each Batch Job uses SEVERAL THREADS for the Batch Steps
*
Each Batch Step instance receives ONE record at a time as the payload. It's not received in a block, as it does not wait for multiple records to be completed before moving to next batch step. (So Option D is out of choice)
*
RECORDS are processed IN PARALLEL within and between the two Batch Steps.
*
RECORDS are not processed in order. Let's say if second record completes batch_step_1 before record 1, then it moves to batch_step_2 before record 1. (So option C and D are out of choice)
*
A batch job is the scope element in an application in which Mule processes a message payload as a batch of records. The term batch job is inclusive of all three phases of processing: Load and Dispatch, Process, and On Complete.
*
A batch job instance is an occurrence in a Mule application whenever a Mule flow executes a batch job. Mule creates the batch job instance in the Load and Dispatch phase. Every batch job instance is identified internally using a unique String known as batch job instance id.
Question 90:
A manufacturing company is developing a new set of APIs for its retail business. One of the APIs is a Master Look Up API, which is a System API,
The API uses a persistent object-store. This API will be used by almost all other APIs to provide master lookup data.
The Master Look Up API is deployed on two CloudHub workers of 0.1 vCore each because there is a lot of master data to be cached. Most of the master lookup data is stored as a key-value pair. The cache gets refreshed if the key is not
found in the cache.
During performance testing, it was determined that the Master Look Up API has a high response time due to the latency of database queries executed to fetch the master lookup data.
What two methods can be used to resolve these performance issues?
Choose 2 answers
A. Implement the HTTP caching policy for all GET endpoints for the Master Look Up API B. Implement an HTTP caching policy for all GET endpoints in the Master Look Up API C. Implement locking to synchronize access to the Object Store D. Upgrade the vCore size from 0.1 vCore to 0.2 vCore
A. Implement the HTTP caching policy for all GET endpoints for the Master Look Up API D. Upgrade the vCore size from 0.1 vCore to 0.2 vCore
Explanation/Reference:
AnTo resolve performance issues with the Master Look Up API, the following methods can be applied:
Implement the HTTP caching policy for all GET endpoints for the Master Look Up API: This caching policy helps reduce the number of database queries by storing frequently accessed data in cache, thus improving response times for
subsequent requests.
Upgrade the vCore size from 0.1 vCore to 0.2 vCore: Increasing the vCore size can provide more computational resources, which can improve the processing power and overall performance of the API, particularly under high load conditions.
Nowadays, the certification exams become more and more important and required by more and more
enterprises when applying for a job. But how to prepare for the exam effectively? How to prepare
for the exam in a short time with less efforts? How to get a ideal result and how to find the
most reliable resources? Here on Vcedump.com, you will find all the answers.
Vcedump.com provide not only Salesforce exam questions,
answers and explanations but also complete assistance on your exam preparation and certification
application. If you are confused on your MULESOFT-INTEGRATION-ARCHITECT-I exam preparations
and Salesforce certification application, do not hesitate to visit our
Vcedump.com to find your solutions here.