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 방식 |
템플릿 엔진 | JSP | Sightly(HTL) |
스크립트 방식 | 스크립트릿 (Java 코드를 <% %>로 감싸는 방식) 사용 가능 | 스크립트릿 사용 불가 |
EL 문법 | ${} 문법 사용 | ${} 문법 사용 |
템플릿 파일 확장자 | .jsp | .html, .htl |
기능 | 높은 자유도와 유연성 | 가독성이 높고 안정성이 높음 |
보안 | 스크립트릿 사용으로 인해 보안 취약성이 존재할 수 있음 | 스크립트릿 사용 불가로 보안에 더욱 강함 |
유지 보수 | 복잡성과 유지보수가 어려울 수 있음 | 가독성이 높고 유지보수가 용이함 |
성능 | 빠른 처리 속도 | 처리 속도가 JSP에 비해 느릴 수 있음 |
적용 | 전통적인 웹 개발 방식을 사용하는 개발자 | 높은 가독성과 안정성을 요구하는 개발자 및 팀 |
AEM 컴포넌트 위치 및 구조
AEM 컴포넌트 위치 및 구조 | |
경로 | 설명 |
/component/structure/page | AEM 웹 페이지의 기본 템플릿 및 페이지 컴포넌트 포함 |
/component/structure | AEM 웹 페이지의 구조 컴포넌트 포함 |
/component/content | AEM 웹 페이지의 콘텐츠 컴포넌트 포함 |
/component/social | AEM 웹 페이지에서 사용하는 소셜 미디어와 관련된 컴포넌트 포함 |
/component/text | AEM 웹 페이지에서 사용하는 텍스트 및 타이틀과 관련된 컴포넌트 포함 |
/component/media | AEM 웹 페이지에서 사용하는 미디어 및 이미지와 관련된 컴포넌트 포함 |
/component/form | AEM 웹 페이지에서 사용하는 폼과 관련된 컴포넌트 포함 |
/component/security | AEM 웹 페이지에서 사용하는 보안과 관련된 컴포넌트 포함 |
/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
반응형