Hello,
My AEM application depends on data from a 3rd party API which will be used to render HTML on the page. I understand data from 3rd party API is recommended to be stored in AEM, so it can improve performance overall effort
example JSON response from the 3rd party API (2,000 cars):
[
{
"manufacturer":"Porsche",
"model":"911",
"price":135000,
"wiki":"http://en.wikipedia.org/wiki/Porsche_997",
"img":"2004_Porsche_911_Carrera_type_997.jpg"
},
{
"manufacturer":"Nissan",
"model":"GT-R",
"price":80000,
"wiki":"http://en.wikipedia.org/wiki/Nissan_Gt-r",
"img":"250px-Nissan_GT-R.jpg"
},
{
"manufacturer":"BMW",
"model":"M3",
"price":60500,
"wiki":"http://en.wikipedia.org/wiki/Bmw_m3",
"img":"250px-BMW_M3_E92.jpg"
},
{
"manufacturer":"Audi",
"model":"S5",
"price":53000,
"wiki":"http://en.wikipedia.org/wiki/Audi_S5#Audi_S5",
"img":"250px-Audi_S5.jpg"
},
{
"manufacturer":"Audi",
"model":"TT",
"price":40000,
"wiki":"http://en.wikipedia.org/wiki/Audi_TT",
"img":"250px-2007_Audi_TT_Coupe.jpg"
}
...
]
Solved! Go to Solution.
Views
Replies
Total Likes
@karthik4 Can the content be cached? How frequently the other side content changes? Is it secure or public content?
Based on the above responses,
If on webpage and should not be cached, I would prefer this to happen at frontend javascript if the api is doesnt serve confidentiality content.
For other purposes if data is simple, I would prefer to write a sling model and store the data inside jcr under some data-page if that can be reused across other page, and call this model once to inject all data into the page via json or data attributes and javascript do the rest.
If the data is huge, instead of json or data attributes to you may need to put some flags to check and call rest api only once and for subsequent calls refer to jcr nodes. Or other option is to go with scheduler if api content changes are scheduled.
@karthik4 Can the content be cached? How frequently the other side content changes? Is it secure or public content?
Based on the above responses,
If on webpage and should not be cached, I would prefer this to happen at frontend javascript if the api is doesnt serve confidentiality content.
For other purposes if data is simple, I would prefer to write a sling model and store the data inside jcr under some data-page if that can be reused across other page, and call this model once to inject all data into the page via json or data attributes and javascript do the rest.
If the data is huge, instead of json or data attributes to you may need to put some flags to check and call rest api only once and for subsequent calls refer to jcr nodes. Or other option is to go with scheduler if api content changes are scheduled.
Views
Likes
Replies