AEM是Adobe公司所出的商業(yè)內(nèi)容管理系統(tǒng),全稱(chēng)阿豆比體驗(yàn)管理系統(tǒng)(Adobe Experience Manager),其前身叫CQ,分別有CQ5
CQ6
兩個(gè)大版本。它提供了整套的網(wǎng)站內(nèi)容管理系統(tǒng)解決方案,是一個(gè)企業(yè)級(jí)的重型系統(tǒng)。當(dāng)然,這套系統(tǒng)在中國(guó)幾乎沒(méi)什么人知曉。但在澳洲,這系統(tǒng)幾乎在所有金融行業(yè)遍地開(kāi)花了。
基于客戶(hù)的發(fā)展戰(zhàn)略,不可避免地開(kāi)始了AEM
的扒坑之旅。不過(guò),此前一直在扒Drupal
的坑,再扒一堆坑也無(wú)關(guān)緊要了。
Apache Sling
是一個(gè)以?xún)?nèi)容為中心的網(wǎng)絡(luò)框架。其使用Java的內(nèi)容倉(cāng)庫(kù)去存儲(chǔ)與管理內(nèi)容,比如Apache Jackrabbit
和 CRX
。
- 基于
REST
原則,以?xún)?nèi)容為導(dǎo)向進(jìn)行開(kāi)發(fā)- 與
CQ5
(或者說(shuō)AEM5, 6
)天然集成- 用于處理
HTTP
的渲染與數(shù)據(jù)存儲(chǔ)
的請(qǐng)求。這是一種新的方式,它將在后臺(tái)將內(nèi)容組裝,渲染最終將其呈現(xiàn)給用戶(hù)- 能將內(nèi)容對(duì)象與處理數(shù)據(jù)的組成映射起來(lái)
- 支持服務(wù)端與
AJAX
請(qǐng)求- 支持多種腳本語(yǔ)言(比如,JSP, ESP, Ruby等)
- 注 http://incubator.apache.org/projects/sling.html 查看更多關(guān)于
Sling
的信息
CQ5 內(nèi)建了基于OSGI R4 服務(wù)平臺(tái)
(OSGi Service Platform Release 4) 的應(yīng)用程序框架。
- 是一個(gè)針對(duì)
JAVA
的動(dòng)態(tài)模塊系統(tǒng)- 發(fā)展自通用中間鍵。很多第三方的組件可以以bundle的形式進(jìn)行復(fù)用
- OSGI的bundle可以包含經(jīng)編譯后的JAVA代碼,腳本,或者內(nèi)容。這些均可根據(jù)需要將其加載到相應(yīng)的倉(cāng)庫(kù),或者對(duì)其進(jìn)行配置等等。
所有需要的,只是一個(gè)可獨(dú)立執(zhí)行的jar包。由于是商業(yè)軟件,License是必須的。我們將其放到一個(gè)文件夾下,暫且命名為aem-install
吧。
關(guān)于目錄下的 crx-quickstart
是當(dāng)你啟動(dòng)后,自動(dòng)生成的。里面包含了,你開(kāi)發(fā)所需要的所有,包含所有的內(nèi)容,以及配置等等。
AEM 是一個(gè)基于JAVA
跨平臺(tái)的系統(tǒng),所以OS X
, 桌面版 Windows
, Linux
肯定都可以支持啦。
唯一需要注意的是,AEM運(yùn)行在JAVA 7
上。所以如果你是用的JAVA 8
,但卻裝有JAVA 7
的話,只需要切換一下JAVA_HOME
。將這條命令放在你的 .bashrc
或者.zshrc
source一下就搞定啦。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
好的,一準(zhǔn)備工作就緒,那么我們就開(kāi)始我們的正式啟動(dòng)。比如有趣的是,Adobe提供了兩種方法供我們使用。
1. 控制臺(tái)
不用說(shuō),作為一個(gè)職業(yè)代碼人,我們還是比較喜歡這樣的方式的。
java -Xmx1024M -jar cq-author-p4502.jar -p 4502 -r author
其中,以下兩個(gè)參數(shù)是可省的,因?yàn)槟J(rèn)的參數(shù)就是 端口 4502,模式 author。當(dāng)然,如果你的電腦足夠強(qiáng)大,-Xmx1024M 也是可以省的。
-p
指的是工作端口-r
指的是啟動(dòng)模式。常見(jiàn)的模式有author
與publish
兩種。當(dāng)然還有其他的,用得不多就此略過(guò)罷
2. GUI 雙擊
當(dāng)然,有時(shí)為了方便,也可以直接雙擊
cq-author-p4502.jar
啟動(dòng)。只是有幾個(gè)需要注意的地方。
默認(rèn)的情況,是以author
模式,啟動(dòng)在localhost:4502
。但我們可以在啟動(dòng)以前,通過(guò)修改jar包的名字,達(dá)到不同模式不同端口的效果。
cq-<instance-type>-p<port-number>.jar
比如,修改成
cq-author-p4502.jar
啟動(dòng),這就達(dá)到了以author
模式啟動(dòng),端口設(shè)置在 4502
的效果。
同理,修改成
cq-publish-p4503.jar
啟動(dòng),就將以publish
的模式啟動(dòng),端口是4503
。
理想的情況是,你需要同時(shí)啟動(dòng)兩個(gè)instance
,只需要把jar包和license文件放在相應(yīng)目錄下就可以了。如:
<aem-install>/author和<aem-install>/publish
當(dāng)AEM啟動(dòng)后,會(huì)自動(dòng)打開(kāi)瀏覽器定位到相應(yīng)的頁(yè)面。比如,我的是localhost:4502
。以admin:admin
登陸就可以開(kāi)始正式的開(kāi)發(fā)之路了。
那么就此開(kāi)始,我們已經(jīng)扒完了AEM的第一坑了,AEM的填坑之路就正式開(kāi)始了。接下來(lái)幾篇,我將著重在開(kāi)發(fā)之上,講解一下AEM的整個(gè)開(kāi)發(fā)流程。
聯(lián)系客服