Éppen a Buena Vistából jövök, ahol egy kellemes Google App Engine előadást hallgattam meg a Kelly IT resources rendezésében Piros Andrástól. Ebben a témában mindig lehet új dolgokat tanulni. Csak néhány:
- Az előadó megerősített a hitemben, hogy a JSF orbitális mellélövés Appengine-en belül és kívül. Appengine-en belül főleg azért, mert csak kliensoldali státusz eltárolás a támogatott, ami azt eredményezi, hogy irtózatos mennyiségű szerializáció és deszerializáció történik egy HTTP kérés kiszolgálása közben csupán azért, hogy a HTML-be bekerülhessen a GUI szerveroldali objektumfa reprezentációja BASE64 formában. A szerveroldalon jelentkező több(száz) megabájtos memóriaigényű session-ökről is esett szó. Ezek szerint nem csak én találkoztam már a problémával.
- Valaki sikeresen futtatja a Liferay-t Appengine-en, pedig abban elvileg RichFaces JSF implementáció van. Implementáció és verzió függő, hogy mi megy el Appengine-en.
- A GWT támogatottsága nagyon jó Appengine-en belül. Ez talán nem véletlen.
- A JDO egész gyorsan működik. (Az én kétcentesem az volt, hogy a JPA viszont lassú és senki ne használja.)
- Datastore műveletekre is vannak callback-ek, ez nekem új volt. Kérdés, hogy ha admin konzolból módosítok perzisztens adatokat, akkor is meghívódnak-e ezek a callback-ek. Hasznos lenne.
- Szóba került, hogy nem lehet szálakat, JNDI-t és EJB-t használni. Én ezt úgy pontosítanám, hogy nem kell.
- Spring OK, de lehetőleg AOP nélkül.
- JBoss SEAM: Inkább ne.
- A cache-elésről elég sok szó esett. A pricing modell miatt központi szerepe van ennek a funkciónak, mivel ez ingyen van és ki lehet vele váltani fizetős szolgáltatásokat. Elvileg minél több dolgot cache-ből kellene kiszolgálni. Amit nem tudtam, hogy a cache-re is van aszinkron API és nemrég jelent meg az admin konzolon egy egészen használható memcache menüpont, amiben például kutakodni tudunk a cache-ben, vagy üríteni a tartalmát.
- A HTTP kérések kiszolgálása szerlvetekben alapból szerializáltan, egymás után történik. Explicite kérni kell a konkurrens kiszolgálást, azaz meg kell adni valamit a konfigban. A szerializált kiszolgálás olcsóbb, de hosszabb a válaszidő. A konkurrens kiszolgálás drágább, mert ki kell fizetni az új példányok indulási és leállási overhead-jét. Erre figyeljetek.
Kicsivel több mint tizen voltunk, de sokkal többen nem is fértünk volna be a terembe. (Bár ha jól emlékszem van nagyobb terem is ott.) Nem tudom honnan volt meg Kelly-éknek az emailcímem, mindenesetre szerencse hogy megvolt nekik, és hogy nem jelölte be a levelezőm spam-nek a meghívót. Köszönet a szervezésért!
Update 2012.05.06: Itt van a hivatalos beszámoló a Kelly IT resources-nél, és némi képanyag.