AEM API

AEM API는 제품화된 사용 사례와 관련된 추상화 및 기능을 제공합니다.

예를 들어 AEM의 PageManagerPage API는 웹 페이지를 나타내는 AEM의 cq:Page 노드에 대한 추상을 제공합니다.

Sling API를 리소스로 사용하고 JCR API를 노드로 사용하여 이러한 노드를 사용할 수 있지만, AEM의 API는 일반적인 사용 사례에 대한 추상화를 제공합니다. AEM API를 사용하면 AEM 제품과 AEM에 대한 사용자 지정 및 확장 간의 일관된 동작이 보장됩니다.

com.adobe.*과(와) com.day 비교.*개 API

AEM API에는 기본 설정 순서로 다음 Java™ 패키지로 식별되는 패키지 내 기본 설정이 있습니다.

  1. com.adobe.cq
  2. com.adobe.granite
  3. com.day.cq

com.adobe.cq 패키지는 제품 사용 사례를 지원하는 반면 com.adobe.granite은(는) 워크플로 또는 작업(AEM Assets, Sites 등 제품에서 사용됨)과 같은 제품 간 플랫폼 사용 사례를 지원합니다.

com.day.cq 패키지에 "원본" API가 포함되어 있습니다. 이러한 API는 Adobe의 Day CQ 획득 이전 및/또는 그 주변에서 존재했던 핵심 추상화 및 기능을 다룹니다. com.adobe.cq 또는 com.adobe.granite 패키지가 (최신) 대체 요소를 제공하지 않는 한 이러한 API는 지원되며 사용하지 않아야 합니다.

Content Fragments 및 Experience Fragments과(와) 같은 새 추상이 아래 설명된 com.day.cq이(가) 아닌 com.adobe.cq 공간에 작성되었습니다.

쿼리 API

AEM은 여러 쿼리 언어를 지원합니다. 세 가지 주요 언어는 JCR-SQL2, XPath 및 AEM 쿼리 빌더입니다.

가장 중요한 문제는 코드 베이스 전반에 걸쳐 일관된 쿼리 언어를 유지함으로써 복잡성과 이해 비용을 줄이는 것입니다.

Apache Oak이(가) 최종 쿼리 실행을 위해 JCR-SQL2에 트랜스-더미하므로 모든 쿼리 언어에는 효과적으로 동일한 성능 프로필이 있으며 JCR-SQL2로의 전환 시간은 쿼리 시간 자체에 비해 무시할 수 있습니다.

기본 API는 AEM Query Builder로, 최상위 수준의 추상화이며 쿼리에 대한 결과를 구성, 실행 및 검색하기 위한 강력한 API를 제공하며, 다음을 제공합니다.

CAUTION
AEM QueryBuilder API가 ResourceResolver 개체를 누출합니다. 이 누출을 완화하려면 이 코드 샘플을 따르십시오.