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.

2011. augusztus 9., kedd

"Bevezetés a Java EE fejlesztésbe" ingyenes tanfolyam

A képzést az EPAM Systems debreceni irodája biztosítja térítésmentesen, bárki számára (max. 25 fő).

A képzés tematikája:
- Alapvető eszközök ismertetése
- JDBC alapú adatbáziselérés
- XML feldolgozás
- Spring alapismeretek
- Servletek, JSPk, Taglibek használata/fejlesztése
- Spring MVC
- JPA alapú adatbáziselérés
- Web Servicek
- EJB
- JMS
- AOP

Előzetes követelmények:
- Kommunikációs szintű angol nyelvtudás
- Szoftverfejlesztési alapfogalmak ismerete
- Java SE alapos ismerete
- Előzetes írásbeli szintfelmérő teljesítése

Előnyök:
- Szoftvertesztelői tapasztalat
- Java fejlesztői tapasztalat

A képzés helye: Debrecen, Bethlen utca 3-9, 154-es terem

Az előzetes szintfelmérő ideje: A 2011.09.12-ei hét bármely munkanapján 18:00-tól 18:45-ig a képzés helyén.

A képzés ideje: 2011.09.20-tól 12 héten át, minden kedden és csütörtökön 18:00-tól 19:30-ig

Figyelem! A tanfolyam csak bevezető jellegű, nem fedi le a teljes témakört, de a kiemelkedően aktív résztvevők sikeresen pályázhatnak a cég későbbi belső képzésére.

Jelentkezés: az epam.debrecen kukac gmail.com email címen.

Későbbi részletek, változás értesítők: http://epam-debrecen.blogspot.com/

Java fejlesztőket keresünk

Követelmények:
- Java SE 5/6 alapos ismerete
- Design Pattern-ek ismerete
- Kommunikációs szintű angol nyelvtudás

Előny:
- Java EE fejlesztési tapasztalat (JSP, Servlet, JPA, stb.)

Amit kínálunk:
- Versenyképes jövedelem
- Nemzetközi projektekben való részvétel
- Barátságos munkahely Debrecenben
- Folyamatos képzések

Jelentkezés:
epam.debrecen kukac gmail.com

Frissítve: 2012.05.10

Funkcionális tesztelőket keresünk

Követelmények:
- Követelmények elemzése
- Teszt esetek készítése és végrehajtása
- Programozási hibák dokumentálása, nyomonkövetése
- A fejlesztői csapatokkal való szoros együttműködés
- A minőségi követelmények folyamatos figyelemmel kísérése és érvényesítése
- Angol nyelv min. kommunikáció szintű ismerete
- Minimum fél év szakmai tapasztalat

Előny:
- Teszt automatizálási tapasztalat
- Alapfokú programozási ismeret (pl. Java, C#, Ruby)

Amit kínálunk:
- Versenyképes jövedelem
- Nemzetközi projektekben való részvétel
- Barátságos munkahely Debrecenben
- Folyamatos képzések

Jelentkezés:
epam.debrecen kukac gmail.com

Frissítve: 2011.10.20

Pair Programming Practices Training

Fodor Bertalan budapesti kollégánk a "Pair Programming Practices" címmel tartott tréninget: