Eröffnung durch Sebastian Meyen
Sebastian hatte dieses Jahr weniger Neues zu berichten als auch schon. Organisatorisch sei die JAX08 mit über 2000 Besuchern und 211 Sessions eine neue Superlative. Aus fachlicher Sicht betonte er die Wichtigkeit von Technologie, Architektur und agilen Prozessen. Technologisch warten neue Sprachen wie Groovy oder Skala auf. Aus Sicht der Architektur spielen Thema wie SOA oder OSGi ein immer wichtigere Rolle. Und in den agilen Prozessen ist dank einem eigenen SpecialDay, der Montags sehr gut belegt war, auch allen klar, wie wichtig das Thema sei. Zwei Stichworte sind mir besonders geblieben: Scala und OSGi. Scala ist eine neue Sprache, die speziell für die Java Platform konzipiert wurde. OSGi hat irgend etwas mit Modularisierung und Bundles zu tun und kommt bei Eclipse und Spring vor. Mehr dazu werde man in den Keynotes oder Sessions erfahren.
Keynote von Rod Johnson: The Future of Java EE
Man muss sich schon ordentlich am Stuhl festhalten, wenn Rod Johnson seine Prognosen zur Zukunft von Enterprise Java aufstellt. Gestartet ist er ganz sanft und hat aufgezeit, dass die Java Enterprise Edition in drei verschiedene Profile zerteilt werden soll:
Profil A: Servlet, JSP, EL, JSTL, Annotations -> läuft minimal auf einem Tomcat
Profil B: Profil A und EJB, JTA, JPA, JSF, WebBeans -> also zusätzlich Persistence und Component Model
Profil C: alles -> JEE klassisch, wird aber weniger Bedeutung haben
Rod betont auch, dass es im Moment nur eine Hand voll Applikationsserver gebe, die sich den Markt teilen. Sobald aber die leichtgewichtigen Profile von JEE da wären, wird auch die Nachfrage nach leichteren App.-Servern steigen und die Konkurrenz wird aufleben. Dann werde der Markt einen Server, der zwischen Tomcat und Weblogic/WebSphere liege haben.
OSGi wird nach Rod die Basis von Java, aber auch die Basis der neuen App.-Server sein. Denn nicht zuletzt beweisen Frameworks wie Spring oder Hibernate, dass eine Modularisierung mit OSGi einen grossen Vorteil bringt.
Um nun seine Keynote dramaturgisch auf den Höhepunkt zu treiben behauptet Rod, dass EJB tot seie. Die Enterprise Java Beans seinen das Cobol von JEE und werden bald keine Bedeutung mehr haben. Denn EJB könne mit leichtgewichtigen Mechanismen von Spring und AOP ersetzt werden. Die EJB's seien leidiglich eine Neuerfindung des Java Community Process (JCP), von Sachen die es eigentlich bereit gab und die gut funktionierten. Ob diese Prognose tatsächlich so schnell eintreten wird sei mal dahingestellt. Rod ist ja auch als einer der treibenden Kräfte hinter Spring ein wenig vorbelastet. Die Zukunfgt wird aber sicher einige kontroverse Diskussionen zu diesem Thema bringen.
Links
Worte von Sebastian Meyen
Worte von Eberhard Wolff
Torsten Winterberg - SCA - ein Assembly Modell für unsere Services
Service Component Architecture (SCA) ist eine sprachneutrale Komponenten Architektur, die es erlauben soll, Services aus verschiedenen Technologien (Java, BPEL, C++, etc.) zu verbinden. Dazu kann ein Service einheitlich als Komponente verpackt werden und von anderen Komponenten angesprochen und genutzt werden. Nach aussen hin sehen so alle Komponenten gleich aus, die jeweilige Implementierung kann in Java, BPEL, C++ oder anderen Sprachen geschehen. SCA ist noch sehr jung. Spezifiziert durch die OASIS gibt es bereits von Oracle eine Implementation in der SOA Suite 11g und von Apache Tuscany eine Open Source Lösung. Auch Spring wird in nächster Zeit ein Produkt anbieten, das bis anhin aber noch nicht über die Spezifikation hinaus ist. Die grösste momentane Schwäche ist noch, dass es bis jetzt keine Spezifikation gibt, wie die Integration über einzelne SCA Domänen hinaus funktionieren soll. So ist ein Austausch zwischen verschiedenen Herstellern noch nicht möglich.
incubator.apache.org/tuscany
Christian Kappert - Definition einer serviceorientierten Referenzarchitektur
Die Einführung von SOA ist so vielfälltig wie die Definitionen von SOA selber. Die IT möchte am liebsten aus technischer Sicht SOA vorantreiben, das Business dahingegen aus der fachlichen Sicht. Der Königsweg wird wohl ein Kompromiss sein: Ein fachlich nicht all zu triviales Projekt in guter Zusammenarbeit zwischen Bussiness und IT anzupacken und umzusetzten. Zur SOA Einführung gibt es bereits etwas ähnliches wie das Capabillity Mautirty Model, ein sogenanntes Service Integration Maturilty Model.
Markus Völter - Trends in Sprachen
Sorry Herr Völter, ihre fachliche Kompetenz ist unumstritten, aber das Tempo der Folien und Imputs hängen jeden ab, der Groovy, Ruby, Erlang, Lisp und Skala nicht bereits kennt. Die Quintessenz wurde mir dabei aber sehr deutlich: Lerne jedes Jahr eine neue Programmiersprache! Nicht dass man die dann auch alle gleich im Projekt anwenden kann. Nein, es geht mehr darum, neue Ideen und Konzepte kennen zu lernen und darüber nachzudenken, ob dieses coole Feature nicht auch in der Projektsprache nutzbar ist.
Glücklicherweise ist das Dokument zum Vortrag bereits online: www.voelter.de/data/articles/trends2007.pdf
Keynote von Bernd Löchner - Fehler - Na und!
Fehler sind in Softwaresystem allgegenwärtig. Manchmal haben sie aber verherrende Folgen wie etwa die Sprengung der ersten Ariane 5 Rakete. Herr Löchner hat auf eine humorvolle Art und Weise aufgezeigt, wie Fehler entstehen, das sie für auswirkungen haben und wie man damit umzugehen habe (oder wie er es bei Zühlke macht). Er habe mit ein paar Kollegen in einem Weiterbildungscamp einige Patterns ausgearbeitet, die das Ziel haben, mit den unvermeidlichen Fehlern umzugehen:
1) Sicherheitsfassade um die eigene Applikation. Konsequente überprüfung der Werte von auserhalb stehenden Systemen.
2) Logging persistent halten um später auch Fehler nachvollziehen zu können.
3) Fehlerkultur der Firma fördern, zu seinen Fehlern stehen und daraus lernen
Markus Völter - 20 Fundamentals of Software Architecture
Markus Völter präsentierte einige zeitlose Architekturkopnzepte, die sich trotz dem grossen Hype nach immer neuen Sprachen und Frameworks gleich geblieben sind.
- Breaking things down: Modularisierung, Kapselung, Interfaces sind wichtig zur verständlichen Aufteilung von Systemen
- Scaling things up: Standard Librarys sollen genutzt werden, die Architektur soll in gewissem Masse auch einschränken und Leitlinien schaffen
- und noch weiteres: www.voelter.de/data/presentations/TrendsInLanguages2008.pdf
Papick Garcia Taboada - Google Gears
Google Gears ist eine Browser Erweiterung für den IE und Firefox, die es erlaubt, Internetapplikationen auch offline zu verweden. Ein mächtiges Beispiel dazu ist Google Docs, das es nun erlaubt, Texte, Präsentationen und Tabellen auch offline zu erstellen und beim nächsten Hotspot online zu synchronisieren. Dahinter liegt eine Datenbank, die lokal Daten ablegt, ein lokaler Server, der im Offline-Zustand Anfragen des Benutzers beantwortet und einige Synchrinize Mechanismen, die Webspace und lokale DB abgleichen. In Zukunft werden bestimmt noch weitere Online Tools diese Möglichkeit nutzen. Ich bin gespannt darauf.
Mittwoch, 23. April 2008
Montag, 21. April 2008
JAX - 1. Tag
Am ersten Tag der JAX besuchte ich den Powerworkshop zu Spring. Eberhard Wolff ist da wohl einer der bekanntesten Sprecher zu diesem Thema. Bei Spring geht es eigentlich darum, dass einfache Objekte (POJO's) durch Dependency Injection miteinander Verknüpft werden. Diese Verknüpfung kann entweder durch eine XML-Beschreibung oder durch Annotations direkt im Code geschehen. Da man aber versucht, den einzelnen POJO's nichts von einem Spring Framework ansehen zu lassen, finde ich die XML Variante persönlich besser. Der Vorteil von POJO's in Spring gegenüber etwa EJB ist, dass die einzelnen Klassen überhaupt keine Abhängigkeit zum darunter liegenden Framework haben. Sie sind so eher wiederverwendbar aber vor allem auch für sich alleine testbar. Denn die Dependency Injection, die von Spring vorausgesetzt wird und sich in Form eines Konstruktors oder einer setter Methode offenbart, erlaubt es natürlich ganz einfach, in die Klasse zu Testzwecken auch Mockobjete zu inizieren.
Spriong besitzt zudem viele Templates, die es erlauben, auf andere API's ganz einfach zuzugreifen. Beispielsweise wird für einen Datenbankzugriff via JDBC die ganze Exceptionbehandlung und das schliessen der Connections vom Framework übernommen. Es spielt übrigens auch keine Rolle, ob nun JPA, Hibernate, oder etwas anderes als OD Mapper unter Spring liegen. Für die Anwendung werden diese Funktionalitäten gekappselt und eventuelle Exception werden abstrahiert.
Besonders interessant finde ich auch die Verwendung von Transaktionen. So kann mit @Transactional eine Methode bezeichnet werden, die dann ähnlich zu synchronize, diesen Block mit einer Transaktion versieht und nötigenfalls einen Rollback macht.
AOP wird in Spring auch gross geschrieben. Es geht je darum, dass gleicher Code an vielen Stellen verwendet wird und so als Aspekte zusammengefasst werden soll. Dies ist etwa beim Logging, bei Security oder bei Transaktionen der Fall. Spring AOP ist dabei einiges einfacher anzuwenden als AspectJ.
Spring hat sich ja von einem Framework zu einem richtigen Oekosystem gemausert. So gibt es zahlreiche Unterprojekte, die es den Entwicklern einfach machen, coole Features in ihren Code einzubauen. Oberstes Kredo bleibt dabei immer die Einfachheit.
Spriong besitzt zudem viele Templates, die es erlauben, auf andere API's ganz einfach zuzugreifen. Beispielsweise wird für einen Datenbankzugriff via JDBC die ganze Exceptionbehandlung und das schliessen der Connections vom Framework übernommen. Es spielt übrigens auch keine Rolle, ob nun JPA, Hibernate, oder etwas anderes als OD Mapper unter Spring liegen. Für die Anwendung werden diese Funktionalitäten gekappselt und eventuelle Exception werden abstrahiert.
Besonders interessant finde ich auch die Verwendung von Transaktionen. So kann mit @Transactional eine Methode bezeichnet werden, die dann ähnlich zu synchronize, diesen Block mit einer Transaktion versieht und nötigenfalls einen Rollback macht.
AOP wird in Spring auch gross geschrieben. Es geht je darum, dass gleicher Code an vielen Stellen verwendet wird und so als Aspekte zusammengefasst werden soll. Dies ist etwa beim Logging, bei Security oder bei Transaktionen der Fall. Spring AOP ist dabei einiges einfacher anzuwenden als AspectJ.
Spring hat sich ja von einem Framework zu einem richtigen Oekosystem gemausert. So gibt es zahlreiche Unterprojekte, die es den Entwicklern einfach machen, coole Features in ihren Code einzubauen. Oberstes Kredo bleibt dabei immer die Einfachheit.
Samstag, 26. Januar 2008
Origami
Lange lange ist es her seit dem letzten Post ;-)
Vielleicht werde ich ein wenig ruhiger und fange an, Origami zu falten...
http://www.fishgoth.com/origami.html
Vielleicht werde ich ein wenig ruhiger und fange an, Origami zu falten...
http://www.fishgoth.com/origami.html
Freitag, 17. August 2007
Nero Werbung mit Zusatznutzen
Etwa monatlich flattert bei mir etwas Werbung ins Postfach, in dem Nero seine neusten Produkte und Versionen anpreist. Diesmal sind Expertentipps zum erfolgreichen Brennen von DVDs/CDs dabei, die wirklich ihre Bytes wert sind.
Insbesondere kämpfte ich schon des öfteren mit langsamen Festplatten oder DVD-Laufwerken. Nun weiss ich, dass man da den DMA Modus überprüfen sollte.
Insbesondere kämpfte ich schon des öfteren mit langsamen Festplatten oder DVD-Laufwerken. Nun weiss ich, dass man da den DMA Modus überprüfen sollte.
Dienstag, 14. August 2007
M-velope
Ein paar Leute bei Google starteten die Kampagne "M-velope" die ein Mail rund um den Globus wandern lassen soll. Diverse Leute sendeten bereits Clips ein, auf denen sie ein Mail-Symbol (
) von links nach rechts verfrachten und so an den nächsten Clip weitergeben. Die besten Clips werden zusammen geschnitten, vertont und auf der GMail Seite veröffentlicht.
Wir sind gespannt...
) von links nach rechts verfrachten und so an den nächsten Clip weitergeben. Die besten Clips werden zusammen geschnitten, vertont und auf der GMail Seite veröffentlicht.Wir sind gespannt...
Stirling Motor für die Kaffeetasse
Heute im Magazin MAKE entdeckt: Die Stirling Maschine für die Kaffeetasse.
Dieser kleine Heissluftmotor soll dank einer Tasse Kaffee oder gar eines Eisbeutels über eine Stunde lang laufen können. Zu kaufen gibt es das schmucke Ding bei Astromedia.
Dieser kleine Heissluftmotor soll dank einer Tasse Kaffee oder gar eines Eisbeutels über eine Stunde lang laufen können. Zu kaufen gibt es das schmucke Ding bei Astromedia.
Mittwoch, 8. August 2007
Paperworks von Common Craft
Gefunden bei document.write("Markus Tressl");
Eine der schönsten Formen von Web2.0 sind die Filme von Common Craft. Sie erklären komplexe Technologien in kurzen und knackigen Videosequenzen, sogenannten Paperworks.
Inzwischen ist eine kleine Serie "Plain English" erschienen:
- Social Bookmarking
- Social Networking
- Wikis
- RSS
Macht weiter so, wir wollen mehr davon.
Eine der schönsten Formen von Web2.0 sind die Filme von Common Craft. Sie erklären komplexe Technologien in kurzen und knackigen Videosequenzen, sogenannten Paperworks.
Inzwischen ist eine kleine Serie "Plain English" erschienen:
- Social Bookmarking
- Social Networking
- Wikis
- RSS
Macht weiter so, wir wollen mehr davon.
Donnerstag, 2. August 2007
Donnerstag, 12. Juli 2007
Kornkreise
Kornkreise sind ja für viele ein Werk überirdischer Mächte und es gibt sicher einige darunter, die auch denjenigen in der Nähe von Mc Minnville US für einen solchen halten werden. Wer jedoch nicht nur mit Microsoft Produkten im Internet surft, weiss, dass da was faul, resp. ziemlich irrdisch sein muss.
Die Entstehung dieses "Open Source Kornkreises" findet man hier.
Die Entstehung dieses "Open Source Kornkreises" findet man hier.
Sonntag, 10. Juni 2007
E-Learning mit Screencasts
Ich gehe noch gerne mal an Tagungen oder Kurse, um etwas über das ausgeschriebene Thema zu hören. Nicht das es an Informationen im Netz oder in Büchern magelt, nein. Ich mag es einfach, wenn der Votragende in seinen Worten das Thema erläutert. Klar könnte man im nachhinein die Folien des Vortrages studieren. Aber es ist doch nicht dasselbe, als wenn ich den Vortagenden live sehe und ihm zuhören kann.
Vor kurzem bin ich auf ein Tool, resp. sogar auf einen Begriff gestossen, der genau dies auch im E-Umfeld (E-Learning und Co.) ermöglicht: Screencasts
Eine wirklich tolle Beschreibung mit Tipps und Tricks gibt es bei O'Reilly. Es gibt sogar einen deutschen Weblog, der sich nur um Screencasts kümmert. Für mich habe ich mal CamStudio heruntergeladen und ausprobiert. Ich werde wohl demnächst meine erste E-Learning Sequenz zu Java mit BlueJ verteilen. ;-)
Übrigens sind auch schon Lehrer unter Teachers Corner auf den Geschmack gekommen.
Vor kurzem bin ich auf ein Tool, resp. sogar auf einen Begriff gestossen, der genau dies auch im E-Umfeld (E-Learning und Co.) ermöglicht: Screencasts
Eine wirklich tolle Beschreibung mit Tipps und Tricks gibt es bei O'Reilly. Es gibt sogar einen deutschen Weblog, der sich nur um Screencasts kümmert. Für mich habe ich mal CamStudio heruntergeladen und ausprobiert. Ich werde wohl demnächst meine erste E-Learning Sequenz zu Java mit BlueJ verteilen. ;-)
Übrigens sind auch schon Lehrer unter Teachers Corner auf den Geschmack gekommen.
Abonnieren
Posts (Atom)

