BlackFriday 2024! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Salesforce Exam MuleSoft Platform Architect I Topic 2 Question 16 Discussion

Actual exam question for Salesforce's MuleSoft Platform Architect I exam
Question #: 16
Topic #: 2
[All MuleSoft Platform Architect I Questions]

Say, there is a legacy CRM system called CRM-Z which is offering below functions:

1. Customer creation

2. Amend details of an existing customer

3. Retrieve details of a customer

4. Suspend a customer

Show Suggested Answer Hide Answer
Suggested Answer: B



Correct Answer : Implement different system APIs named createCustomer, amendCustomer, retrieveCustomer and suspendCustomer as they are modular and has seperation of concerns

*****************************************

>> It is quite normal to have a single API and different Verb + Resource combinations. However, this fits well for an Experience API or a Process API but not a best architecture style for System APIs. So, option with just one customerManagement API is not the best choice here.

>> The option with APIs in createCustomerInCRMZ format is next close choice w.r.t modularization and less maintenance but the naming of APIs is directly coupled with the legacy system. A better foreseen approach would be to name your APIs by abstracting the backend system names as it allows seamless replacement/migration of any backend system anytime. So, this is not the correct choice too.

>> createCustomer, amendCustomer, retrieveCustomer and suspendCustomer is the right approach and is the best fit compared to other options as they are both modular and same time got the names decoupled from backend system and it has covered all requirements a System API needs.


Contribute your Thoughts:

Lilli
22 days ago
I'm with the others on this one. Option C is the clear winner. Though I do wonder if the CRM-Z developers are still using floppy disks and punch cards...
upvoted 0 times
...
Edwin
23 days ago
Option B looks good too, but I think C is the stronger choice. Who wants to deal with a generic 'customerManagement' API when you can have specific, descriptive ones?
upvoted 0 times
...
Raymon
24 days ago
I agree with My. Option C is the most modular and maintainable approach. Separating the concerns like that is a best practice.
upvoted 0 times
...
My
26 days ago
Option C is the way to go! Keeping the API names specific to the CRM-Z system makes it clear which operations are being performed on that legacy system.
upvoted 0 times
Nydia
4 days ago
User 2: I agree, having specific API names for CRM-Z system operations is clear.
upvoted 0 times
...
Eloisa
8 days ago
I think option C is the best choice.
upvoted 0 times
...
...
Hannah
2 months ago
I see your point, Chana. But I still think having separate APIs for each function can lead to better scalability and maintainability in the long run.
upvoted 0 times
...
Chana
2 months ago
I disagree, I believe option B is better because it follows the principle of separation of concerns and makes the system more modular.
upvoted 0 times
...
Hannah
2 months ago
I think option A is the best choice because having all functionalities in one API makes it easier to manage.
upvoted 0 times
...

Save Cancel