Mark Newton vagyok, a JBoss.org fejlesztői csapatának tagja. A következő interjú alanya Gavin King, akivel a Seam Frameworkről, a Web Beans-ről és egy sor más témáról fogunk beszélgetni.
Mark: Először is beszéljünk a Seamről, arról, hogy mit tartogat a jövő, és az új könyvvel kapcsolatos friss információkról. Gavin, március végén azt írtad a blogodban, hogy a Seam letöltések száma csaknem megegyezik a Hibernate letöltésekkel. Minek tulajdonítod ezt a magas befogadási szintet?
Gavin: Szerintem az emberek manapság az alkalmazásfejlesztés problémájára teljes megoldásokat keresnek; belefáradtak abba, hogy tíz különböző keretrendszert kell keresniük a szűk technikai problémák megoldásához, aztán pedig ki kell találniuk, hogy ezeket hogyan építsék egybe és hogyan működtessék együtt. A következő szintre akarnak eljutni, mely az alkalmazás fejlesztésének teljes problémáját megoldja.
Szerintem az első lépéseket ebbe az irányba az olyan szkript nyelv környezetek jelentették, mint például a Ruby, de úgy gondolom sokan nagyon szeretnék ezt a fajta hatékonyságot elérni Javában is. Sok nagyszerű előnye van annak, ha olyan, típusokat tartalmazó nyelvben dolgozunk, amely támogatja a Java által kínált összes csodálatos eszközt. A JVM egy nagyszerű végrehajtási környezet. Egy csodálatos végrehajtási környezet. Emellett a Java EE-ben elérhető vállalati szolgáltatások páratlanok.
Szerintem az emberek az ilyen, előre felépített környezet akarnak használni, mégpedig Javában. Viszonylag kevés olyan projekt van, ami ezt megpróbálja elérni. Persze van néhány projekt, ami ezt akarja elérni, és a Seam nyilvánvalóan ezek egyike.
Mark: Remek. Mostanság sokat hallhatunk arról, hogy a Seamet webes alkalmazásfejlesztésnél használjátok. Tudjátok a Seamet különböző Java alkalmazások esetén is, azaz nem csak a webes alkalmazásoknál használni?
Gavin: Manapság minden a webes alkalmazásokról szól, de hónapok óta jelezzük, hogy ez több annál. A Seam alapjai, a kontextuális komponens modell, az állapotkezelés, az integráció a Drools-szal, jBPM-mel, illetve a programozási modell alapjai a webes alkalmazásokon túl is alkalmazhatók. Jelenleg a JBoss ESB-vel, JBoss WS-sel való integráción dolgozunk.
Hallottunk olyanokról, akik jelenleg a Seamet GWT-vel és Adobe Flexszel integrálják. Már nagyon várjuk, hogy lássuk az eredményét. Valamikor majd mi is a Swing, az Eclipse RCP vagy valami hasonló környezet felé fordulunk.
Mark: Nagyszerű. A Red Hat üzleti modellben történt kettéválással most már Seam keretrendszerről beszélünk, ami a JBoss Enterprise Application Platform szerves része. A Seam hogyan illik ebbe bele? Milyen előnyöket nyújt?
Gavin: Egy dolog, amit tudok, hogy Norman nagyon keményen dolgozott azon, hogy a Seam a JBoss AS legutóbbi verzióján működjön, és bekerüljön az Enterprise Application Platformba annak első megjelenésekor. Ez az első alkalom, hogy a JBoss ennyire letesztelt platformot jelentetett meg. A múltban, ha alkalmazásszerveren akartuk alkalmazni a jBPM-et, a Seamet és a Hibernate-et, akkor külön kellett azokat letölteni, és ez annak a kockázatát teremtette meg, hogy nem biztos, hogy megfelelően működnek együtt.
Az alkalmazási platform fejlesztése során a technológiakészletet olyan minőségbiztosítási ellenőrzésen vezettük át, amire eddig még nem volt példa. A fejlesztési csapat vezetőjeként az a munkám, hogy támogassam a közösségi megjelenéseket, a legújabb jellemzők megjelenését egy olyan felhasználói bázis számára, akik a legújabbat és a legjobbat keresik.
Az elmúlt napokban sokan megkerestek minket, és beszéltek az élesüzemű alkalmazásaikról, melyeket egy fél vagy egy éve használnak. Ezeknek az embereknek minőségbiztosított környezetre van szükségük az alkalmazás során, és az alkalmazási platform valóban ezt nyújtja. Ez egy bizonyos mértékig felszabadított minket olyan problémák alól, mint a visszafelé kompatibilitás az alkalmazásszerverek különböző korábbi verziói, és a Hibernate korábbi verziói esetén. Most már tudjuk, hogy a termékesítési csapat mindenről gondoskodik.
Mark: Persze, tehát akkor több integrációs pont is van, melyekkel nem lesz probléma. Megjelent Michael Yuan JBoss Seam könyve, és ha jól tudom, különböző okokból gyorsan el is fogyott a JavaOne konferencián.
Gavin: Igen, Michael Yuan Seam könyve volt az a könyv, amiből a legtöbbet tulajdonítottak el a JavaOne konferencián. Legalább 8 lopott példányról tudunk, és a könyvesboltban is eladták az összeset.
Mark: Ez pedig jó hír.
Gavin: Ez egy fantasztikus hír. A 10 legkeresettebb könyv között volt. Nagyon érdekes ezt látni, és gratulálok Michaelnek, nagyon örülünk neki. Megjelent egy másik könyv az A!Pressnél is, és beszéltem néhány emberrel, akik a Manning kiadónak írnak könyveket, illetve tudok egy másik kiadóról is. Rengeteg könyv jelenik meg, ami nagyszerű. Ez azt jelenti, hogy ha megkérdezik tőlem, hogy hogyan kezdjék a Seam használatát, akkor rámutathatok egy könyvre.
Mark: Nagyszerű. Nagyon szeretem a könyveket, sokat lehet belőlük tanulni. Jelenleg a Web Beans JSR specifikációjában is nagymértékben részt veszel. Mit tudsz erről mondani?
Gavin: Kellett néhány hónap ahhoz, hogy elinduljunk a specifikációval, de most már jól haladunk. Volt jónéhány konferencia beszélgetés, illetve résztvétel a Sun, Google és Oracle részéről, különösen néhány egyéni hozzájárulótól, olyanoktól, mint Jacob Hookon és Richard Kennard.
A legérdekesebb, ami történt, hogy Bob Lee és én rengeteg közös vonást fedeztünk fel. Én sok időt töltöttem a Guice tanulmányozásával, Bob pedig a Seam tanulmányozásával. Mind a ketten érdekes dolgokat fedeztünk fel a másik modelljében. Így egy olyan modell felépítésén dolgozunk, mely rendelkezik a Seam kontextuális, állapotkezelési jellemzőivel, valamint a Guice modell által nyújtott előnyökkel, melyekkel a Seam nem rendelkezik, vagyis a komponensek összeillesztésének típusokon alapuló (type-safe) megközelítésével. Ebból olyan modell jön létre, ami eltér mind a kettőtől, de remélhetőleg rendelkezik azok jó jellemzőivel. Ez pedig nagyon izgalmas és érdekes.
Egy rendszer felépítése az alapoktól rendkívül érdekes, eközben pedig mindenféle döntés születik. Néha a döntések meghozatalakor nem feltétlenül látjuk azok hatását teljes mértékben. Tehát jó, ha vissza tudunk menni, és megkérdőjelezni a feltételezéseinket, illetve újból megbeszélni ezeket másokkal, akik nem feltétlenül osztják az előítéleteidet, és látják, hogy melyik a helyes út vagy van-e más megközelítés. Ez segít abban, hogy jobban megértsük a problémát. És ez egy jó szórakozás.
Mark: Nagyszerű, alig várom, hogy lássam mi lesz az eredménye.
Gavin: Ez eltart még egy ideig.
Mark: Vannak még további érdekes technológiák, amiket az ezévi konferencián láttál?
Gavin: Nyilvánvaló, hogy nagy népszerűség övezi a JSF modellt. Szerintem a legkeresettebb könyv a konferencián a JSF könyv volt. Az olyan dolgok, mint az Exadeltől átvett technológia, a RichFaces és az ICEFaces, nagyon sikeresek most, és pont akkor válnak éretté, amikor a Seam. A JSF modellje valóban az egyik legizgalmasabb dolog mostanság. Csodálatos, hogy milyen könnyű gazdag AJAX alkalmazásokat építeni JSF-ben, és szerintem sokan meglepődtek ezen.
A javablogs.com-nál mindenki azt sulykolja a másiknak, hogy a JSF egy kalap …, pedig még nem is használták. Tehát nagyon jó látni az arcukat, amikor megbizonyosodnak az ellenkezőjéről. A JSF nagyon jól teljesít.
A Groovy és Grails közösség nagyon szilárdnak tűnik. A Grails és a Groovy könyvek egyaránt keresettek. A Grails nagyszerű. Emmanual az utóbbi pár hétben azon dolgozott, hogy megtanulja Seam komponensek írását Groovyban. Ez mindenki szerint nagyszerű. Érdekes lesz látni a Seam alkalmazásokat a Groovyban. Ez az itt épülő közösség határozottan erős.
Mark: És mi a helyzet a JavaFXszel? Azzal is foglalkoztál?
Gavin: Nem mondhatnám, hogy olyan mértékben, hogy hozzá tudnék szólni.
Mark: Rendben. Tudom, hogy San Francisco-ban élsz. Mi vonzott ide?
Gavin: Egy hölgy vonzott ide. De mindig is szerettem San Francisco-t. Ez egy nagyszerű város. Sok mindent lehet itt csinálni, például különböző kétkerekú közlekedési eszközökön utazni. Nagyon jó itt élni.
Mark: Köszönöm az interjút.
Gavin: Én is köszönöm.