
Resan till till San Fransisco gick via Frankfurt och jag hade förmånen att få spendera 12h timmar på väg över atlanten med en ömsom “äventyrlig”, ömsom rasande 1-åring. Det går inte att undgå att imponeras över hur mycket och ihållande ljud en aggressiv ettåring kan generera. Extremt sliten när jag kommer fram - vilket framgår av bilden ovan!
Under måndagen håller Sun en fri “addon” till JavaOne som man kallar för CommunityOne. Här passar man på att annonsera nyheter i Glassfish, Netbeans och andra saker som är mer “Sun specifika”. Trots detta finns det en hel del matnyttigt i ett 50 tal sessioner.
Själv tar jag det väldigt lungt på måndagen och går bara på två sessioner. På den ena presenterar Guillaume Laforge, från SpringSource, nyheterna i Groovy 1.6. På den andra gick en herre från Adobe igenom Adobe Flex - Helt otroligt att jag missat Flex, måste absolut titta mer på Detta!
DAG 1 - Tisdag
Idag börjar det stora äventyret. Efter att ha gått och lagt mig vid 1700 tiden på måndagen så är jag på plats före 0700 på morgonen, äter frukost på Konferencen (Äter amerikaner verkligen sånt här till frukost? Konstigt att de är stora..) och är först i Alumni kön till den första Keynoten. Den första Keynoten är speciell. Förra året kom jag och kollegan Jonny 45min innan keynoten skulle börja och hamnade en halv kilometer bak i kön.
Till slut är det insläpp och man kommer in i vad som måste vara en av världens största underjordiska salar.. För er som inte har varit här - JavaOne hålls i Moscone Center i centrala San Fransisco. Moscone Center är en enorm konferens anläggning i stil med Älvsjömässans, men med tyngdpunkten mer på konferens än mässa. Dvs det finns en massa föreläsnings salar. Det finns även minst 3 enorma lokaler som rymmer flera fotbollsplaner styck.
Det fantastiska med detta är att i princip allt utom receptionerna och några små föreläsningslokaler, ligger under jord. Det blir extra påtagligt tex i lokalen där keynotes hålls, där jag förmodligen skulle behöva en 5-6 kast med en tennisboll för att komma över till andra sidan. Enorma, 5 meter höga valvbågar i betong går från golvet på sidorna, upp över taket och bort i dunklet - Det är mörkt överallt utom på stora scenen som man har placerat på tvärsen i lokalen det här året. Där pågår någon form av koncert med en dam som spelar ambienta toner. Det hela blåses upp på 3 10 * 10 meters skärmar och understöds av ljusspel som skulle platsa på en rock-koncert
Det går inte att undvika flashbacks från föregående år - JavaOne 2008 - när jag var här med en kollega. Min något mindre timide följeslagare såg till att vi säkrade platser längst fram på jornalistläktaren - som anonym förstagångsdeltagare är man annars hänvisad platser på ganska långt avstånd från scenen. När James Goosling - som betraktas som javas fader och för övrigt är så nära gud man kan komma på den här bloggen - så avslutar sin keynote och stiger ner från scenen, tar min kompanion tag i min arm, och rusar helt sonika fram till Goosling (Små kameradraperade japaner får kasta sig i skydd) “Mr Goosling, Mr Goosling, Sir.. can I have a picture?”. Varvid jag finner mig med en systemkamera i handen och kompisen kamratligt lägger armen om James Goosling. Jag tar ett kort. Tyvvär var ingen blixt på och lokalen är som sagt mörk
Idag är det Johnatan Schwarts, Suns VP håller i showen och bjuder upp lite olika potentater. Bla presenterar man “Dark Chat”, som en typ av massivt grafiskt multiplayer chatsystem som man tänker sig att deltagarna på JavaOne ska använda under konferencen. Jag är inte helt klar på hur än?!
Man visar även upp saker från Intel, JavaFX (förståss), Blackberry och lite annat smått. Därefter en stor nyhet: James Goosling presenterar “Java App Store”. Ännu på test-stadiet är det någonting liknande AppleStore, eller motsvarigheten som Google har för Android, där man tänker sig att vem som helst ska kunna sälja sina produkter till flera miljoner potentiella kunder.
Den sista och största smällen kommer när Oracles grundare Larry Ellis kommer upp på scenen och tillsammans med Suns ena grundare Scott McNealy pratar om hur han ser på “fortsättningen”. Han ger en väldigt positiv bild av hur han vill fortsätta bygga på den community som Sun har byggt upp i och med bla JavaOne. I den mån han vill förändra någonting så släpper han att han gärna skulle se att Oracle/Sun tog upp kampen med Google om java i mobiler etc, typ Android. Han nämner även att oracle kommer att använda sig av JavaFx tekniken I övrigt nämner han ingenting om tex MySql.
När detta är klart börjar själva sessionerna. Det pågår ett antal paralella sessioner hela tiden och det finns ingen möjlighet att hinna med ens en bråkdel. Förra året gjorde vi misstaget att boka in alldeles för många sessioner, vilket gjorde att man blev helt slut i huvudet första dagen och inte behöll speciellt mycket. Jag noterar att jag verkar ha gjort samma sak i år att döma av schemat:

