API's AEM

AEM API's bieden abstracties en functionaliteit die specifiek zijn voor gebruikssituaties die in productie zijn.

Bijvoorbeeld, AEM PageManageren PaginaAPIs verstrekt 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 product en aanpassingen en uitbreidingen die moeten worden AEM.

com.adobe.* vs com.day.* API's

AEM API's hebben een voorkeur voor een pakket, die wordt aangegeven door de volgende Java™-pakketten, in volgorde van voorkeur:

  1. com.adobe.cq
  2. com.adobe.granite
  3. 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 rond 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 AEM de Bouwer van de Vraag.

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 AEM de Bouwer van de Vraag, die de hoogste niveauabstractie is en robuuste API voor het construeren, het uitvoeren, en het terugwinnen van resultaten voor vragen verstrekt, en het volgende verstrekt:

CAUTION
AEM QueryBuilder-API lekt een ResourceResolver-object. Om dit lek te verlichten, volg dit codesteekproef.