Rückblick aufs Java-Forum Stuttgart 2012

Wie im letz­ten Jahr war ich auch die­ses Jahr auf dem Ja­va-Fo­rum Stutt­gart als Spea­ker ein­ge­la­den. Auch heuer waren die 1200 Kar­ten lange vor der Ver­an­stal­tung aus­ver­kauft, das In­ter­es­se an der Ver­an­stal­tung ist un­ge­bro­chen hoch.
In mei­nem letzt­jäh­ri­gen Vor­trag ging es um den Ent­wurf von REST-APIs, die­ses Jahr dreh­te sich der Talk um die ers­ten Schrit­te mit dem Ska­lie­rungs-Frame­work Akka.
Das war mein Be­suchs­pro­gramm:

Stra­tos - Cloud-Platt­form für WSO2

Ich weiß: "Spon­so­red Talks" be­inhal­ten immer das Ri­si­ko, zur rei­nen Ver­kaufs­ver­an­stal­tung zu ge­ra­ten. Da ich aber in einem Pro­jekt mög­li­cher­wei­se Kon­takt mit WSO2 haben werde, hielt ich es für eine gute Idee, die­sen Vor­trag zu be­su­chen. Viel­leicht habe ich mir das fal­sche ver­spro­chen - ge­wünscht hätte ich mir eine (tech­ni­sche) Über­sicht über WSO2 und Stra­tos, und In­for­ma­tio­nen dar­über, was das für Ent­wick­lung, Ar­chi­tek­tur und Be­trieb be­deu­tet. So blieb mir nur hän­gen, daß jedes WSO2-"Pro­dukt" nur eine Kom­bi­na­ti­on ver­schie­de­ner WSO2-OS­Gi-Kom­po­nen­ten ist. Scha­de.

Ja­va-ba­sed GUI - quo vadis?

Thick cli­ent oder Web-GUI? Um die­ses Thema dreh­te sich die­ser sehr un­ter­halt­sa­me Vor­trag. Nach einem herz­haf­ten Rant über html5 ging es ein­mal quer durch die Ent­wick­lung von Ober­flä­chen mit Swing, SWT, Ja­vaFX und auf der An­dro­id-Platt­form. Der Vor­trag schloß mit dem ver­söhn­li­chen Fazit, daß so­wohl für Web-GU­Is als auch für na­ti­ve Cli­ents ihre Exis­tenz­be­rech­ti­gung haben: Web­an­wen­dun­gen bril­lie­ren durch ein­fa­ches De­ploy­ment (Brow­ser ge­nügt), na­ti­ve Cli­ents müs­sen nicht Brow­ser-In­kom­pa­ti­bi­li­tä­ten von zu­künf­ti­gen Brow­ser­ge­ne­ra­tio­nen hin­ter­her­ar­bei­ten, was vor allem bei lang­le­bi­gen An­wen­dun­gen ein gro­ßer Vor­zug sein kann.

In­te­gra­ti­on Frame­works

Ein schö­ner Über­blick über die In­te­gra­ti­on Frame­works Spring In­te­gra­ti­on, Mule ESB und Apa­che Camel. Ta­ke-Ho­me-Mes­sa­ge: Ein En­t­er­pri­se Ser­vice Bus be­rei­tet als reine In­te­gra­ti­ons­lö­sung mit­un­ter mehr Schmer­zen als er Pro­ble­me be­hebt - ein rei­nes In­te­gra­ti­on Frame­work funk­tio­niert hier häu­fig bes­ser. Spring In­te­gra­ti­on ist pri­mär dann sinn­voll, wenn man sich oh­ne­hin in einer rei­nen Spring-Welt be­wegt; die In­te­gra­ti­ons-Bi­blio­thek von Mule ESB bril­liert durch die An­bin­dung von Pro­duk­ten wie Face­book oder Lin­ke­dIn, an­sons­ten ist Apa­che Camel die Waffe der Wahl.

Eclip­se 4

Ein Über­blick über die Neue­run­gen beim Ent­wi­ckeln mit Eclip­se 4 - ein Lars-Vo­gel-Klas­si­ker: Ent­we­der an der Tas­ta­tur, oder mit der Kaf­fee­tas­se in der Hand auf der Bühne ste­hend :-)
Da ich bis dato keine Be­rühr­punk­te mit SWT hatte, konn­te ich na­tür­lich nur einen Grob­ein­druck mit­neh­men. Das Fazit, daß man für neue Pro­jek­te auf das ak­tu­el­le Frame­work setz­ten kann (und soll­te), war mir den­noch ein­gän­gig.

Si­che­re Soft­ware

Ein Dia­go­nal­flug über die OWASP Top 10. Hätte span­nend wer­den kön­nen, blieb aber lei­der eher an­ge­strengt-tro­cken.

Git, Ger­rit, Hud­son mit Eclip­se und Mylyn

Ger­rit ist ein sehr schö­nes Code-Re­view-Tool, das das Ein­che­cken von Code in den Trunk quasi einem "vier-Au­gen-Prin­zip" un­ter­wirft. Ein Com­mit lan­det erst dann im Ent­wick­ler-Re­po, wenn Hud­son "grü­nes Licht" mel­det (je nach Hud­son-Con­fig be­deu­tet das be­stan­de­ne Unit­tests, So­nar-Kri­te­ri­en er­füllt, etc.) und eine be­stimm­te An­zahl Ent­wick­ler ein "Dau­men nach oben" dafür gibt. Die In­te­gra­ti­on in Eclip­se ist in­zwi­schen sehr schön, so­wohl Hud­son als auch Ger­rit haben da schö­ne An­bin­dun­gen. Die Kom­bi­na­ti­on eines Ti­cket-Sys­tems mit Mylyn ist schon eine große Er­leich­te­rung bei der Ent­wick­lung, das Feed­back aus Sonar, Hud­son und der Work­flow via Ger­rit klin­gen sehr viel­ver­spre­chend.
Ge­gen­über dem Vor­trag vom Vor­jahr gab es lei­der nur re­la­tiv wenig Neue­run­gen.

Baby Steps mit Akka

Ok, mein ei­ge­ner Vor­trag war na­tür­lich Pflicht­pro­gramm ;-)
Ich hatte zu­nächst die Be­fürch­tung, daß das Pu­bli­kum eher spär­lich wer­den dürf­te: Letz­ter Pro­gramms­lot im am wei­tes­ten ent­fern­ten Raum (4. Stock, Na­del­öhr Auf­zug) mit der schlech­tes­ten Luft (nicht kli­ma­ti­siert und nach 6 Ses­si­ons ent­spre­chend sti­ckig)... den­noch war der Raum ge­ram­melt voll. Das Thema hatte wohl den Nerv ge­trof­fen: Es gab reges In­ter­es­se an Akka und ers­ten Schrit­ten mit der Ja­va-API. Edit: Eben lese ich, daß der Vor­trag beim Vor­trags-Ran­king auf Platz 8 ge­lan­det ist! Wow! Freut mich, daß es wohl wirk­lich ge­fal­len hat!
Ich muß zu­ge­ben, daß die Vor­be­rei­tung des Vor­trags mir auch ex­trem viel Spaß ge­macht hat: Akka ist eine ge­nia­le, sehr ele­gan­te Bi­blio­thek, und ich konn­te mir beim Durch­ar­bei­ten der Doku den Aus­ruf "Genau so! Genau so muß man das ma­chen!" mehr als ein­mal nicht ver­knei­fen ;-)
Die Bei­spiels­quell­tex­te lie­gen auf Git­hub, die Fo­li­en gibt es hier zum Down­load.