
Mein Tag bestand hauptsächlich aus zwei Tracks, dem Java EE/Webapps Track und dem Lucene/Solr Track, die Gott sei Dank auch am weitesten räumlich auseinanderlagen, so dass ich immer hin und herlaufen musste. Dabei ist mir aufgefallen das die ApacheCon gegenüber den meisten Konferenzen die ich so kenne doch ein sehr diverses Publikum hat, man hat den Eindruck die Leute kommen aus aller Herren Länder, nicht nur aus Europa. Das Vortragsprogramm war vollgepackt und es gab in jedem Slot einen Vortrag den ich sehen wollte. So viele Konflikte hatte ich heute nicht, beim letzten Slot hat es mir etwas leid getan das ich Lucene 4 dem Tomcat 8 vorziehen musste.
Auf jeden Fall war der Tag sehr sehr lehrreich, die Talks waren meistens sehr gut und auch voller Wissen das ich noch nicht hatte.
Hier also meine Notizen zu den Vorträgen:
CDI at Apache – Open WebBeans and DeltaSpike Deep Dive (Mark Struberg)
OpenWebBeans
CDI ist anscheinend ein Buzword das ich noch nicht kannte (DI = Dependency Injection,
C = Context, wobei das sowas wie ein Scope ist im DI Sinne, also so etwas wie ein RequestScope, SessionScope, ApplicationScope etc.). Dafür gibt es einen JSR mit der Nummer 299, der quas das was was Spring macht als Standard beschreibt. Der Vorteil ist dabei sit wohl das CDI bzw. JSR 299 in der Form von OpenWB 3x schneller ist als Spring da es viel zur Boottime macht.
DeltaSpike
All in all Framework für alle Layer (Application Stack) in Form von JSR 299 Plugins.
Im Großen und Ganzen schmeißt man Applikationsweite Events durch die Gegend (Benutzer hat sich angemeldet) die man mit Annotationen binden kann. Dazu kommen noch alle möglichen Custom Annotationes die man bauen kann, klingt so als wenn man am Ende direkte Method Calls einfach durch eine Menge an Annotationen ersetzt und dann funktioniert das alles schon. Macht irgendwie Code Browsen anders. Würde ich trotzdem mal gerne in einem kleinen Projekt testen.
Query Parsing – Tips and Tricks (Erik Hatcher)
Hauptsächlich Überblick über die unterschiedlichen Query Parser, da hat sich schon einiges getan seitdem ich den Hund gebaut habe, aber das war ja auch 1.0.
GeoFeatures sind jetzt Build-In und eigentlich ist das was ich aus dem Talk mitgenommen habe das alles schon irgendwie geht. War auch von der Tiefe her sehr gut, wenn man Lucene nicht vom API her kennt war man schon etwas verloren.
Apache TomEE, Java EE 6 Web Profile on Tomcat (David Blevins)
TomEE ist der Java EE 6 Web Profile (ca. 12 anstelle von den vollen ca. 24 Specs für Full Profile, da sind noch so tolle Technologien wie CORBA enthalten) Stack aus dem Hause Apache. Im Großen und Ganzen wohl erstmal schneller und besser als die alten bloated Implementierungen (JBoss, Glassfish).
Konkret technologisch bedeutet TomEE: Tomcat + CDI – Apache OpenWebBeans, EJB – Apache OpenEJB, JPA – Apache OpenJPA, JSF – Apache MyFaces, JSP – Apache Tomcat, JSTL – Apache Tomcat, JTA – Apache Geronimo Transaction, Servlet – Apache Tomcat, Javamail – Apache Geronimo JavaMail, Bean Validation – Apache BVal
Wie gesagt, klingt ganz gut, sollte man mal als Stack ausprobieren. Natürlich mit einer sinnvollen Frontend Technologie wie Wicket. Wobei das taugt bestimmt auch sehr gut wenn man mal eben $Webservice oder $RestService an den Start bringen möchte ohne viele zusätzliche Libs zu suchen.
Und Arquillian habe ich heute mehrfach gehört, das ist ein Integration Test Framework für JavaEE, aber das kann man bestimmt auch für Custom Stacks benutzen. Wobei Integration hier heißt das es tatsächlich die App in einem TomEE deployt und man alle Konfiguration in dem Arquillian Code macht. Fancy, sieht in der der Demo sehr cool aus, müsste man mal mit Real World Apps ausprobieren.
Am Rande aufgeschnappt:
YourKit – Profiler
Solr 4, the NoSQL database (Yonik Seeley)
Guter Talk von dem Typ der Solr gebaut hat. Die grundsätzliche Idee ist das man alles was man über Solr weiß vergessen soll und ihn eher als ein NoSQL-Store sehen soll mit dem man auch ganz gut suchen kann.
Allgemein viele neue Features in Solr 4 mit denen man bestimmt ganz tolle Suchen bauen kann. Z.B. Functions beim Suchen und beim ausliefern der Felder mit denen man die Werte in den Feldern noch modifizieren kann. Außerdem sieht die Admin Console nicht mehr so aus als wenn ich sie designt hätte und hat auch mehr Infos.
Stark empfohlen hat er auch folgenden Blog Artikel:
http://blog.cloudera.com/blog/2010/04/cap-confusion-problems-with-partition-tolerance/
Am Rande aufgeschnappt: ZooKeeper scheint auch mal eine gute Lösung zu sein wo jGroups nicht (mehr) ausreicht. Solr 4 benutzt das auch zum Clustering.
ElasticSearch in Production: lessons learned (Anne Veling)
ElasticSearch ist sowas wie Solr, also Lucene basierter Search Server mit REST API, JSON in, JSON out. Plus Distributed, sind wir das nicht alle.
Leute da draußen bauen krassen Kram: http://udini.proquest.com/ (Scala, Unfilitered, MongoDB, Solr und ElasticSearch auf Amazon EC2). Scheint aber gut zu laufen.
Als neues Buzzword fand ich auch “nodb” ganz schön, das ist dann quasi die Steigerung von NoSQL.
ElasticSearch ist also ein wenig der coole kleine Bruder von Solr.
http://de.slideshare.net/AnneVeling/elasticsearch-in-production-lessons-learned
Wicket – where do we go from here? (Sven Meier)
Nicht so viel neues wenn man Wicket schon mal benutzt hat, MetaDataKey kannte ich noch nicht, ist m. E. aber auch gefährlich, in die Session zu schreiben ist ja irgendwie heute nicht mehr so cool (https://github.com/svenmeier/apachecon-wicket/blob/master/src/main/java/eu/apachecon/customer/ui/model/CustomerSessionModel.java)
Ansonsten war das ein etwas komischer Titel für einen Talk der eigentlich eine Intro zu Wicket sein wollte.
Mitgenommen habe ich das ich mir mal Tepstry 5 ansehen möchte und
Vaadin auch (https://vaadin.com/home),
Content extraction with Apache Tika (Jukka Zitting)
Tika ist “erwachsen”, Version 1.2, kann man gut benutzen wenn man einen Use Case dafür hat. Kann eigentlich alle Dateiformate die es gibt ;).
Lucene 4 Performance Tuning (Simon Willnauer)
Hat schweren Herzens gegen das “Tomcat 8 preview” von Mark Thomas gewonnen, aber bevor ich einen Tomcat 8 überhaupt benutzen kann wird noch einiges Wasser die Elbe herunterfließen.
Blazingly Fast Indexing, tausend neue Features und vor allem haben sie ausnahmsweise mal den API geändert, komplett. Aber wie immer, alle neuen Features und perfomance Optimierungen klingen großartig will ich auch.
Am Abend gab es dann Bier und Brezen gesponsert von Adobe und noch viele gute Gespräche. Von den EE Leuten habe ich gelernt das wenn man die Spec doof findet muss man halt die Spec ändern. Nachdem wir dann die Arena dicht gemacht haben gabs noch ein Abendessen von CodeBusters(.es) gesponsert. War im großen und ganzen ein sehr lustiger Tag.
49.234350
8.878945