06_api_design
06_api_design
C4E defines:
● Data types that appear in an API form the API data model
○ By definition part of the interface contract for that API
○ Visible across the application network
○ Specify in RAML definition
● Examples:
○ JSON representation of Policy Holder of a Motor Policy returned by "Motor
Policy Holder Search SAPI"
○ XML representation of Quote returned by "Aggregator Quote Creation EAPI"
to Aggregator
○ JSON representation of a Motor Quote to be created for a given Policy
Holder passed to "Motor Quote PAPI"
● Do not confuse with API implementation-internal models for
domain model, persistence, etc.
All contents © MuleSoft Inc. 14
Enterprise Data Model versus
Bounded Context Data Models
● Partnership
○ Coordination of caller and called in terms of features and timeline
● Customer/Supplier
○ Caller requests features from the called, who may have to consolidate
many callers' feature requests
● Conformist
○ Caller must work with whatever called provides
• Partnership:
– Aggregator Quote Creation -> Motor Quote Creation: same LoB and product
• Customer/Supplier:
– Claims -> Home Claims Search: HCS external, SAPI widely used
• Conformist:
– Aggregator Quote Creation -> Aggregator
1. Which API invocations are cacheable (safe) and which are not?
2. Is caching likely to benefit performance of the former?
3. Where is caching best performed?
4. Implications of caching site for storage mgmt and deployment?
5. Identify cache parameters, i.e., criteria for returning a cached
HTTP response
Summary
Summary