2007/04/18

JAX-WS deploy

JAX-WS ugye meg van minenkinek? JAX-RPC utódja, és web service-eket lehet benne varázsolni könnyedén (POJO + Annitationok, ahogy ezt már mások is csinálták, csak most szabvány.) Éppen a 2.1-es van kijövőben.

Meg is írom benne szépen a service-t és deployolnám be, amikor kezdődnek a problémák. Glassfish szépen meg is eszi, de a Sun Java System Web Server (leírni is gyönyörűség ilyen frappáns rövid nevet :) nem. Hamar kiderül, hogy azért nem, mert a JSR-109-et, ami azt biztosítaná, hogy mindenféle plus deployment descriptorozás nélkül hipp-hopp működjön a WS, nem támogatja a Web Server. Persze trükközni lehet. Ez a kedves tutorial például (még a régi Web Serverhez tehát 2.4-es servlet konténert használ) elmondja, hogy milyen com.sun-os osztályokat kell servletként regisztrálni a web.xml-ben, hogy menjen a JAX-WS. Persze, a referencia implementációval. De ennyi erővel ne csináljunk szabványt, csak implementációt és dokumentációt.

A JAX-WS FAQ ezt így fogalmazza meg:
Q. Is the stand alone JAX-WS-based service developed and deployed on Servlet container is portable on all Java EE 5 based platforms ?

No.


Ennyi. Ott tartunk tehát, hogy JAVA 6 SE-ben lehet szabáványos hordozható WS szervert/klienset csinálni. JAVA EE 5-ben (ami tartalmazza a JSR-109-et) lehet szabványos hordozható WS-eket csinálni. Csak épp servlet containerek környékén (ami azért ezen a területen mégis csak a legvalószínübb) nincs rá hordozható megoldás.

2007/04/16

Java contests

Nem magyarázom, nekem alapvetően bejönnek ezek. Ha több időm lenne valamelyiken biztos indulnék most is.

Ez a JavaOne-nal fog indulni. Valami jMakijMonkey enginnel kapcsolatban. Felírva az utánanézendők listájára. Érdektelen, csak JavaOne résztvevőknek. Benéztem.

Ez a Jazoon-hoz kapcsolódik, sciriptelés, és csak dikákoknak.

Itt meg az Atlassain kereskedelmi termékeihez lehet plugint írni, és licenszeket és TSS belépőket nyerni.

Hajrá.

2007/04/15

Napfényes hétvégék emléke

(Énblog)

Telefonbeszélgetés után emailben kaptam néhány anyagot, ami távolról talán specifikációnak látszott. Meg volt köztük egy konferencia abstract is rengeteg bullshit-tel, meg egy megjegyzéssel, hogy igen, van működő prottípus szoftverük az algoritmushoz, és mennyire jó.

A beszélgetés us lefolyt, ekkor már nem egy hét, de 5 nap is alig volt a konrefenciára való indulásig, és kiderült, hogy az a szoftver, amit még senki sem látott, és nagyon gyorsan kéne. És aztán jött a rapid programozás. Nem mondom, hogy erre a kódra leszek a legbüszkébb, bár azért azt látom, hogy összehasonlíthatatlanul jobb ez a rapid kód is, mint mondjuk a néhány évvel ezelőtti. Hiába, csak tapasztal az ember, és egy Observer minta tényleg már csak izommunka. No meg a Hivatalban is megszoktam már, hogy mindent szépen dokumentálva és codestylolva, itt meg csak egyetlen szempont volt. Gyorsan egy működő demót.

Volt egy olyan rész, amit megírtak nekem előre C-ben, hogy az algoritmuson ne kelljen tökölődni. Copy-paste és kis kozmetika után ment is, majd néhány teszt után több helyen is elszállt. Kiderült, hogy a C-s ugyan működött, de kapásból két puffer túlcsordulás volt benne (nem túl lényeges helyeken), amire persze a Java rögtön dobta az IndexOutOfBondokat.

(Közbe regisztráltam a dev.java.net-re valami JUG szerű oldalt, remélem lassan approvolják is. Azzal is haladni kéne.)

