March 21, 2020
Estimated Post Reading Time ~

Steps to Integrate DOJO developed website with AEM

Integrate DOJO developed website with AEM
This is basically a migration of one technology to AEM. There are cases when clients want to replace the backend technology only. AEM can be integrated with any Javascript libraries. Here we are showcasing how feasible it is to integrate DOJO developed site in AEM. Adobe Experience Manager implementation requires a technical team that understands the unique development challenges a custom CMS poses.

Feasibility?
The dojo is a front end development technique Toolkit by the Dojo Foundation featuring DHTML and AJAX functions. Dojo works well with all of the front end techniques like HTML5, Query, etc. to use with any backend system/applications. Dojo development requires skilled developers who are good at DOJO and dtl language.


Dojo can be integrated with AEM through an interaction Layer. AEM exposes many of the methods to integrate with any third-party applications. This enables applications to work seamlessly when integrated. A JSON layer is used to integrate AEM with a DOJO in this case.

Can we migrate a project which runs on DOJO to AEM?
The answer is yes. We can create a package of DOJO front end files (Including .html) to upload into AEM. This can be created either using a package manager or through a maven build. Once this package is ready, it can be directly uploaded into to AEM Package manager and install. This package may have different page setup and locations compared to a normal AEM Project.

Any Drawbacks?
Yes, the template, page concept is not involved in this and we are just reusing the existing normal front end html files with DOJO. We can have an authoring environment for authoring the components but the preview is not available since we will have to develop a new page in addition to the DOJO Migrated page. Also, there may be some Javascript path remapping issues, which we may have to fix once deployed.

How do the DOJO normal files talk to AEM Backend?
We can have a JSON layer which talks between the DOJO and AEM. The authoring environment can invoke the OSGi layer to create custom JSON files that DOJO is expecting.

Integration Details
AEM is used as a backend service. OSGi (Open Service Gateway Initiative) is the Java framework that runs on AEM and generates the JSON Layer. The generated JSON layer is used to interact with the DOJO application.

Authoring, JSON Generation.
The data is authored by an author and this gets saved in AEM. A user-friendly authoring environment allows users to drag and drop the component and immediately start authoring.

JSON Generation:
Once the component is saved, OSGI runs in AEM helps to generate a JSON. A Java service used to generate OSGI Bundles needs to be created to generate JSON from the authored component. Any format of JSON can be generated as per the DOJO requirement here. Dojo needs to configure the above data path of JSON while interacting and generating a page component.

DOJO Layer
We need to move all DOJO Libraries to AEM. Dojo related components and templates to be moved to the respective folder of AEM.
Once all settings are done, while reloading the page, UI will be loaded with the respective component by its templates from the DOJO but content from AEM.

AEM Project Maintenance with respect to DOJO

New versions of AEM are available so often. Upgrades can be done without many challenges since the front end is separated from the backend.

Some of the issues we faced during migration
Cannot use the AEM image rendering concept, since DOJO uses own images and paths.
File name conflicts. Space is there in DOJO

AEM Caching is not used
Deployments are complex
Previews are not possible
Site management becomes complex


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.