AEM是Adobe公司所出的商业内容管理系统AEM是Adobe公司所出的商业内容管理系统,全称阿⾖⽐体验管理系统(Adobe Experience Manager),其前⾝叫CQ,分别有CQ5CQ6两个⼤版本。它提供了整套的⽹站内容管理系统解决
⽅案,是⼀个企业级的重型系统。当然,这套系统在中国⼏乎没什么⼈知晓。但在澳洲,这系
统⼏乎在所有⾦融⾏业遍地开花了。
基于客户的发展战略,不可避免地开始了AEM的扒坑之旅。不过,此前⼀直在扒Drupal的坑,再
扒⼀堆坑也⽆关紧要了。
AEM 技术栈
Apache Sling
Apache Sling是⼀个以内容为中⼼的⽹络框架。其使⽤Java的内容仓库去存储与管理内容,⽐
如Apache Jackrabbit和CRX。
基于REST原则,以内容为导向进⾏开发
咖喱米饭
与CQ5(或者说AEM5, 6)天然集成
⽤于处理HTTP的渲染与数据存储的请求。这是⼀种新的⽅式,它将在后台将内容组
装,渲染最终将其呈现给⽤户
能将内容对象与处理数据的组成映射起来
⽀持服务端与AJAX请求
⽀持多种脚本语⾔(⽐如,JSP, ESP, Ruby等)
注incubator.apache/projects/sling.html查看更多关于Sling的信息
OSGi (Apache Felix)
CQ5 内建了基于OSGI R4 服务平台(OSGi Service Platform Relea 4) 的应⽤程序框架。
是⼀个针对JAVA的动态模块系统
发展⾃通⽤中间键。很多第三⽅的组件可以以bundle的形式进⾏复⽤
小小少年教案
OSGI的bundle可以包含经编译后的JAVA代码,脚本,或者内容。这些均可根据需
要将其加载到相应的仓库,或者对其进⾏配置等等。
获得软件
所有需要的,只是⼀个可独⽴执⾏的jar包。由于是商业软件,Licen是必须的。我们将其放到
⼀个⽂件夹下,暂且命名为aem-install吧。
关于⽬录下的crx-quickstart是当你启动后,⾃动⽣成的。⾥⾯包含了,你开发所需要的所有,包
含所有的内容,以及配置等等。
准备
蚂蚁的趣闻AEM 是⼀个基于JAVA跨平台的系统,所以OS X, 桌⾯版 Windows, Linux肯定都可以⽀持啦。
唯⼀需要注意的是,AEM运⾏在JAVA 7上。所以如果你是⽤的JAVA 8,但却装有JAVA 7的话,只
需要切换⼀下JAVA_HOME。将这条命令放在你的.bashrc或者.zshrc source⼀下就搞定啦。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
最好的情人启动
好的,⼀准备⼯作就绪,那么我们就开始我们的正式启动。⽐如有趣的是,Adobe提供了两种
⽅法供我们使⽤。
1. 控制台
不⽤说,作为⼀个职业代码⼈,我们还是⽐较喜欢这样的⽅式的。
java -Xmx1024M -jar cq-author-p4502.jar -p 4502 -r author
其中,以下两个参数是可省的,因为默认的参数就是端⼝ 4502,模式 author。当然,如果你的电脑⾜够强⼤,-Xmx1024M 也是可以省的。
甲亢的危害
-p指的是⼯作端⼝
-r指的是启动模式。常见的模式有author与publish两种。当然还有其他的,⽤得不多就
此略过罢
2. GUI 双击
当然,有时为了⽅便,也可以直接双击cq-author-p4502.jar启动。只是有⼏个需要注意
的地⽅。
默认的情况,是以author模式,启动在localhost:4502。但我们可以在启动以前,通过修改jar包的名字,达到不同模式不同端⼝的效果。
cq-<instance-type>-p<port-number>.jar
⽐如,修改成
其他用英语怎么说cq-author-p4502.jar
启动,这就达到了以author模式启动,端⼝设置在4502的效果。
同理,修改成
cq-publish-p4503.jar
启动,就将以publish的模式启动,端⼝是4503。
理想的情况是,你需要同时启动两个instance,只需要把jar包和licen⽂件放在相应⽬录下就可以了。如:
<aem-install>/author
和
<aem-install>/publish
就绪视敏度
当AEM启动后,会⾃动打开浏览器定位到相应的页⾯。⽐如,我的是localhost:4502。
洛阳行
以admin:admin登陆就可以开始正式的开发之路了。
⼩结
那么就此开始,我们已经扒完了AEM的第⼀坑了,AEM的填坑之路就正式开始了。接下来⼏篇,我将着重在开发之上,讲解⼀下AEM的整个开发流程。