2007/04/09

Konferencia turizmus

Jön a a tavasz, majd a nyár is, végleg beindul a javás konferencia szezon. Jó lenne, ha valahová kiküldene a Hivatal. De mit is választanék - ha sikerülne rábeszélni őket - Európán belül. Első körben két potenciális jelölt van:

JAZOON Zürich, Június 24-28. 5 nap (igazából 3,5-4,5 Az első nap only tutorials, szerda csak délelőtt vannak előadások, du. városnézés).

Részvételi díj: (teljes/korai regisztráció 1245/995 (Student 460/370 vs. JUG tag 830/665) euró

Múlt: eltelt egy kis idő míg kiderült számomra, hogy ez az első konferenciájuk.

Tematika: minden Java, konferencia+kiállítás

Előadások: Összesssen 59 abstract, komplexebb kategóriákba sorolva (körülbelül ilyen megosztás: server side, desktop side, mobile és mindeféle más). A Spring jelenlét kicsi alul van reprezentálva, RCP általában Eclipse RCP-t jelen, és AOP, OSGi témakörökbenn is szívesen hallgatnék többet. Persze SOA manapság már kikerülhetetlen, itt is van, de nem annyira hangsúlyos (Igaz, ez nem server side konf). Sok olyan téma van, ami konkrét terméket és nem tehcnológiát jár körül. De azért van néhány érdekes téma, amire beülnék (pl. JAX-RS, Lucene)

THE SERVER SIDE SYMPOZIUM EUROPE Barcelona, Június 27-29. (3 nap)

Részvételi díj: 1516/1436 euró

Múlt: archívum nem, de 2006-os sajtóviszhang be van linkelve. Igazából ez az európai változat, a már lezajlott amerikai után.

Tematika: ServerSide, Konferencia

Előadások: Összessen: 36 abstract, van fent a honlapon, 4 kategóriában, ebből 16 az ARCHITECTURE sessions-ra esik, számomra igazából ez lenne érdekes, viszonylag erős is (pl. OSGi, AOP, ESB témakörök). A többi kategória nem túl említésre méltó. Néhány case study, semmi izgalom.

Összességében azt látom, hogy a konferenciák célközönsége nem elsősorban az a hard core hegesztőmunkás, aki én vagyok, talán inkább magasabb szinteket célozzák meg. Bér a Jazoon minden szinten nagyon nyomult (Student ticket) A TSSSE-nek a programja rövidebb, de erősebbnek tűnik, a Jazoon viszont sokkal agilisebb, nagyon kapaszkodik: ez az első alkalom, kedvezmények vannak, szervezői blog, próbálják bevonni a bloggereket, stb.

Egyszer valaki azt mondta nekem a JavaOne-ról, hogy minden képpen érdemes kimenni oda, ha a cégünk ki tud küldeni minket. Bár nagyon sok újat nem fogunk hallani (azt pedig a Java One esetében utólag meghallgatjuk a honlapon (profi megvalósítás, riszpekt)), de a Java iránti életérzés megtapasztalásához mindenképpen jó eljutni egyszer egy ilyen konferenciára.

2007/04/06

Java Klub II.

Összefoglalás:

A kommentek alapján kitapintaható érdeklődést véltem felfedezni a dolog iránt. A következő lépés, hogy elmegyünk Húsvétra sonkát enni.

Aztán visszajövünnk, kiírunk 2-3 potenciális időpontot szavazásra (ötletek jöhetnek kommentbe). Összerakunk valami ingyenes helyen egy rövid oldalt (valami wiki-nek kéne lennie, már elkezdtem nézni), hogy mégse egy blogbejegyzésből kelljen informálódni.

A wiki oldalra ha valakinek jó témája van, azt oda be tudná írni. És el lehetne kezdeni gyűjteni az előadásokat. Kéne egy komolyabb becslés, hogy hány ember jönne el, és keresni kellene helyszínt.

Hát ilyenek jutnak eszembe. Bármilyen segítség, ötlet, megjegyzés jöhet kommentbe.

2007/04/03

Klub

Mindenek előtt szeretnék két dolgot leszögezni.

Előszőr is ki nem állhatom az IRL találkozásokat, ha az egy netes ismeretség után következik. Mindennek megvan a maga helye. Ne keverjük.

És legalább ugyanennyire gyanús nekem mindenféle "macskatappancs testvériség". (Vonnegut). Ki fejezetten utálom azokat a társoságokat, amiket csak azért csinálnak mert összetartozunk. Nem tartozunk össze.

Amit viszont szeretnék:

Szeretnék egy olyan dolgot, ahol lehetne Java-ról beszélni, eszmét cserélni, előadást hallgatni, tanulni. Ami csak ezért lenne, erről szólna.

Hogy hogy képzelem el?

Leginkább valami klubnak. Aki részt akar venni, az csinál egy előadást. 
Nem hosszút, 15-20 perc plusz kérdések. Komolyabb mint egy blogbejegyzés, de kevesebb mint  egy konferencia előadás. 
Valami Javas témáról. Lehetőleg legyen minnél advancedebb (ne ott kezdjük, 
hogy mi a JSP vagy az EL) és ne szóljon olyanról, amit az ember egy az egyben elolvas a netről. Izzadságról szóljon, és tapasztalatról. (Ma tanultam erre egy szót: Tacit Knowledge).

Persze nem kell az adott témában teljesen pengének lenni, de ha van izzadság, akkor azért valamilyen szinten már válaszolni tudhat a felmerülő kérdésekre. Legyenek kérdések. És legyen kritika. Szerintem ebben az expozéban ez és ez volt jó, ez és ez volt rossz. Engem ez és ez érdekelne a témával kapcsolatban. Találkoztál a válasszal? Nem? Utánanézünk.

Az előadásokhoz kötelezően kéne tartoznia egy fóliának, és egy prototype alkalmazásnak ( javaalmanach szerű egyszerűségre törekedve), amit aztán szépen tolnánk fel a netre, és neten folytatni lehetne a diszkussziót a legutóbbi előadásról.

Azt hiszem kis hazánkban elég kevés a speciális Java konferencia vagy Workshop, ami hasonlót nyújtana. Múltkor néztem egy külföldit, és a regisztrációnál láttam, hogy JUG tagnak kedvezmény. Akkor kezdtem el nézegetni, hogy mi is egy JUG, és láttam, hogy azért léteznek máshol is hasonló dolgok, úgy hogy talán működhet is a dolog.

Ma reggel olvastam, hogy másoknak is vannak, ha nem is pont ilyen, de hasonló gondolataik. Lelkes lettem, ezért most e bejegyzés. Ha tényleg, néhány emberrel már bele lehetne vágni.

Mit gondoltok? Eljönnétek? Hallgatni? Előadni? Beszélgetni?

2007/04/01

Web Konferencia 2007

((A twitter jól működött (technikailag) talán egyszer majd használom valami értelmesebbre is. Bár végig mobillal kellett vezérelni, mert wifi nem volt.))

Szóval egy rövid összefoglaló. 5 előadást láttam:

Simon Géza: Java Business Integration, azaz szolgáltatásalapú architektúra Java EE környezetben Jó összefoglalással kezdte a SOA-tól, hogy miért van erre szükség, és hogy miért pont web servicekkel oldja meg a JBI. Részletekbe nem mentünk bele, és személy szerint nekem sokkal inkább egy workshop hiányozna. De nem aludtam rajta. Tanultam két jó szakszót.

Szeredi Péter: A szemantikus világháló alapjai Ezzel a szemantikus világhálóval csak egy bajom van. Még nem lettam működő üzleti alkalmazást, amiben használták volna jól az ontológiákat, enélkül meg kicsit tét nélküli a dolog. Gondoltam legalább a kérdések között hallhatok ilyesmiről, de sajnos a kérdések helyét elnyomta a szétszéledés hangzavara. Maga az előadás kicsit egyetem jellegű, korrekt, de számomra kicsit lassú és unalmas volt. Nem tanulni akartam, hanem megismerni.

Molnár István: Java Persistence API, azaz szabványos Obejtum-Relációs mapping Java és Java EE környezetben Nagyon sok újra nem számítottam, nemrég az egész speckót el kellett olvasnom (SCBCD rulez). Azt gondoltam, hogy néhány alapozó mondat után, az alap OR mapping lehetőségeket mutatja be, hogy felkeltse az érdeklődést. Ehelyett egy számomra nagyon dinamikus és lehengerlő előadást hallottam, szinta ez összes lehetőséget (optimista lokkolás, öröklődés kezelése az adatbázisban, stb.) felvillantva. Emlékszem előtte egy kávét akartam inni, de utána már egész felvillanyozódtam.

Varga Péter: Webalkalmazás fejlesztés Java EE környezetben NetBeans segítségével: JSP 2.1, JavaServer Faces 1.2, AJAX Nagyelőadó, széles vászon. Az elején rögtönzött közvéleménykutatás, hogy ki mennyire ismeri a technológiákat: Java, Servlet, JSP, JSF. Kiderült, hogy eléggé az elejénél kell kezdeni, úgy hogy nagyon részletes JSF bemutatásra nem is kerülhetett sor. Persze elhangzott, hogy mire jó az egész, meg hogy hogy épül fel, de sok újat számomra nem mondott. Viszont VRG laza stílusban sziporkázott, úgyhogy végig élveztem az előadást.

Tóth Ádám: COMET webalkalmazás fejlesztés A végén úgy jöttem ki, hogy érdemes volt bemennem (ellentétben a szemantikus webbel), mert sok mindent megtudtam, de azért voltak az előadással fenntartásaim. Az elején volt egy fejezet, ahol sokat emlegette az architektúra szót, és mysql táblákat láttunk phpmyadmin-on keresztül, ez a rész talán felesleges volt, mert a későbbiekben nem volt sok szükség rá. Az is tipikus volt, hogy néha PHP kód került elő, hogy ezt így lehet megcsinálni, de nem nagyon merült fel, hogy ez csak egy példa és más nyelveken esetleg nem ob flush-sal kell csinálni, hanem csak az a lényeg, hogy a buffert kiírjuk. Ezt leszámítva a megvalósítások bemutatásai jól felépítve követték egymást, élvezhető volt.

Végül rövid eredményhirdetés hosszú sajnálkozással, hogy a Compo-ra milyen kevesen neveztek. Az egyik kategóriában csak egy induló volt, a másikban egy OpenLaszlos alkalmazás nyert.

2007/03/31

Web konferencia Live

Mindjárt átgurulok a webkonferenciára. Meg próbálok közvetíteni, ilyet még úgy sem csináltam. (Ha le nem rohad a twitter, ahogy szokott).

http://twitter.com/karenin

2007/03/28

Sun Java System Web Server

"Netbeans 5.5-öm még mindig nem támogatja a Tomcat 6-ot, márpedig kéne egy Glassfishnél kissebb memória igényűbb JAVAEE 5 Servlet container."

Így végződött az előző bejegyzésem, amire commentbe kaptam ötletként a Sun Java System Web Server-t. Első látásra rögtön nagyon szimpatikus volt. Régen próbáltam már egyszer, de akkor csak RHEL-re ment fel, most meg simán vett minden akadályt Ubuntu-n is.

Azt szokták mondani, hogy a SJSWS ugyanazt tudja mint az apache-httpd plusz még néhány mellé felhúzott modul/util együttvéve (pl. logrotate, webdav, reverse proxy). Van hozzá szép webes felület, command line-os tool, és persze xml-ből is konfigurálható. Viszi a legacy php alkalmazásokat, és deployolhatok bele java-t is. (A config felületeinek a kényelmességét jól mutatja, hogy létezik arra külön parancs, hogy selfsigned certificate-et gyártsunk a szerverhez. Apachhoz ehhez mindig rá kellett gugliznom egy howto-ra). A virtual hostokoat is nagyon korrektül kezeli (glassfish-ben pl. ahogy láttam a v2-ben lesz elég erős ez a funkció).

Szóval nagyon jónak tűnt, és a hétvégén úgyis újra húztunk a szerverünket, úgy hogy ez lett a web container. Részletes tapasztalatokkal majd kicsit később, valamennyi idő távlatból. Egyelőre nagyon jól muzsikál, bár vannak még megoldatlan részek (php-ből egyelőre csak a letölthető pluginjét sikerült beüzemelni, ubuntu-s defaultot nem, 80-as porthoz rootként futtatva az admin szervert is a config-deploy még nem működik, stb.). De egyelőre még a doksit se olvastam el, úgy hogy nem panaszkodunk. Jackrabbitot pl. nagyon könnyen sikerült beconfigurálni. (így).

Memória fogyasztást még nem néztem. A szerveren minden cakli-pakli foglal 200 megát (java még nincs nagyon deployolva, de legalább 15 virtual szerver fut), úgy hogy nincs pánik.

A dolgot egy kicsit rontja, hogy a fent idézett mondat nem oldódott meg. Ugyanis a SJSWS 7.0 update 1 Technology Preview, ami tudja a javee5-öt ugyan kezelhető a NetBeans pluginnel, de egyrészt a NetBeans nem hiszi el róla, hogy tudja, amit tud (csak 1.4-es projectet enged bele deployolni) másrészt virtual szervereket rohadtul nem kezel (mármint az NB plugin). Szóval itt még fényezhető lenne egy kicsit a dolog.

2007/03/22

Cargo deploy?

A Cargo-val is úgy voltam eddig, hogy láttam, hogy van, és jó, és majd kipróbálom amikor szükgségem lesz rá. Most lenne, mert Netbeans 5.5-öm még mindig nem támogatja a Tomcat 6-ot, márpedig kéne egy Glassfishnél kissebb memória igényűbb JAVAEE 5 Servlet container.

Nosze hegesszük be a NetBeans-be. A NetBeans-ben az szeretem, hogy ANT az egész, ezért viszonylag jól bele lehet nyúlni a build processbe. Be is üzemeltem a cargot a doksi alapján, de sajnos csak azt sikerült elérnem, hogy elindítja az ANT task a tomcat-et, úgy, hogy beledeploy-olja a war-omat. De a lényeg az lenne, hogy a Tomcat fut, és alá hotdeply-al mindig frissíti az alkalmazást. De pont ez a HotDeploy, amit sehol sem találok:

Cargo offers a Deployer interface that container implementations can implement to perform hot deployments. At the moment, the following implementations exist:

* ResinDeployer
* JettyDeployer
* Jo1xDeployer


See the Deployer page for more information on how to perform a hot deployment. You can also deploy Deployables before the container is started using Static Deployment.


Nagyon úgy tűnik, hogy pont ezt nem tudja (ANTból legalább is), szóval közelről már kevésbé fényes a dolog.

Na mindegy, már húzom le a redőnyt, holnap meg megpróbálok egy context-et ráirányítani a build dir-re.

2007/03/21

JCP WTF

Átalakult a JCP.org. Lehet pl. rá regisztrálni. Egyelőre amit értek, hogy a kedvenc JSR-eket ki lehet gyűjteni, és figyelni, de nagyon community-nek még nem tűnik az oldal.

Persze egyelőre csak a leírásból lehet tudni, mert kipróbálni nem lehet, mert szinte bárhová kattintok, elszáll, mint a...
    
System Error

There was an error processing your request. If you provided the URL, please check to ensure that it is correct or try to find what you're looking for using one of these methods:

    * Navigation menu on the left-hand side of the page
    * Search field in the header or left navigation menu

We are working on a new infrastructure, so please send us feedback at webmaster@jcp.org for the URLs you are certain are valid.

Thank you,
The jcp.org web team. 
Szóval szerintem ennél azért jobban oda kéne figyelni rá (kb. egy napja vettem észre, azóta nem javult), mert még a JSR-eket sem tudom letölteni.

2007/03/20

jLibrary

A jLibrary egy Eclipse alapú kliensből és egy deployolható servlet/szerver alkalmazásból áll. A kliens tud működni standalone módba, vagy kapcsolódik a szerverhez, és JCR-be pakolgatja a dokumentumainkat, indexeli őket, attirbútumokat tárol, verziózik, stb.

A jó: Szép Eclipse-s felület, és mivel nehezen tudok ellenálni az új kütyüknek, rögtön ki is próbáltam. Mivel azonban mostanában olvastam, hogy Subversion-nal mennyire faszagányos verziozható webdav könyvtárat lehet csinálni, elgondolkoztam, hogy mit is ad nekem a cucc ennél többet. Indexelést, meta adatok kezelését. Éppen valami, de lehet, hogy eddig pont ez hiányzott a boldogságunkhoz.

Másrészt a funkciók nagyrészét a Jackrabbit adja. Ami nem baj (ügyes kis kliens attól még az egész stuff), csak jó olyan szemmel is nézni, hogy ez igazából egy JCP demó.

A rossz: Standalone módban ment is a dolog, de a war file-t istennek sem sikerült beüzemelni. Kicsit jobban ránézve a projektre tavaly év közepe óta nincs nagyon mozgolódás a témában.

2007/03/13

Sun Web Developer Pack

Gondoltam, ezt meg kell nézni, annál is inkáb, mivel a leírások alapján nem egészen értettem, hogy mit is kapok: librarykat, netbeans plugineket, doksit?

Le is töltöttem (innnen), és rakom fel. Az egyetlen vicces az volt, hogy mondta, hogy kérek-e webcontainer integrációt. Persze kértem, mert olyanom még úgy se volt, és kajánul kiválasztottam a Tomcat 6-omat (igen, ot figyel alul a System Requirement-ben a Sunos app szerver mellett, és én már örültem is, mert a NetBeans 5.5 még mindig nem tud Tomcat 6-ot kezeleni), erre kaptam ezt a szép hibaüzenetet:


Na de azért felment: leginkább egy csomó library, melletük a forrás kódok és példák, tutorial. jMaki, phobos, bloggerapps, wadl, rest-api, ilyenek.

NetBeans plugin nincs benne, helyette fel ugrik egy ablak, ami tájékoztat, hogy használjam az Update Centert. Az Update Center valóban ajánl egy plugin suite-et (valójában csak a jmaki és phobos plugineket rakja fel.), és le is tölti nekem újra azokat a librarykat (illetve sajnos csak egy részüket), amit a SWDP-vel megkaptam. A NetBeans Samples projektjei alá se kerültek fel az SWDP-s minták, pedig az már csak egy lépés lenne.

Végül is a GlassFish integrációt kértem, de ez még nem derült ki számomra, hogy mit jelent (igaz még nem is nyálaztam át nagyon a doksit).

Na jó, de NetBeans és webcontainer integráció nélkül azért kaptam egy szép kupac dokuemntált sample-app ot, és librarykat szép rendben, amik közül sokat már tényleg meg akartam nézni, úgy hogy végül is köszönöm, a szünetre azért jó lesz.

tss link
arungupta bejelentész szerű

2007/03/09

Checkstyle plugin

Bár a kódjaim most már kibírják a gyár checkstyle próbáját, néhány kimondatlan szabályoknak nem feleltek meg, és sajnos a checkstyleban nem is voltak hozzá rule-ok. (pl. a javadoc csillagainak a kívánt fajta behúzásának elenőrzése).

Úgy hogy múltkoriban összedobtam néhány Checkstyle extensiont saját használatra. Nem volt nagy flikk-flakk, mindenkinek csak ajánlani tudom, friss és használható doksi volt a honlapon, meg persze néhány példa is.

Antlr fát kapunk vissza, és egy mellékelt alkalmazással meg is lehet nézni a fát.
Ami viszont új volt, hogy se a javadoc-ot se a whitespace-eket nem parseolja. Az utóbbit úgy lehet kitalálni, hogy két token pozicióját megadja, és megnézzük, hogy köztük mi van a fájlban. Az előbbi is hasonló, de szerencsére erre már a Checkstyle is ad apit.

Ezeket kéne kipróbálni a Jackpotban is, és akkor tényleg nem lehetne már fogást találni rajtam.

2007/03/06

Másnap

Rövid énblog:
Állítólag Charlie Parker (jazz, bebop, szaxofon) nyilatkozta az egyik lemezéről, amiven 240-es tempóban imporvizál végig, hogy ő azt azért szereti, mert ott nem kell gondolkozni, csak az izmok dolgoznak. Na, ma reggel valahogy én is így érzem, ahogy az IDE-ben rakosgatom odébb a biteket.

És akkor most két elem a reggeli RSS adagból:

Az első bejegyzés a Netbeans 6 Swing Application Framework bemutatásáról ajánl egy nyolc perces flashvideót. Bárki bármit is mondjon, szerintem a NetBeans varázslói elég jól el vannak találva: általában épp csak annyi kódot generálnak, ami még átlátható, és jó alap lehet belőlük bármihez. Szerintem még a hirhedt kéksoros Matisse is jól használható, ha az embert tudja, hogy hol nyuljon hozzá. Persze ritkán használom őket, de pl. a JSF megoldásait studírozva sokat tanultam. Ez a demó is elég szép, bár az ilyenekre mindig azt érzem, hogy szép szép, de majd akkor leszek meggyőzve, ha kezembe vehettem, és kipróbálhatom egy saját prototípusban. (Lassan már NB 6 betához se kell többet aludni egy hónapnál)
A videó külön szépsége, hogy megtanítja azt is az amerikai olvasóknak, hogy mi az a Trabant, és a végén J. Gossling egy zöld BMW-ben próbál versenyre kellni a trabanttal induló fejlesztővel. Drámai verseny.

És egy másik bejegyzés a szarkupacok milyenségéről, és a refaktoringról.

2007/03/03

Summer Of (Java?) Code

És ebből vajon hány a java-s projekt?

2007/03/01

Yadis

Amiről még nem beszéltem eddig. Tulajdonképpen arról van szó, hogy több URL alapú identity/egyéb szolgáltatás készítője észrevette a hasonlóságot a megoldásaikban. Mindenhol egy URL-t (vagy hasonlót) kellett beírni, és az URL-ről lehúzott dokumentumból (pl a META fejlécekből) megtudta, hogy hol van a tényleges URL, aki a service-t biztosítja.

Nosza egységesítették is a rendszereket. Az eredmény elég egyszerű (Részlet a speckóból):

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)"
xmlns:openid="http://openid.net/xmlns/1.0”>
<XRD>
<Service priority="10">
<Type>http://openid.net/signon/1.0</Type>
<URI>http://www.myopenid.com/server</URI>
<openid:Delegate>http://smoker.myopenid.com/</openid:Delegate>
</Service>
<Service priority="50">
<Type>http://openid.net/signon/1.0</Type>
<URI>http://www.livejournal.com/openid/server.bml</URI>
<openid:Delegate>
http://www.livejournal.com/users/frank/
</openid:Delegate>
</Service>
<Service priority="20">
<Type>http://lid.netmesh.org/sso/2.0</Type>
</Service>
<Service>
<Type>http://lid.netmesh.org/sso/1.0</Type>
</Service>
</XRD>
</xrds:XRDS>


