Salesforce Certified Development Lifecycle and Deployment Designer — Question 3
Sales and Service products will be created by two teams that will use second-generation managed package(s). The Sales team will use a specific function of the Service product, but the architect wants to ensure that this team will only use the functions exposed by the Service team. No other team will use these same functions.
What should an architect recommend?
Answer options
- A. Create two managed packages. Create an authentication function in the Service package that will return a token if a Sales user is authorized to call the exposed function. Validate the token in the Service functions.
- B. Create two second generation managed packages with the same namespace and set the methods that should be shared with the @namespaceAccessible annotation.
- C. Create two managed packages with Sales and Service namespaces. Set the methods to be shared with the @salesAccessible annotation.
- D. Create a managed package with both products and create a code review process with an approver from each team.
Correct answer: C
Explanation
The correct answer is C because using separate namespaces for the Sales and Service packages allows for clear access control and only exposes the necessary functions through the @salesAccessible annotation. Option A is incorrect as it complicates the access process with token validation, while B does not provide the necessary separation of access. Option D does not limit access appropriately, which is essential for this scenario.