1、基础概念

发布于:2026-07-08 Adobe AEM 0条评论

——————————目录大纲——————————

————————————————————————

一、名词解释

AEM:AEM是Adobe公司所出的商业内容管理系统,全称Adobe体验管理系统(Adobe Experience Manager),其前身叫CQ,分别有CQ5 CQ6两个大版本。它提供了整套的网站内容管理系统解决方案,是一个企业级的重型系统。

RDBMS(Relational Database Management System):关系数据库管理系统

JCR(Java Content Repository): Java内容存储库,是一个内容仓库规范,定义了如何以结构化和分层的方式存储内容数据,适用于内容管理系统(CMS)和文档管理系统等

CRXDE(Content Repository eXtreme Development Environment):是 AEM 自带的一个Web-based JCR 浏览与编辑工具,AEM 的 JCR 编辑器 + 文件管理器 + 简易开发环境,是开发调试 AEM 项目的神器,AEM所有的东西,从资源到数据,页面,这些东西都是用JCR存的。(该界面Prod没有,只存在QA、DEV、Local环境中)

HTLHTML 模板语言,HTL 表达式通过 ${ 和 } 字符进行分隔

SSI(Server Side Include):服务器端网页模板引用机制,通常在服务端侧完成请求调用后,允许你在 HTML 页面中插入动态内容

ESI(Edge Side Include):是一种网页内容组装技术,主要用于缓存系统(如CDN、反向代理服务器)中,以提高网页加载效率和可维护性,它允许你将一个网页拆成多个小部分,在边缘(Edge)服务器上动态地拼接它们,而不是由源服务器来完成整个页面渲染

SDI(Sling Dynamic Include):AEM中用来解析SSI和ESI的框架,是 AEM(Adobe Experience Manager) 特有的一种服务端动态内容拼接机制,基于Apache Sling

>>>>>>>>>更多详细内容请参考:AEM名词说明大全 <<<<<<<<<<<<


二、技术栈

2.1 AEM 结构

根据下图,从下而上一次进行分析

2.1.1 OSGi (Apache Felix)

在 AEM 体系结构堆栈中,最重要组件之一是 - OSGi Java 容器,该容器用于模块式开发,以模型、组件和服务的形式提供各种功能;

OSGi 是 AEM - 技术堆栈中的基本元素,OSGi技术是一组规范,它定义了Java的动态组件系统,这些规范实现了一种开发模型,其中应用程序由多个组件打包而成,这些组件可以在本地或通过服务跨网络进行交流,OSGi技术成功的关键原因是提供了非常成熟的组件系统,其系统适用于大量的环境,实际上OSGi组件系统用于构建如Eclipse ID - 高度复杂的应用程序和应用服务器,如GlassFish、IBM WebSphere、JBoss,它还用于创建应用程序框架和工业自动化等,OSGi 是 AEM - 中重要的技术栈之一,它支持捆绑包的模块化部署,它是 AEM 堆栈中的基本层,用于控制 AEM 的组合捆绑包以及配置应用程序以更小的、可重复使用的、可协助的组件构建而成。

CQ5 内建了基于OSGI R4 服务平台(OSGi Service Platform Release 4) 的应用程序框架。

  • 是一个针对JAVA的动态模块系统
  • 发展自通用中间键。很多第三方的组件可以以bundle的形式进行复用
  • OSGI的bundle可以包含经编译后的JAVA代码,脚本,或者内容。这些均可根据需要将其加载到相应的仓库,或者对其进行配置等等。

2.1.2 JCR 存储层

JCR 储存库,即存储层,Author编写或编辑的内容都会整理在此存储库中,JCR 存储库采用分层结构;

JCR 为我们提供了 Java 和 JavaScript 的 API,提供了稳定的API,该存储库提供结合了文件系统和DB管理系统的优势,具有事务、查询、结构化、二进制、权限、版本控制、全文检索等功能

JCR是一个包含项目的树形结构,共有两个项目,一个是node节点,提供了结构,第二个是属性,用于存储数据。

综上所述,JCR 是一个层次结构,数据以节点和属性的形式存储其中,此 JCR 包含 RDBMS 和文件系统的功能

2.1.3 Apache Sling 框架

JCR存储层的上面,是 Web 应用程序框架 - Apache Sling,这是一个基于 REST - 的 Web 应用程序框架,它有助于使用和展示JCR 存储库中的内容并与OSGi Java - 容器交互使用;

Apache Sling 是一个以内容为中心的网络框架。其使用Java的内容仓库去存储与管理内容,比如Apache Jackrabbit 和 CRX

  • 基于REST原则,以内容为导向进行开发
  • CQ5(或者说AEM5, 6)天然集成
  • 用于处理HTTP的渲染与数据存储的请求。这是一种新的方式,它将在后台将内容组装,渲染最终将其呈现给用户
  • 能将内容对象与处理数据的组成映射起来
  • 支持服务端与AJAX请求
  • 支持多种脚本语言(比如,JSP, ESP, Ruby等)
  •  http://incubator.apache.org/projects/sling.html 查看更多关于Sling的信息

Apache Sling URL解析过程:

2.1.4  AEM应用层

最后一层是 AEM - 应用程序层,adobe优化了各种功能,如网站、表单和资产:

Adobe Experience Manager Platform是用技术堆栈创建而成的,它具有一些传统模块,如用户界面、用于安全的模块、日志记录框架的模块、拓扑管理和业务流程管理,通过标准化接口,以便功能与所有服务交互使用。

AEM Platform - 包括各种开源元素,如 OSGi - Application Runtime Web 应用程序框架—— Apache Sling。该 Platform - 还包括一些专有组件,如可提供用户界面的 - Granite和 Coral UI 框架,它还提供了一个工作流引擎有助于创建工作流程,以便于管理项目中的多个步骤或业务流程,另外一个专有组件是翻译或本地化或国际化增强功能,另一个专有组件是资产 - 和资产元数据支持,其广泛应用于 AEM 中,还有一个专有组件提供经验丰富的云支持、流程卸载、SAML、oAuth - 和其他各种安全性增强功能

2.2 不同Instance的区别

Author:AEM层,用于创建、上传和编辑内容以及管理网站。一旦内容准备就绪,就会将其发布到发布层。

Publish:向公众提供已发布内容的AEM层。

Auther层:

Publish层:

三、系统概况

整体访问流程:

Aem chained caching

缓存存取逻辑:

3.1 环境

环境描述Author地址Author实例数量Publish地址Publish实例数量Preview地址Flash域名
Prod生产环境https://author-p44761-e210970.adobeaemcloud.com/
https://publish-p44761-e210970.adobeaemcloud.com/
https://preview-p44761-e210970.adobeaemcloud.com/www.lenovo.com
Stage预生产环境https://author-p44761-e210971.adobeaemcloud.com/2https://publish-p44761-e210971.adobeaemcloud.com/3https://preview-p44761-e210971.adobeaemcloud.com/

pre-www.lenovo.com

preap-www.lenovo.com(AP)

QA测试环境https://author-p44761-e196278.adobeaemcloud.com/2https://publish-p44761-e196278.adobeaemcloud.com/2https://preview-p44761-e196278.adobeaemcloud.com/

uat-www.lenovo.com

uatap-www.lenovo.com(AP)

DEV开发环境https://author-p44761-e196277.adobeaemcloud.com/2https://publish-p44761-e196277.adobeaemcloud.com/2https://preview-p44761-e196277.adobeaemcloud.com/

www.gl.lenovouat.com

sit-www.lenovo.com(Flash 2.0)

3.2 环境参数

详见:Prod环境Configuration说明

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理