Northern Trail Outfitters (NTO) has hired an Integration Architect to design the integrations between existing systems and a new instance of Salesforce. NTO has the following requirements: 1. Initial load of 2M Accounts, 5.5M Contacts, 4.3M Opportunities, and 45k Products into the new org. 2. Notification of new and updated Accounts andContacts needs to be sent to 3 external systems. 3. Expose custom business logic to 5 external applications in a highly secure manner. 4. Schedule nightly automated dataflows, recipes and data syncs. Which set of APIs are recommended in order to meet the requirements?
Correct Answer: C
Explanation The set of APIs recommended to meet the requirements are Bulk API, Streaming API, Apex REST API, and Analytics REST API. Bulk API is a RESTful API that allows you to quickly load large amounts of data into Salesforce. Bulk API is suitable for the initial load of millions of records into the new org. Streaming API is a type of streaming event that notifies subscribers of changes to Salesforce records that match a SOQL query. Streaming API is suitable for sending notifications of new and updated Accounts and Contacts to external systems. Apex REST API is an API that allows you to expose custom business logic as RESTful web services that can be accessed by external applications. Apex REST API is suitable for exposing custom business logic in a highly secure manner. Analytics REST API is an API that allows you to access analytics features, such as dashboards, lenses, datasets, and dataflows. Analytics REST API is suitable for scheduling nightly automated dataflows, recipes and data syncs. The other sets of APIs are not suitable for meeting all the requirements. Chatter REST API is an API that allows you to access Chatter feeds and social data such as users, groups, followers, and files. Chatter REST API is not relevant for this scenario. Apex SOAP API is an API that allows you to expose custom business logic as SOAP web services that can be accessed by external applications. Apex SOAP API is less preferable than Apex REST API because it requires more bandwidth and processing time due to the XML format. Tooling API is an API that allows you to build custom development tools or apps for Salesforce applications. Tooling API is not relevant for this scenario.
Integration-Architect Exam Question 37
When user clicks Check Preferences as part of a Lightning flow in Salesforce, preferences from an externally hosted RESTful service are to be checked in real-time. The RESTful service has OpenAPI 2.0 JSON definitions, responding in data types of Boolean and string values. Which integration pattern and mechanism should be selected to meet the conditions?
Correct Answer: C
Explanation The correct answer is C, Request-Reply: Enhanced External Services invokes a REST API. This is because Enhanced External Services allows you to register an external web service that has an OpenAPI 2.0 specification and use it as an invocable action in a Lightning flow. This way, you can check the preferences from the external service in real-time and get the response in Boolean and string values. The other options are not suitable for this scenario because: A, Fire and Forget: Process-driven platform events publishes events on Salesforce Event Bus, is a pattern that is used for asynchronous integration, where the sender does not expect a response from the receiver. This is not suitable for checking preferences in real-time. B, Remote Call-In: Salesforce REST API with REST Composite Resources, is a pattern that is used for integrating external applications with Salesforce by calling the Salesforce REST API. This is not suitable for invoking an external service from a Lightning flow. D, Data Virtualization: Salesforce Connect map data external REST data in external objects, is a pattern that is used for accessing external data without copying or synchronizing it to Salesforce. This is not suitable for checking preferences in real-time or using them in a Lightning flow. References: Enhanced External Services Get Started with External Services Registering external services in salesforce
Integration-Architect Exam Question 38
Northern Trail Outfitters (NTO) has recently implemented middleware for orchestration of services across platforms. The ERP system being used requires transactions be captured near real time at a REST endpoint initiated in Salesforce when creating an order object. Additionally, the Salesforce team has limited development resources and requires a low code solution. Which two options will fulfill the use case requirements? Choose 2 answers
Correct Answer: A,C
Explanation Answer A is valid because the Remote Process Invocation fire and forget pattern allows sending a message from Salesforce to the ERP system without waiting for a response or acknowledgement. This enables near real-time integration and reduces the latency and complexity of the integration. The Flow Builder is a low code tool that can be used to invoke an Apex action that makes the HTTP callout to the REST endpoint on insert of the order object12 Answer C is valid because the Change Data Capture feature allows capturing changes in Salesforce data and publishing them as events to a streaming channel. The middleware can subscribe to the channel and receive the events that contain the order details. The replay Id is a unique identifier for each event that can be used by the middleware to resume from the last processed event in case of failures or interruptions. This ensures reliable and consistent integration between Salesforce and the ERP system3 Answer B is not valid because the Outbound Messaging feature uses SOAP messages to send notifications to external systems based on workflow rules. This requires configuring a SOAP endpoint and a WSDL file for the ERP system, which may not be compatible with the REST endpoint requirement. Moreover, Outbound Messaging does not guarantee delivery or order of messages, which may affect the accuracy and timeliness of the integration. Answer D is not valid because the Platform Event feature allows publishing custom events from Salesforce to external systems or vice versa using a publish/subscribe model. However, this requires creating a platform event object and defining its fields and permissions, which may not be a low code solution. Moreover, using the record type as the platform event name may not be a valid or meaningful option, as record types are used to define different business processes or user interfaces for an object. 1: Remote Process Invocation-Fire and Forget 2: Invoke an Apex Class That Makes a Callout 3: Change Data Capture : Replay Events Using Middleware : Outbound Messaging Implementation Guide : Platform Events Developer Guide
Integration-Architect Exam Question 39
A company that is a leading provider of courses and training delivers courses using third party trainers. The trainer for the company has to be verified from 10 different training accreditation verification agencies before providing training for the company. Each training accreditation agency has its own response time, which could take days to confirm a trainer. The company decided to automate the trainer accreditation verification process by integrating to the agencies' web services. What is the recommended approach to automate this process?
Correct Answer: D
Explanation Answer D is valid because using middleware to handle the call out to the 10 different verification services is a scalable and reliable solution that can handle the complexity and variability of the integration. The middleware can orchestrate the calls to the different web services, consolidate the verification results, and handle any errors or retries. The middleware can then make a call-in to Salesforce and update the verification status to "verified" using an API or a platform event12 Answer A is not valid because using Salesforce external service to make the call out to the 10 different verification services is not a feasible or efficient solution. Salesforce external service is a feature that allows invoking an external service from a flow and mapping its inputs and outputs to flow variables. However, this feature requires configuring an Apex action, a named credential, and an external service definition for each web service, which is not a low code solution. Moreover, this feature does not support checking the verification agencies until the result is verified, as it only invokes the external service once per flow interview3 Answer B is not valid because creating a trigger on the trainer record to make a callout to each verification agency is not a recommended or robust solution. Triggers are Apex code that execute before or after database events, such as insert, update, or delete. However, triggers cannot make callouts directly, as they are part of a database transaction and must complete quickly. To make a callout from a trigger, an asynchronous process such as a future method or a queueable job must be used, which adds complexity and overhead to the integration. Moreover, triggers have limits on the number of callouts and asynchronous calls they can make per transaction, which may affect the scalability and reliability of the integration. Answer C is not valid because making an Apex callout using @future annotation to make the call out to all different agencies is not a suitable or reliable solution. The @future annotation allows marking a method for execution at a later time when system resources become available. However, this annotation has several limitations and drawbacks, such as: Future methods cannot return values, so they cannot update the trainer status to "verified" directly. Future methods have limits on the number of callouts and future calls they can make per execution, which may affect the scalability and reliability of the integration. Future methods run in their own thread and do not share any static variables or state with other methods, which makes it difficult to consolidate the verification results from different agencies. Future methods are not guaranteed to execute at a specific time or order, which may affect the timeliness and accuracy of the integration. 1: Orchestration Pattern 2: Remote Process Invocation-Request and Reply 3: External Services : Apex Developer Guide: Triggers : Apex Developer Guide: Using Future Methods
Integration-Architect Exam Question 40
Which two requirements should the Salesforce Community Cloud support for self-registration and SSO? Choose 2 answers
Correct Answer: B,C
Explanation OpenId Connect Authentication Provider and Registration Handler, and SAML SSO and just-in-time provisioning are two requirements that the Salesforce Community Cloud can support for self-registration and SSO. OpenId Connect is a protocol that allows users to authenticate with an external identity provider and access Salesforce resources. A registration handler is a class that implements the Auth.RegistrationHandler interface and defines the logic for creating or updating a user in Salesforce after authentication. SAML SSO is a protocol that allows users to log in to Salesforce with a single click, using an assertion from an identity provider that confirms the user's identity. Just-in-time provisioning is a feature that allows Salesforce to create or update a user account based on the information in the SAML assertion. References: Certification - Integration Architect - Trailhead, [OpenID Connect Authentication Providers], [SAML Single Sign-On (SSO) Service for Salesforce]