AEM(Adobe Experience Manager)

AEM 기본 이론 정리 (Component)

흑백논리 2023. 4. 11. 09:37
반응형

AEM 컴포넌트 개발 방식

AEM 컴포넌트 개발 방식
구분모델1 방식모델2 방식
개요JSP가 비즈니스 로직과 뷰를 모두 처리JSP와 서블릿을 구분하여 비즈니스 로직과 뷰를 분리
MVC 패턴모델1, 모델2 모두 사용 가능모델2에 최적화
컴포넌트 재사용성낮음높음
확장성제한적높음
프로그래밍모델스크립트릿 방식EL/JSTL, 태그 라이브러리, 커스텀 태그를 활용한 방식
뷰 처리 방식JSP 파일 안에서 HTML, 자바 코드, 서블릿 API 등을 모두 처리HTML과 뷰 템플릿 파일로 분리하여 처리
디자인 패턴없음프론트 컨트롤러, 커맨드, 인터셉터, 뷰 헬퍼 등 다양한 디자인 패턴 사용
장점간단하고 빠른 개발코드 재사용성, 유지보수성, 확장성
단점코드가 복잡, 유지보수가 어려움개발 비용이 높을 수 있음

AEM 개발 방식 별 비교

AEM 개발 방식 별 비교
구분JSP 방식HTL 방식
템플릿 엔진JSPSightly(HTL)
스크립트 방식스크립트릿 (Java 코드를 <% %>로 감싸는 방식) 사용 가능스크립트릿 사용 불가
EL 문법${} 문법 사용${} 문법 사용
템플릿 파일 확장자.jsp.html, .htl
기능높은 자유도와 유연성가독성이 높고 안정성이 높음
보안스크립트릿 사용으로 인해 보안 취약성이 존재할 수 있음스크립트릿 사용 불가로 보안에 더욱 강함
유지 보수복잡성과 유지보수가 어려울 수 있음가독성이 높고 유지보수가 용이함
성능빠른 처리 속도처리 속도가 JSP에 비해 느릴 수 있음
적용전통적인 웹 개발 방식을 사용하는 개발자높은 가독성과 안정성을 요구하는 개발자 및 팀

AEM 컴포넌트 위치 및 구조

AEM 컴포넌트 위치 및 구조
경로설명
/component/structure/pageAEM 웹 페이지의 기본 템플릿 및 페이지 컴포넌트 포함
/component/structureAEM 웹 페이지의 구조 컴포넌트 포함
/component/contentAEM 웹 페이지의 콘텐츠 컴포넌트 포함
/component/socialAEM 웹 페이지에서 사용하는 소셜 미디어와 관련된 컴포넌트 포함
/component/textAEM 웹 페이지에서 사용하는 텍스트 및 타이틀과 관련된 컴포넌트 포함
/component/mediaAEM 웹 페이지에서 사용하는 미디어 및 이미지와 관련된 컴포넌트 포함
/component/formAEM 웹 페이지에서 사용하는 폼과 관련된 컴포넌트 포함
/component/securityAEM 웹 페이지에서 사용하는 보안과 관련된 컴포넌트 포함
/component/structure/page
├── page
│   ├── page.jsp
│   ├── page.png
│   ├── page_preview.png
│   ├── page_editbar.jsp
│   └── page_editbar.png
├── page-v2
│   ├── page-v2.jsp
│   ├── page-v2.css
│   ├── page-v2.js
│   ├── page-v2-preview.png
│   └── page-v2_editbar.jsp
└── page-v3
    ├── page-v3.jsp
    ├── page-v3.css
    ├── page-v3.js
    ├── page-v3-preview.png
    └── page-v3_editbar.jsp
반응형