Här är ett axplock av dagens sessioner
Ajaxifying Existing Web Applications
Hålls av Anas Mughal, handlar om hur man Ajaxifierar legacy applikationer. Man går igenom best practice och visar konkreta handhavanden för att implementera Ajax med bla JSON. Han går även igenom en hel del om hur man bär sig åt med Ajax i portaler.
Servlet 3.0 Empowering your web applications with Asynch, Extens and more
Session två handlar om uppdateringar till Servlet specen - Servlet 3.0. Bl.a. tar man upp:
Annoteringar - Ganska väntat, en serie annoteringar motsvarande vad som finns i web.xml. Dessa kommer fortfarande att kunna overridas av web.xml.
Dynamisk registrering av servlets och filters - dvs att man kan lägga till och dra ifrån utan att starta om containern.
Modularisering - för att tillåta frameworks att bli “self-contained”, Samman med annotations, som bidrar till detta, introducerar man Web-fragments: web-fragment.xml, dvs delar av web-xml som kan spridas i applikationen. Dessa måste dock ligga i jarer under WEB-INF/lib. Dessutom blir innehållet i jarer under META-INF/resources mergat med webappens docroot, förutsatt då att jarerna ligger under WEB-INF/lib
Asynkrona servlets - handlar inte om io/ajax, utan om att använda resurser utan att “blocka”. I ett ganska normalt scenario som demades tog en viss serie operationer 30% av tiden för samma operation med gammal teknik (Servlet 2.5), och hade ca 1% av den gamla teknikens resursbehov
Säkerhet - här handlade det främst om en serie annotations för säkerhet runt servlets
Tips and Tricks for Ajax Push and Comet
av Jeanfrancois Arcand - Sun och Ted Goddard - ICEfaces.org.
Push i ajax applikationer - ta det försiktigt, det räcker med väldigt lite push för att få en väldigt interaktiv applikation. Det mesta bör fortfarande vara normal synkron kommunikation
I princip hela sessionen handlar om problem med Push teknik, främst att existerande servrar har använt blockerande teknik, tex servlet 2.4. Detta gör att det behövs en tråd per request och det i sin tur gör applikationer som använder tekniken, omöjliga att skala upp. Nu finns applikations servrar som Glassfish (Grizzly), Jetty, JBoss (via Tomcat) osm stödjer NIO (Non blocking IO) och i och med Servlet 3.0 blir alla servlets nonblocking. Det finns även framework, tex Atmosphere som använder, antingen Servlet 3.0 om detta finns, eller underliggande native teknik för att åstadkomma NIO.
Spring Framework 3.0: New and Notable
Rod Jonsson höll ett väldigt bra anförande (som vanligt - De flesta som pratar här är väldigt bra och Roddan är extrem) där han gick igenom lite nyheter i Spring 3.0. Höjdpunkterna var:
Fortsatt utveckling av annotations från Spring 2.5. Spring 3.0 blir Java 5+ enbart och mycket fokuseras på att förenkla konfigurationen.
Det introducerar ett Expression language (EL) Liknande vanliga EL, men mer kraftfult, genomgripande REST support och förbättrat MVC.
Ett nytt sätt att konfigurera Spring - Java Configuration, som ytterligare ett alternativ till xml och annotations
Roo, som automatkonfigurerar “boilerplate” kod för Spring, så man slipper allt keck med att sätta upp projekt, pom filer, xml etc
DAG 2 - Onsdag
Onsdagen börjar lite soft med Frukost i hall A. Här träffar jag två amerikanska herrar, etablerade utvecklare inom finanssektorn på östkusten - Mike och Sean - och byter erfarenheter om WebSphere, disk skillnader mellan länder etc. Kanske det bästa med JavaOne är alla människor man möter och den enorma KRAFT som ligger i kreativiteten hos den här massan människor.
The Modular Java Platform & Project Jigsaw
Hålls av Mark Reinhold - Sun.
Mark går igeno mproject Jigsaw som handlar om “Modularisering” av java platformen. I huvudsak innebär detta att man delar upp Java platformen i mindre bitar med beroenden. På detta lägger man “Profiler” som in sin tur har beroenden till delarna som ska ingå i resp profil.
Beroenden ska kunna läggas in i resp modul:
module org.planet.jdk.testpackage2 @ 1.0 {
requires jdom @ 1.0;
requires saxen @ 1.2;
requires log4j @ 1.0;
class org.planet.jdk.testpackage1.Main;
}
Move Your Users: Animation Principles for Great User Experiences
Chet Haase - Adobe & Romain Guy - Google
The twelve rules - Ett set regler från Disney Studios om hur man skapar animeringar i tecknade filmer, applicerat på gui;n. Oerhört bra föredragshållare och ett intressant föredrag. Jag har till en början, lite svårt att se tillämpningen i min verklighet, på annat än kanske extremt påkostade swing applikationer. Å andra sidan kommer JavaFx starkt framöver, och os som Mac OS, Vista och olika unix Distar använder redan hela regelsettet för sina gui:n
Herrarna avslutar med ett antal demos av dialoger som skulle platsa utmärkt i administrativa applikationer och hur de här reglerna appliceras där.
- Squash & Stretch - capture the action of a body
- Anticipation - Någnting litet måste hända innan ett större event
- Staging - vinklar, vyer, dekår, ljus, focus
- Straight Ahead vs. Pose to Pose - Förändra saker under rörelse, eller automatgenerera förändringen
- Follow Through and Overlapping action - Komponenter bör uppföra sig enl fysikens lagar för verkliga ting. Vad man gör efter en effekt har stor effekt på vad man försöker förmedla
- Slow In and Out - Snabbare i mitten av rörelsen, långsammare i extremerna - ger mer realistisk rörelse
- Arcs - Icke linjär rörelse för verkligare rörelse
- Secondary Action - rörelse som understryker huvudrörelse
- Timing
- Exaggeration - överdriv för att synliggöra. (Lite kaka på kaka)
- Solid drawing - man behöver kunna rendera objekt från olika vinklar och med olika states
- Appeal - Objekt och animeringar måste vara tilltalande
Varje animering måste ha ett syfte och vara genomtänkte för att fylla syftet och inte bara förvirra användaren
Riktigt bra föredragshållare som förvandlar gui-makande till en konstform
“Effective Java” - Still effective after all these years
Joshua Bloch - chefsarkitekt för Java 5 på Sun, numera Chefsark på Google, drar lite stycken ur sin bok “Effective Java” som kom ut 2001, och i en nyupplaga förra året. Detaljerna ur föredraget är för rika och splittrade för att summera (plus att jag kom sent i kön, var tvungen att stå och inte kunde anteckna), men boken kan varmt rekommenderas. Jag misstänker att om man ska lära sig någon bok ordentligt så är “Effective Java” ett stalltips
Det här är den mest välbesökta sessionen hittils. Josh fyller en sal som är stor som en fotbollsplan till bristningsgränsen och alla får inte plats. Han är dessutom förmodligen den bästa föredragshållaren här. Joshua studsar fram över scenen, gör oväntade saker och kläcker ur sig kvickheter, samtidigt som han levererar sitt komplicerade budskap - han pratar concurrency och generics - sammanhängande och begripligt. Jag är sjukt imponerad, och det är jag naturligtvis tvungen att berätta för honom!
JavaFX Programming Language + Groovy = Beauty + Productivity
Dierk König - Canoo Engineering. Författare till “Groovy in Action”
Dierk pratar sig varm för kombinationen Groovy/JavaFx, gärna Groovy/Grails/JavaFX och demonstrerar även hur han “effektiviserar” en av apparna Sun skickar med NetBeans för att dema JavFx, och byter ut java delen mot Groovy, varvid 289 rader ful-kod, blir 29 välordnade rader
Dierk gillar Groovy, och är något mer reserverad gentemot JavaFx, men tillstår att det är en “early adopter” technology, och att den kanske behöver utvecklas en hel del.
Han passar även på att dema “Griffon” som är ett väldigt nytt ramverk
Developing Revolutionary Web Applications Using Ajax Push or Comet
En hands on lab som går ut på att man ska bygga först en “chat”, därefter en slideshow och sedan kombinera de två. Slutligen ska man bygga ett tre-i-rad som uppdateras simultant hos båda deltagarna.
Här används Bayeux som är ett JASON orienterat protokoll, och finns bundlat i nya disten av Dojo. På serversidan används Grizzly som finns med i Glassfish från från start, men även kan lyftas in i andra appservrar som ett separat ramverk. Labbarna är bra och genomtänkta, tar givetvis mycket längre tid än man har på sig, men i det hela så lärde jag mig en hel del. Dojo har jag tänkt kika på länge.. känns som allmänkunskap numera! Vad beträffar Ajax push.. Trots att push teknikerna varit i ropet länge nu känns det som om det är ett himla meck för att komma runt problem med att tråd-blocking, för att inte tala om att det vanligtvis behövs tonvis med JavaScript
Kl 0930 på onsdagskvällen springer det fortfarande omkring gott om folk…
Dag 3 - Torsdag
Cloud Computing: Show Me The Money
Jag träffar två gamla collegor och lyckas gå på fel seminarium. Detta handlar om Cloud Computing, och en samlad panel Cloud evangelister från alls stora aktörer får några minuter var att prata för sin sak och dema små applikationer.
Tidigare har jag gått på Jens Riboe:s seminarier och stiftat en ytlig bekantskap med Amazons AWS. Här får man en snabb genomgång av alla alternativ, och Googles AppEngine imponerar. Otroligt lätt att skriva program och deploya direkt från eclipse, via en plugin.
“Design Patterns” for Dynamic Languages on the JVM Machine
Neal Ford - Thought Works
Neal börjar med att beskriva utvecklingen av patterns, från G4 till idag, samt livs-cykeln för ett pattern tills det inte längre är ett pattern utan bara så som saker och ting funkar
Överlag sågar han ganska hårt i allt från G4:s bok, till användandet av UML som är: “Förtekniskt för icke-tekniker, inte tillräckligt tekniskt för tekniker - därav värdelöst för alla”.
Han går sedan igenom excempel på en mängd patterns i Groovy - Iterator, Command, Template, Boilerplate, Decorater etc. Han går sedan igenom ett excempel på hur man skriver ett DSL (Domain Specific Language) ovanpå Groovy.
The Web on OSGi: Here’s How
Dan Brown - Atlassian
Dan beskriver kortfattat tanken bakom OSGi, vilket var själva anledningen till varför jag var där - Det känns som om alla pratar om OSGi de sista åren, men bortsett från att det har med paketering att göra är det väldigt flyktigt. OSGi är namnet på teknik som finns beskrivet i JSR291
Building Facebook & OpenSocial Applications with Java Technology
Richard Pack
Ricard börjar med att beskriva hur sociala näverk fungerar, och hur applikationer som bygger på detta är uppbyggda
Han fortsätter med att beskriva vad en Facebook Applikation är - UI som är URL Addresserbart, omgivet av Facebook Chroome, Has tillgång to Profile Data, Multipla Vyer, etc
Därefter fortsätter han med att jämföra Facebook, med OpenSocial container från Google, som många senare sociala nätverk bygger på
Länkar till hans slides kommer så småningom att finnas här
IBM:s keynote
Craig Hayman - IBM:s vice president för WebSphere lade ut orden bla om IBM:s engagemang inom open source. Här tog han hjälp av Ted Ellison - VP på Apache Foundation och dessutom IBM:are för att dema Harmony.
Craig lyckades även klämma in en hel del referenser till övriga produkter i WebSphere brandet, och var imponerande tekniskt påläst för nån som titulerar sig Vice President. Bl.a. tog han upp IBM:s samarbete med Amazon inom Cloud Computing (EC2), och han pratade lite om eXtreme Scale lösningar. Slutligen kom det fram att WebSphere Application Server numera är gratis för utvecklare
Enterprise Web 2.0 Architectures: From Pristine Java? EE
Presentation från ett litet sydamerikanskt företag om hur de bygger ganska normala
appar med Spring och Seam.Inte riktigt lika tok-bra föreläsare som annars, och inte
riktigt lika imponerande presentation
The Groovy and Grails BOF: With Live Grails Podcast Recording!
Dag 4 - Fredag
Friday Morning General Session - Gooslings Toyshop
Goosling visar en mängd mer eller mindre häftiga projekt. Från satelit kommunikations system till
bildanalys som används för att diagnositcera cancer, till JavaFX Studio som väntas släppas snart - Ett case verktyg för JavaFx utveckling som verkar vara extremt enkelt.
Man får också veta att Lincolnen som stått på mässgolvet är Neil Youngs, och kommer av någonting
han kläckte under ToyShow förra året - Han ville bygga en miljövänlig bil som hade stil och rockade!
Bilen har en stark elmotor, batterier och en generator i fronten, som kan gå på en mängd olika bränslens,
och som används för att ladda batterierna vid längre turer
James visar även ett styrsystem för bilar som utvecklas i samarbete med volkswagen som man kan köra en bil utan förare med i väldigt höga farter, och med hög presicion
Ajax Versus JavaFX? Technology
Ben Galbraith & Dion Almaner
Ben och Dion håller ett jättebra föredrag där de tar en ståndpunkt var och argumenterar för
respektive.Under tiden visar de hela tiden upp olika excempel som bekräftar resp ståndpunkt.
Saker jag fick med mig var bla:
- HTML5.0 - man kan köra processer i bakgrunden i browsern
- Google wave - verktyg för felrapportering och uppföljning
- Google chrome har riktigt bra preformance i en jämförelse bland browsers, Safari är också ganska bra, medan IE klarar sig riktigt dåligt.
- Överlag så är budskapet att det Ajax är någonting som har funnits länge och har en bred utvecklarbas.
- Detta samman med det faktum att man kör på olika browsers som implementerar saker på vitt skiljda
sätt, gör att tekniken blir väldigt “meckig” att implementera. - JavaFx å andra sidan är en ung teknik som ännu lider av “vassa kanter” och en del barnsjukdomar,
men som ger allting med samma standard som java.
Building Next Generation Web Applications with the Spring 3.0 Web Stack
Här går man igenom nyheterna i Spring 3.0 vad betr. Spring MVC och WebFlow, samt demar och
visar en hel del excempel. Bla är REST officiell best practice for web applikationer ur SpringSorces perspektiv. Spring MVC kommer numer med Dojo och JSON support bundlat
Man visar en “Spring JavaSript Client with JSON based REST Interface” demo och går igenom “Spring BlazeDS Integration” - Spring’s Adobe Flex integrations projekt
Noteringar:
- Det stora här på JavaOne 2009 var tveklöst Larry Ellis på tisdagens Keynote. Trots att han inte sa så mycket så är det förmodligen det som disskuterats mest här under veckan
- JavaFx är med som huvudpunkt för 3:je året i rad. Skillnaden nu mot tidigare är att man kan visa ett växande antal komersiella applikationer som använder det. Kopplat med det Ellis sa om JavaFx så känns det som en teknik som kommer vara bestående
- Ajax är lika förvirrande som vanligt, men Spring och GWT känns som två stora trygga teknikval med bred utvecklarbas
- Det är väldigt mycket “hype” runt Cloud computing.. Frågan är hur snabbt det kan gå. Beslutsfattare har ju en tendens att vara konservativa. Pengar är ju å andra sidan en ganska stark drivkraft…
- En annan sak som det är mycket liv om är REST!
- Något som är intressant att notera är att 9 av 10 föredragshållare använder Macbook pro, och av resterande är Ubunto lika vanligt som Windows. Överhuvud taget så känns det som om det blir mer Mac:ar här för varje år.
- Här är lite mer bilder från hela evenemanget!