Látható, hogy egyszerűen adtak azonosítokat a service-eknek és azokat dobálja vissza, amiket támogat. A LID pl. speckó szerint támogatja az OpenID 2-t is, azaz a LID szerver mindig visszaad a Yadis leíróban egy olyan sort, ahol bevallja, melyik URL-n lehet OpenID-val támadni.

Magát a Yadis XML-t egyébként elég sokféleképpen lehet megszerezni az URL-ből. Lehet, hogy HTML HEAD sorban jön, lehet hogy META teg hivatkozik rá, vagy csak egyszerűen az URL-t meghívva rögtön kiömlik a szekrényből az egész Yadis XML.

2007/02/26

Batik

Szeretem az olyan pillanatokat, amikor végre nem kell fanyalognom.

Kellett volna gyorsan rajzolnom egy SVG-t, a gugli kiköpte a Batik-ot. És tényleg. Lenyűgöz feature lista (An SVG DOM implementation, SVG microsyntax parsers, scripting module, a generator that creates an SVG document from Java2D calls, Swing SVG component, transcoder module), és minden megy pöccre, ahogy dokumentálva van, pont úgy.

Én pl. a Graphics2D-n keresztül írtam. Előszőr összelőttem a programot egy Swinges ablakon. (Egyszerűbb volt oda gyorsan összedobni. Aztán egyszer csak a programo szályába az SVG Graphics2D implementációját adtam, és oda ugyanúgy szépen írt mindent.

Apró örömök az életben.

2007/02/23

OpenID java libraries

Kocka kérésére :)

