2011. szeptember 27., kedd

Adobe Day CQ - Web Content Management - 2. rész

Az 1. rész folytatása:

A Sling a Java Content Repository (JCR) szabványt használja a tartalmak tárolására, és ennek egyik (zárt kódú, proprietary) implementációja a Day CRX2. Egy JCR repository-ban különböző típusú node-ok vannak fa-struktúrában. A node-oknak tetszőlegesen definiált mezői (property) lehetnek. Tulajdonképpen a node-nak a nevén kívül mindene (pl. a típusa is) valamelyik propertyjében van.

A Sling tovább megy pusztán az adatok fában történő tárolása és azok közvetlen URLen, resource-ként való elérésénél: minden a JCR repository-ban van. Maga a kód is.
Vagyis a resource-okat renderelő JSP/ECMA/stb. szkriptek is mint JCR node-ok vannak tárolva a repository-ban. Csak illusztráció képpen, a következő ábrán a Day CQ web alapú fejlesztőkörnyezete látható, illetve annak content panelje.



Már önmagában a Sling-gel is lehet web alkalmazást fejleszteni, de előbb vagy utóbb az ember azon veszi magát észre, hogy saját, újrafelhasználható komponenseket, vagy éppen kis, Slingre épülő mini-framework-öt ír még egy egyszerűbb alkalmazás esetén is. Ezt tették - illetve azért ettől jóval többet - a Day Softwere-nél is, amikor kifejlesztették a CQ5-öt, egy, a Sling-re épülő keretrendszert és eszközkészletet.

Néhány fontosabb dolog, amit a CQ5 hozzátesz a Sling-hez:

● Page. Több új node típust definiál a meglévő JCR/Sling-es node-ok mellé, de ezek közül a legfontosabb a Page. A legtöbb web alkalmazás oldalakból (page) áll, amik között a felhasználó navigál. CQ5-ben a tartalom tárolásának alapeleme a page. Amikor a content author vagy a fejlesztő létrehoz egy oldalt, akkor tulajdonképpen egy node-ot hoz létre a content-fában, melynek típusa cq:Page. Minden, az oldalhoz hozzáadott komponens (pl. form, input mező, saját komponensek) illetve azok tartalma a Page node egy al-nodejaként fog megjelenni.

● Scaffolding. Abban az esetben, ha a content author-nak egy adott oldalból sokat kell létrehoznia különböző tartalommal (pl. termékek, hírek felvitele), a fejlesztő létrehozhat az oldalhoz egy scaffold-ot, ami tulajdonképpen egy form, amit kitöltve létrejön egy új oldal a form-on megadott tartalommal.

Cs.L.

Adobe Day CQ - Web Content Management - 1. rész

A Day CQ-t a Day Software AG fejlesztette ki, amit az Adobe felvásárolt. Az Adobe Day CQ egy webes tartalomkezelő rendszer (CMS), mely egy tartalomkezelő platformból (WCM, Web Content Management) és a rá épülő modulokból (Digital Asset Management, Social Collaboration, Mobile, Targeting) áll.

A webes alkalmazásokat, portálokat általában a fejlesztők kifejlesztik, a webes felhasználók pedig használják. A CMS portáloknál bejön még egy szerepkör: a tartalomkezelő, vagy content author, aki ellátja tartalommal az adott portált. Többek között szöveges vagy multimédiás tartalmakat ad weboldalakhoz, vagy éppen új oldalakat hoz létre, tevékenységeket (workflow-t) rendel bizonyos, a tartalomban bekövetkezett változásokhoz. Mindezt felhasználóbarát módon, GUI-n keresztül teszi.

A fejlesztő lefejleszti a szükséges komponenseket (pl. egy lista komponens termékek megjelenítéséhez), page template-eket (az oldalak struktúrájának, funkciójának megfelelően), workflow lépéseket és mindazt az üzleti logikát, ami ezek működéséhez kell.

A továbbiakban egy rövid ismertetőt olvashatsz a Day CQ-ról a fejlesztő szemszögéből.
Vessünk egy pillantást a “technology stack”-re vagyis a platformot alkotó technológiákra:



A Day CQ lelke egy innovatív, REST-alapú webes framework, az Apache Sling. Ez azt jelenti, hogy a leginkább elterjedt megoldásokkal ellentétben nem közvetlenül hívjuk meg az üzleti logikát futtató komponenseket (pl. servlet-et, JSP-t), hanem erőforrásokra (resource-okra), az üzleti modellt alkotó információ-elemekre hivatkozunk. Más szóval, az URL-ek, amikre a webes kliens hivatkozik, nem “kód”-ra mutatnak, hanem magára az adatra, erőforrásra.

A Sling a hivatkozott erőforrás neve alapján, bizonyos szabályokat követve fogja kiválasztani, hogy melyik, az üzleti logikát implementáló komponens hívódjon meg.
Az erőforrások (adatok) egy hierarchikus adattárban vannak, ami sokkal természetesebb módot ad a valóság (vagyis az üzleti alkalmazások adatainak) modellezésére, mint a relációs modell (az elterjedt CMS-ek általában relációs adatbázist használnak).

Folyt.köv.

2011. szeptember 21., szerda

Java EE tanfolyami hírek

A múlt héten lezajlott a "Bevezetés a Java EE fejlesztésbe" című ingyenes tanfolyam felvételije, mely a jelentkezők Java és angol tudását mérte fel.

A tesztek kiértékelése alapján 19 jelentkezőt választottunk ki, akik részt vehetnek az EPAM Systems debreceni irodája által szervezett tanfolyamon. A tanfolyam során a résztvevők nagyvállalati környezetben használt Java technológiákkal (pl. Spring, EJB, web service-ek) ismerkedhetnek meg, több éves szakmai múlttal rendelkező kollégáink előadásában. A résztvevők önálló feladatok formájában lehetőséget kapnak, hogy a gyakorlatban is kipróbálhassák az előadásokon hallottakat.

A tanfolyam szeptember 22-én, csütörtökön veszi kezdetét.