Exam Certified Integration Architect All QuestionsBrowse all questions from this exam
Question 34

Northern Trail Outfitters needs to send order and line items directly to an existing finance application webservice when an order is fulfilled. It is critical that each order reach the finance application exactly once for accurate invoicing.

Which solution should an architect propose?

    Correct Answer: C

    Trigger invokes Queueable Apex method, with custom error handling process, is the best solution for ensuring that each order reaches the finance application exactly once. Queueable Apex provides the flexibility to handle errors and retries programmatically, allowing for custom logic that can ensure exactly-once delivery. While Outbound Messaging handles retries, it does not guarantee a single delivery of a message and lacks the necessary customization for error handling. Using a button press for synchronous callout relies on user action and can introduce human error, making it less reliable. An @future Apex method lacks the robustness in error handling and chaining capabilities required for this critical task.

Discussion
bullet71000Option: C

With outbound message there is no guarantee that message will be delivered only once specially in case of failure a successful acknowledgment is not received it tries to redeliver the message hence duplication. Not B because it need to be automated and ensured that message go directly to finance on completion of order fulfilment. With button we would need to put in a lot of custom errors and check Not d because future method wont send the error immediately and retries are not gurinted Hence answer is C

SS1121

Even Queueable Apex does not guarantees sending the request immediately, it is dependent on the available resources in the Org.

u39403918Option: B

The question does not specify that it must be automated, only that it should be sent once as the most highest priority item. Adding my vote that it should be B

JLee1Option: B

It says It is critical that each order reach the finance application exactly once for accurate invoicing. So I think it is B, because users can handle error immediately when there is an error to make sure it reaches the finance system

SS1121Option: C

Why Other Options Are Less Suitable: A. Outbound Messaging, which will automatically handle error retries to the service: While Outbound Messaging handles automatic retries, it has limitations in terms of customization and error handling. It may not provide the granular control required to ensure exactly-once delivery. B. Button press invokes synchronous callout, with user handling retries in case of error: Relying on a user to handle retries introduces the risk of human error and does not guarantee that the order will be processed exactly once. This approach lacks the automation and reliability required for critical financial transactions. D. Trigger makes @future Apex method, with custom error handling process: @future methods have limitations, such as not being able to chain jobs or manage complex operations as effectively as Queueable Apex. They also do not provide the same level of control and monitoring capabilities.

e6cc3d9Option: A

You probably cannot do B as it will allow the user to smash the button as many times as they want.

hajareethwanOption: B

Due to the critical nature mentioned in the question, it would make sense for this transaction to be synchronous so that if there any failures, it can be rectified immediately. The rest of the options are Async, which does not take into the consideration of the criticality.

acresposotOption: A

outbound messaging does not accept multiple objects

AshleyRainOption: A

Outbound Messaging

sdb211

While each message is delivered at least one time, it can be delivered more than one time. https://help.salesforce.com/s/articleView?id=sf.workflow_om_considerations.htm&type=5