Az OpenID.net három java libraryról tud.

IdPrism: Jelenleg én ezzel kísérleteztek, mert ez a legegyszerűbb. OpenID 1.1-et tud, azt viszint ajaxon keresztül is. A letöltött könyvtár tartalmaz egy példa servletet is, ahol mind az ajaxos mind a szerver oldali megoldásra látunk egy egyszerű példát. A kód nem egy nagy durranás, de legaláb könnyen át lehet látni.

OpenID4Java OpenID 2.0-sat is támogat, jól néz ki, ez lesz a következő, amit kipróbálok.

NetMesh InfoGrid LID Java. A legnagyobb baj vele, hogy ez alapvetően LID implementáció. Mivel a LID speckó része, hogy OpenID-ül is kell tudnia, ezért valahol benne van az OpenID támogatás.

LID meg egyelőre megfigyelés alatt. Annyit csak, hogy próbáljuk meg megkeresni az OpenID.net oldalon a letölthető speckót, és a rá vonatkozó licenset, és ugyanezt a LID oldalon. Na ugye. Tegnap írtam egy levelet a LID community levlistájára (az archívum nagyon gyér forgalmat mutatott, de hátha). Az első meglepetés, hogy a lista moderált (szóval ennyit a communityről). Aztán jóváhagyás helyett megkaptam emailben a speckókat, amik CC licensz alatt érhetőek el. De egyelőre maradok az OpenID 2.0-hoz való felzárkózásnál.

