Expand my Community achievements bar.

SOLVED

Answer needed from an AEM architect or SME on nature of java code need for AEM to function

Avatar

Level 2

I am looking for bringing in AEM SAAS to our shop, migrating from another CMS. We are thinking of delivering a content driven but browser based MVC bases app suing react or angular with javascript doing most of the data call invocation and validation from browser itself.. I read ib some thread that I will still need to be a lot java customization that will be needed on the platform. I am a bit confused,  I wanted to know what will be the typical nature of java code that will be need to support our ecomm in AEM . Any and all help is appreciated 

 

Is there any article of link you can share ?

Thanks

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

You will be using AEM in headless pattern in your application. It is a SPA which will own the rendering of components on the page. AEM will provide the content to the app in JSON format. 

Few things you should consider- 

1. What kind of authoring experience you would like ? Do you want authors should be able to edit the experience of the app within the app context? Then you should go with AEM SPA editor integration which will allow the authors to edit the content in context. The front end team of your project should be able to use SPA editor libraries in their React or Angular components. See- https://experienceleague.adobe.com/docs/experience-manager-65/developing/headless/spas/spa-overview.... 

2. In headless approach the content from AEM is exported in JSON format. Every component or fragment you create for authors will require a JSON export. The Java code here will be required to export component properties in JSON. This code is not that complex and the plumbing code of generating the JSON output is already made available within Sling framework,  See - https://experienceleague.adobe.com/docs/experience-manager-65/developing/components/json-exporter.ht... 

3. If you are planning to use AEM as a cloud service then new GraphQL API of exporting content is available within AEMaaCS. This will simplify the consumption of content from AEM as the app itself can specify what data it needs from AEM. See -  https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-with-aem-headless/g... 

View solution in original post

2 Replies

Avatar

Correct answer by
Employee Advisor

You will be using AEM in headless pattern in your application. It is a SPA which will own the rendering of components on the page. AEM will provide the content to the app in JSON format. 

Few things you should consider- 

1. What kind of authoring experience you would like ? Do you want authors should be able to edit the experience of the app within the app context? Then you should go with AEM SPA editor integration which will allow the authors to edit the content in context. The front end team of your project should be able to use SPA editor libraries in their React or Angular components. See- https://experienceleague.adobe.com/docs/experience-manager-65/developing/headless/spas/spa-overview.... 

2. In headless approach the content from AEM is exported in JSON format. Every component or fragment you create for authors will require a JSON export. The Java code here will be required to export component properties in JSON. This code is not that complex and the plumbing code of generating the JSON output is already made available within Sling framework,  See - https://experienceleague.adobe.com/docs/experience-manager-65/developing/components/json-exporter.ht... 

3. If you are planning to use AEM as a cloud service then new GraphQL API of exporting content is available within AEMaaCS. This will simplify the consumption of content from AEM as the app itself can specify what data it needs from AEM. See -  https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-with-aem-headless/g... 

Avatar

Level 2
This is very helpful man .. thanks and appreciate;