AEM API's
AEM API's bieden abstracties en functionaliteit die specifiek zijn voor gebruikssituaties die in productie zijn.
Bijvoorbeeld, verstrekken AEM PageManageren PaginaAPIs abstracties voor cq:Page
knopen in AEM die Web-pagina's vertegenwoordigen.
Hoewel deze knooppunten beschikbaar zijn via Sling API's als bronnen en JCR API's als knooppunten, bieden AEM API's abstracties voor veelvoorkomende gebruiksgevallen. Het gebruik van de AEM API's zorgt voor een consistent gedrag tussen AEM en het product, en aanpassingen en extensies voor AEM.
com.adobe.* vs com.day.* API's
AEM API's hebben een voorkeur voor andere pakketten, die wordt aangegeven door de volgende Java™-pakketten, in volgorde van voorkeur:
com.adobe.cq
com.adobe.granite
com.day.cq
Het com.adobe.cq
-pakket ondersteunt productgebruikscenario's, terwijl com.adobe.granite
gebruiksscenario's voor verschillende productplatforms ondersteunt, zoals workflows of taken (die voor alle producten worden gebruikt: AEM Assets, Sites, enzovoort).
Het com.day.cq
-pakket bevat 'originele' API's. Deze API's bieden oplossingen voor basisabstracties en -functies die bestonden vóór en/of rondom de overname van Day CQ door Adobe. Deze API's worden ondersteund en moeten worden vermeden, tenzij com.adobe.cq
- of com.adobe.granite
-pakketten GEEN (nieuwer) alternatief bieden.
Nieuwe abstracties zoals Content Fragments en Experience Fragments worden in de com.adobe.cq
-ruimte opgebouwd in plaats van com.day.cq
hieronder.
Query-API's
AEM ondersteunt meerdere querytalen. De drie belangrijkste talen zijn JCR-SQL2, XPath, en de Bouwer van de Vraag van AEM.
De belangrijkste zorg is het handhaven van een verenigbare vraagtaal over de codebasis, om ingewikkeldheid en kosten te verminderen om te begrijpen.
Alle vraagtalen hebben in feite de zelfde prestatiesprofielen, aangezien Apache Oak hen aan JCR-SQL2 voor definitieve vraaguitvoering overstapt, en de omzettingstijd aan JCR-SQL2 verwaarloosbaar in vergelijking met de vraagtijd zelf is.
De aangewezen API is de Bouwer van de Vraag van AEM, die de hoogste niveauabstractie is en robuuste API voor het construeren, het uitvoeren van, en het terugwinnen van resultaten voor vragen verstrekt, en het volgende verstrekt:
-
Eenvoudige, parameterized vraagbouw (vraagparams die als Kaart worden gemodelleerd)
-
Eigen Java™ API en HTTP APIs
-
AEM voorspeltondersteunend gemeenschappelijke vraagvereisten
-
Uitbreidbare API, die voor de ontwikkeling van douane vraagpredikatentoestaat
-
JCR-SQL2 en XPath kunnen direct via Sling worden uitgevoerden JCR APIs, terugkerend resultaten a Sling Middelenof Knooppunten JCR, respectievelijk.