2007/02/21

OpenID II.

Azt hiszem most egy kicst erről fogok szólni.

Ami még fontos:
Az OpenID elosztott rendszerű. Ha beütsz egy OpenID azonosítót (pl. karenin.myopenid.com) Azt a rendszer elképzeli url-nek. (http://karenin.myopenid.com/ és lekéri az az oldalt. Az oldal fejlécében lesz valami ilyami:
<link rel="openid.server" href="http://www.myopenid.com/server" />
Na erre a címre fog átugrani mindenféle request kérelemmel.

Ezt annyival meg lehet bolondítani, hogy egy delegate nevet is használok
<link rel="openid.server" href="http://www.myopenid.com/server">
<link rel="openid.delegate" href="http://karenin.myopenid.com/">
A fentieket beraktam jelen html fejlécébe. Ezek után már a problemjava.blogspot.com-ot is használhatom OpenId azonosítónak, ami használatkor a www.myopenid.com/server-en keresztül a karenin.myopenid.com-ot fogja autentikálni.

Azaz, ha később létrehozok egy másik OpenId-t egy másik szolgáltatónál, az OpenID-s honlapokat ugyanúgy használom tovább problemjava.blogpost.com névvel, csak a fejlécembe írom át a hivatkozást.

Ami még érdekes, hogy ha nem mondom meg (mondjuk egy reguláris kifejezéssel), hogy milyen OpenID szerver felhasználói jöhetnek be hozzám, akkor alapból mindenkit beengedek. Nem lenne nagy munka egy olyan OpenID szervert összerakni, aki kvázi egyszerhasználatos usereket generálna, és bármilyen requestre azt mondaná, igen ismerem, igen be van lépve. És indulhat is a comment spam.