Deal of The Day! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Salesforce Plat-Arch-204 Exam - Topic 6 Question 10 Discussion

Actual exam question for Salesforce's Plat-Arch-204 exam
Question #: 10
Topic #: 6
[All Plat-Arch-204 Questions]

Northern Trail Outfitters leverages Sales Cloud. When an opportunity has changed its status to ''Closed/Won'' and there are products attached, the details should be passed to the OMS for fulfillment operations. The callout from Salesforce to the OMS should be synchronous. What should an integration architect do to satisfy these requirements?

Show Suggested Answer Hide Answer
Suggested Answer: C

A synchronous requirement in Salesforce implies a Request-Reply pattern where the user waits for a response. To implement this correctly while adhering to platform constraints, the architect must initiate the callout from the User Interface (UI) layer.3

Option C is the correct architectural choice. By using a Lightning component and a button (or a Quick Act4ion), the callout is initiated directly from the user's session. The component calls an Apex controller, which performs the synchronous REST callout to the OMS. This allows the user to receive immediate feedback---such as a 'Success' message or an 'Error' notification from the OMS---directly on the Opportunity page.

Option A is incorrect because Apex Triggers are prohibited from making synchronous callouts. If a trigger initiates a callout, it must be asynchronous (using @future or Queueable Apex), which violates the business requirement for synchronicity. Making a synchronous call from a trigger would block the database transaction and could lead to 'Uncommitted Work Pending' errors or system timeouts. Option B (Batch Apex) is inherently asynchronous and delayed; an hourly job would not provide the real-time, synchronous feedback required during the 'Closed/Won' transition. Therefore, moving the integration logic to a UI-driven button is the only way to satisfy the synchronous requirement while staying within Salesforce's execution and transaction limits.


Contribute your Thoughts:

0/2000 characters
Elfriede
14 days ago
This question reminds me of a practice scenario we did where we had to integrate with an external system. I think a trigger is the best way to handle real-time updates.
upvoted 0 times
...
Elly
19 days ago
I'm not entirely sure, but I think batch jobs like in option B might not be synchronous, which is a key requirement here.
upvoted 0 times
...
Rikki
25 days ago
I remember we discussed the importance of synchronous callouts in class, so option A seems like it could be the right choice.
upvoted 0 times
...

Save Cancel