Sælt veri fólkið.
Í korkinum hérna til hliðar, var spurt um Application servera.

Ég ætla því að skrifa e-ð smávægilegt um application servera, reyndar bara fyrir Java, þar sem ég þekki nánast ekkert annað.

Applicationserver (ísl: viðfangaþjónn) er í víðustu skilgreiningu umhverfi til að keyra hugbúnað í, þannig getur Internet Information server verið applicationsever fyrir asp, eða jafnvel Perl. IIS er þó aðallega vefþjónn, sem er góður í að taka á móti fyrirspurnum (requests) og skila svörum (response).

Flestir viðfangaþjónar sem ég hef kynnst nota vefþjóna sér til halds og trausts, þó þeir geti líka flestir staðið einir og sér, með innbyggðan request/response þjón. Sjálfur hef ég unnið hvað mest með Tomcat(jakarta.apache.org) með Jboss (jboss.org), en einnig hef ég komið nálægt orion (orionserver.com), WebLogic (www.bea.com), WebSphere (ibm.com), Jetty, Powertier og einhverjum nokkrum öðrum.

J2EE er tækni sem samanstendur af ef ég man rétt 14 tækniheitum, sem flest eru skammstafanir, eins og JSP, EJB, RMI, JNDI, JDBC, ofl. Þegar maður skrifar hugbúnað sem ætlað er að sé J2EE þarf ekki endilega að nota EJB, frekar en JSP, svo lengi sem maður er að nýta sér ákveðna hugsun og aðferðafræði sem J2EE er líka.

Tomcat er í raun ekkert annað en servlet/JSP þjónn, sem hefur t.d. ekki EJB container. Þessvegna er Tomcat oftast notaður með Jboss og þá fær maður fullkominn applicationserver. Tomcat er þó því miður ekki mjög hraðvirkur, reyndar einna hægvirkastur af öllum þessum kerfum, hann er skrifaður í java og er svo kölluð referance implementation, þ.e. hann útfærir allt samkvæmt skilgreiningunni frá Sun eins vel og hægt er. Hinir þjónarnir brjóta oft reglurnar, til þess að mynda sér sérstöðu á markaðinum, kanski til þess að auka hraðvirkni eða sveigjanleika. Tomcat er ókeypis, og Jboss líka, nema hvað hjálparskrárnar kosta einhverja örfáa dollara, en bæði projectin eru opensource. Þetta er líklegast vinsælasti application serverinn fyrir Java.

Orion þjónninn er einn sá allra hraðvirkasti sem ég hef prófað, hann er ekki ólíkur Tomcat, nema hvað hann býr svo vel að vera með innbyggða EJB geymslu, sem er náttúrulega mjög mikið atriði fyrir þá sem vilja nota slíkt. Hann kostar um 150 þúsund íslenskar fyrir “production” en er ókeypis fyrir þróun. Og tel ég það bara mjög góð kaup. Þess má geta að síðastliðið haust licenseraði Oracle orionserverinn og notar hann sem sína lausn fyrir J2EE.
Mjög vinnsæll þjónn einnig.

Næstur á dagskrá er WebSphere, en hann er líka ágætur, með þó einhvern ágætan slatta af böggum eins og gengur og gerist, sem gera það að verkum að ekki er eins auðvelt og óskað er að færa á milli hugbúnað skrifaðan fyrir websphere yfir í hin umhverfin og kostur væri. Í WebSphere er þó “grafískt”-Vefumhverfi þar sem hægt er að “deploya” war / ear skrám og er það frekar einfallt.
Einnig hefur WebSphere möguleika á að precompila JSP síður, og það er líka ágætis kostur, sem eykur hraðvirkni á fyrstu requestum, en skiptir kanski ekki miklu máli á endanum.

Deployment ferlið í Tomcat og orion byggir á því að maður þarf að búa til og breyta XML skrám, en það er ekki flókið, nema kanski í fyrsta sinn.

Weblogic, þjónninn er ekki ólíkur WebSphere, þ.e. hefur stórt og mikið “admin”-umhverfi og í gegnum það á maður að gera allt, þ.e. stilla allar skrár og þessháttar. Það fer reyndar e-ð í taugarnar á mér hvað manni eru gerðir allir hlutir flóknir. En ég hef reyndar ekki sérstaka þjálfun í að nota WebLogic. Þess má geta að það er með 49% markaðshlutdeild og nokkur fyrirtæki hérlendis nota það.

Þessir 2 þjónar Weblogic og WebSphere eru þó töluvert dýrari en hinir.
Þar sem ég nefndi 2 þjóna þarna í viðbót er best að skrifa örlittla skýringu á þeim, Jetty er sambærileg græja og Tomcat, bara miklu hraðvirkari, en ekki eins “robust” eða örugg. Jetty er líka vefþjónn, þ.e. þarf ekki að vinna með vefþjónum eins og IIS eða apache til að ná mikilli hraðvirkni. Jetty er ókeypis eins og Tomcat, og er einnig hægt að böndla Jetty við Jboss.

PowerTier er frá persistence. Þræl öflugur application server, sem er fyrir þá sem vilja fá meira en staðallinn býður uppá. Þ.e.a.s. hann er töluvert á undan hinum kerfunum, býður marga aukna möguleika, var t.d. farinn að styðja EJB 2.0 fyrir 3 árum síðan, en skilgreiningin fyrir EJB 2.0 kom út í haust (frá sun). Og því miður er kostnaðurinn við hann hár, eða nokkrar milljónir fyrir processor, og þar að auki styður hann bara við Oracle. Svona umhverfi er þó ótrúlega hraðvirkt, líklegast það hraðvirkasta sem til er, og því fylgja nokkur frábær þróunartól (code-generators).

Endilega skjótiði kommentum á þessa grein, spurningin á korkinum snerist einnig um hvaða fyrirtæki eru að nota hvaða umhverfi, þ.a. gaman væri að fólk gerði kanski smávægilega grein fyrir því í leiðinni.

Hugsmiðjan (sem ég vinn hjá) vinnur sérstaklega með þau Tomcat og orion og svo powertier, en við erum einnig að prófa hugbúnaðinn sem við skrifum á hinum umhverfunum, þ.a. við höfum grunn þekkingu á öllum ofantöldum umhverfum.

-bk
Carvel (reynir@hugsmidjan.is)