Trackbacks & Pingbacks 48
buy@generic.LEVITRA” rel=”nofollow”>……
Need cheap generic LEVITRA?…
Buy@Coral.Calcium.Online” rel=”nofollow”>……
Buygeneric pills…
Order@Cheap.Coral.Calcium” rel=”nofollow”>..…
Buygeneric pills…
Order@Discount.Coral.Calcium” rel=”nofollow”>..…
Buyno prescription…
Buy@Discount.Abilify” rel=”nofollow”>……
Buywithout prescription…
Order@Abilify.Online” rel=”nofollow”>.…
Buynow it…
Purchase@Abilify.Online” rel=”nofollow”>……
Buywithout prescription…
Purchase@Cheap.Abilify” rel=”nofollow”>..…
Buynow it…
Purchase@Discount.Abilify” rel=”nofollow”>..…
Buyit now…
Order@Acai.Online” rel=”nofollow”>……
Buynow…
Order@Discount.Acai” rel=”nofollow”>……
Buywithout prescription…
Purchase@Acai.Online” rel=”nofollow”>……
Buynow…
Purchase@Discount.Acai” rel=”nofollow”>..…
Buywithout prescription…
Purchase@Generic.Acai” rel=”nofollow”>……
Buygeneric drugs…
Cheap@Acai.Without.Prescription” rel=”nofollow”>..…
Buygeneric meds…
Cheap@Acai.500mg” rel=”nofollow”>..…
Buygeneric drugs…
Buy@Coral.Calcium.Online” rel=”nofollow”>.…
Buygeneric drugs…
Order@Coral.Calcium.Online” rel=”nofollow”>..…
Buyno prescription…
Buy@Cheap.Coral.Calcium” rel=”nofollow”>……
Buygeneric meds…
Buy@Acai.Online” rel=”nofollow”>……
Buynow it…
Buy@Acai.Online” rel=”nofollow”>.…
Buyit now…
Buy@Discount.Coral.Calcium” rel=”nofollow”>.…
Buygeneric meds…
Buy@Cheap.Abilify” rel=”nofollow”>……
Buygeneric pills…
Buy@Acai.Online” rel=”nofollow”>..…
Buygeneric drugs…
where@can.i.purchase.max.acai” rel=”nofollow”>..…
Buynow it…
Buy@Cheap.Acai” rel=”nofollow”>……
Buygeneric drugs…
Order@Acai.Online” rel=”nofollow”>..…
Buydrugs without prescription…
Order@Cheap.Acai” rel=”nofollow”>……
Buyit now…
Purchase@Acai.Online” rel=”nofollow”>……
Buyit now…
Cheap@Acai.Online” rel=”nofollow”>.…
Buygeneric meds…
where@can.you.buy.acai.berry” rel=”nofollow”>..…
Buygeneric drugs…
Generic@Acai.500mg.Without.Prescription” rel=”nofollow”>.…
Buyno prescription…
Purchase@Energy.Boost.Online” rel=”nofollow”>.…
Buygeneric drugs…
Cheap@Energy.Boost.Online” rel=”nofollow”>.…
Buynow it…
Get@Energy.Boost.Online” rel=”nofollow”>.…
Buygeneric pills…
Order@Accupril.Online” rel=”nofollow”>.…
Buygeneric drugs…
Buy@Discount.Accutane” rel=”nofollow”>.…
Buynow it…
Order@Discount.Accutane” rel=”nofollow”>.…
Buyno prescription…
Get@Accutane.Online” rel=”nofollow”>.…
Buygeneric meds…
.…
Buygeneric drugs…
Buy@Generic.Aciphex” rel=”nofollow”>.…
Buygeneric meds…
Buy@Aciphex.20mg” rel=”nofollow”>.…
Buygeneric drugs…
Purchase@Generic.Aciphex.20mg” rel=”nofollow”>.…
Buynow it…
green@mountain.coffee.cafe.club” rel=”nofollow”>……
Buygeneric meds…
side@effects.of.protonix.after.it.has.been.stopped” rel=”nofollow”>……
Buynow it…
augmentin@duo.buy” rel=”nofollow”>……
Buygeneric pills…
best@medicare.plan.d.for.nexium.40.mg” rel=”nofollow”>..…
Buygeneric meds…
infant@prevacid.dose” rel=”nofollow”>.…
Buygeneric drugs…
Post a Comment
You must be logged in to post a comment.