Geschrieben von everflux am April 21st, 2008
Das Google Web Toolkit wird erwachsen – das behauptet Google zwar nicht selber, doch das Umfeld spricht eine deutliche Sprache. GWT 1.5 wird endlich – lang ersehnt – Java 5 und damit auch die Generics von Java 5 unterstützen. Auch wenn noch keine fertige 1.5 Version von GWT vorliegt, so arbeiten bei Google eifrig die Entwickler an dem OpenSource Projekt.
Während von GWT 1.5 inzwischen Milestone 2 verfügbar ist, wächst auch das Ökosystem rund um das Google Web Toolkit:
GQuery ist eine typsichere Umsetzung von jQuery für GWT – wer jQuery kennengelernt hat, wird es sicherlich auf Anhieb lieben.
GWT-SL, die Google Webtoolkit Server Library zielt auf Spring Framework Integration ab: Spring Beans können als RPC Dienste exportiert werden, und macht so die Integration in bestehende Entwicklungs-Stacks oder auch Applikationen einfacher.
Hibernate4GWT schließlich rundet das ganze ab: Hibernate persistierte Objekte (und lazy collections) können ohne Verrenkungen mit GWT verwendet werden. Mit GWT 1.5 und Java Generics wird das sicherlich noch ein großes Stück angenehmer.
Geschrieben von everflux am April 10th, 2008
Das aktuelle Java JRE (und JDK) scheinen gehörig überarbeitet worden zu sein – leider nicht unbedingt zum Positiven. Wie auch hier oder in den Bug Reports zu lesen ist, gibt es allerlei Abstürze.
Besonders ärgerlich, wenn man mit Eclipse (Europa) arbeiten möchte, und dies beim Projekt bauen oder Mylin initialisieren einfach die Java Virtual Machine tötet. Auch der Wechsel zum OpenJDK, das für Ubuntu verfügbar ist, hat leider keine Abhilfe schaffen können. Auch RSSowl funktioniert nicht richtig – stürzt aber wenigstens nicht ab – es werden einfach keine Feedeinträge angezeigt.
Als workaround empfehlen einige ein Downgrade auf eine ältere Java Version (vorsicht, hier können sich Sicherheitslücken einschleichen!) – oder eine 32bit Version zu verwenden. (Der Bug scheint sich lediglich bei AMD64 bzw. 64bit Intel Architektur auszuwirken.)
Ich versuche es mit dem Angriff nach vorne – Eclipse ganymed, dessen Startlogo fast suggeriert, dass bei „Ganymed“ ein Buchstabe vergessen wurde.
Update:
Also alle guten Vorsätzen und Versuchen haben nicht gefruchtet – allein ein Downgrade der Java Installation auf Ubuntu Gutsy 1.6.0_03 half ein stabiles Java zu erhalten. Da der Bug schon eine Weile bekannt ist, mache ich mir keine großen Hoffnungen, dass bis zum Erscheinen von Hardy Heron das Problem behoben ist.
Geschrieben von everflux am März 28th, 2008
Ich darf mich jetzt SCWCD, Sun Certified Web Component Developer, nennen, denn ich habe heute die entsprechende Prüfung abgelegt – und auch bestanden.
Meine Empfehlung an jeden, der sich hier auch heranwagen möchte: Schnell tappt man in eine Synonym-Falle wenn man die Auswahl zwischen „include“, „import“, „forward“ und „redirect“ hat. Genauso kann ein Semikolon an der richtigen/falschen Stelle zwischen richtig und falsch für eine Antwort entscheiden.
oebrigens mußte ich etwas mehr schwitzen, als erwartet: 80 Fragen galt es zu beantworten, darunter waren Test-Fragen, die Sun für zukünftige Testkataloge evaluiert. Welche das waren wurde natürlich nicht verraten.
Netterweise gab Traicen noch Traubenzucker mit in die Prüfung, ein echter Nervenretter.
Den Piccolo hinterher habe ich fast noch freudestrahlender in Empfang genommen – schließlich hieß es da endlich nach 2 Stunden schwitzen SCWCD: passed.
Geschrieben von everflux am März 22nd, 2008
Auf Dzone findet sich dieses interessantes Interview zum Thema Sailfin: SailFin: When Java EE Met SIP
Sailfin ist ein Sun Projekt um Java und Telefonie auf Basis des SIP Protokolls zusammen zu bringen. Der Hintergund von Sailfin ist dabei die Glassfish Infrastruktur zu nutzen, um Clustering und Hochverfügbarkeit zu realisieren. Gerade im Telefonieumfeld sind Menschen Ausfällen und Störungen gegenüber eher empfindlich eingestellt.
Weiterlesen »
Geschrieben von everflux am März 8th, 2008
Wie infoworld berichtet, gibt es seitens Sun Microsystems Pläne mittels des Apple iPhone SDK auch Java auf das iPhone zu portieren.
Frühestens mit Erscheinen des iPhone SDK von Apple will Sun dann zur iPhone Firmware 2.0 auch ein Java bereitstellen.
Zumindest das Java Mobile Edition (J2ME) soll bald bereitstehen, um auch das iPhone als Plattform für Handy-Games und Programme zu unterstützen.
JavaSE (Standard Edition) und JavaFX sind ebenfalls für das iPhone geplant.
Sollte Java FX wirklich kommen, könnte sich durch das JavaFX über das iPhone wirklich als attraktive Flash Alternative platzieren.
Geschrieben von everflux am März 2nd, 2008
Gerade wenn man mit neueren Firefox oder xulrunner Versionen experimentiert passiert es schnell mal, dass einem das xulrunner Paket abhanden kommt.
Programme wie rssowl die SWT basierend sind und die Mozilla (Geckoy) Rendering Engine verwenden verabschieden sich dann mit einem Stacktrace wie:
Weiterlesen »
Geschrieben von everflux am Februar 29th, 2008
Java Stammtisch Münster! Jetzt gibt es endlich ganz offiziell einen Java Stammtisch in Münster: http://www.jug-muenster.de/ und neben Stammtisch, Java und Sozialising gibt es zukünftig auch Java Talks und vieles mehr. Natürlich sind auch PHP, Flex, iPhone Programmierer, Ruby, Rails, …. aus Münster und dem Umland herzlich willkommen.
Da ich den alten Blogbeitrag mit dem Tenor „es gibt (noch) keinen Java Stammtisch für das Münsterland“ nicht löschen wollte, hier der alte Text:
Leider gibt es noch keinen Java Stammtisch in Münster – weit und breit gibt es zwar Java Programmierer, Java Studenten und Java Anwender.
Aber keinen Stammtisch in Münster. Schade eigentlich – aber was nicht ist, könnte ja noch etwas werden!
Wer Interesse an einem Java Stammtisch hätte kann sich gerne einmal per Kommentar und/oder E-Mail melden.
Geschrieben von everflux am Januar 24th, 2008
Code reviews sind so eine Sache – die wenigstens Entwickler entwickeln für eine Code Review großen Enthusiasmus. Zu allem oeberfluß kommt noch hinzu, dass neben der zu erwartenden Mäkelei am Source-Code auch die Unterstützung durch Review Software nicht gerade üppig ist.
Gerade wenn es um den Bereich „OpenSource“, Startup-Unternehmen oder andere Bereiche, in denen nicht viel Geld in der Kriegskasse ist, geht, wird die Luft schnell dünn.
Die Entwickler der Virtualisierungslösungen Vmware hatte zwar weniger mit dem finanziellen dafür um so mehr mit dem technischen Aspekt zu kämpfen, dass keine Code Review Software für ihre Zwecke geeignet war. Als Ergebniss schufen sie Review Board, eine bei Google-Code gehostete Open Source Review Software, die vollständig über den Browser (natürlich mit Ajax) zu bedienen ist.
Weiterlesen »
Geschrieben von everflux am Januar 23rd, 2008
Mich hat heute etwas rund drei Stunden Lebenszeit gekostet und ich weiß noch nicht ob ich sauer sein sollte – und wenn ja, auf wen.
Die Ursache: In einer verteilten Anwendung gibt es Objekte, die eine lokale Repräsentation haben, und zusätzlich entfernt gespeichert werden. Bei der entfernten Speicherung gibt es für jedes Objekt eine Identität die durch eine „ID“ repräsentiert wird und ein paar Daten.
Für die lokale Speicherung gibt es eine Identität die durch eine – nicht notwendigerweise gleiche – „ID“ repräsentiert wird und auch Daten.
Praktischerweise gibt es Attribute die nur lokal oder nur bei der remote Version des Objektes vorhanden sind. Um teure Remoteaufrufe zu sparen wird nicht immer die Vereinigungsmenge der Attrbute gebildet, sondern in der Regel mit der lokalen Objektversion gearbeitet.
Alles halb so schlimm, alles ist schön gekapselt in mindestens drei Schichten und ordentlich Interface, Framework und Library Watte. Wehe jedoch man weicht von etablierten und getesteten Wegen ab, das kann ein schreckliches Ende nehmen.
local = mapRemoteToLocalObject( remoteService.getObject( local.getId()))
So in etwa sieht das dann aus. An einer klitzekleinen Stelle wird hier leider etwas gelogen. Wie bereits erwähnt gibt es eigentlich zwei IDs für das Objekt – die lokale und die – genauso echte – entfernte. Versucht man nun ein entferntes Objekt mit der lokalen ID zu holen, und hat blöderweise auch noch Testdaten die das zulassen ohne das gleich Tod und Teufel an der Tür stehen, kann man viel Zeit verbringen bis man der Sache auf die Spur kommt.
local = mapRemoteToLocalObject( remoteService.getObject( local.getRemoteId()))
Ist dann das Ergebnis des Abends.
Ein Glück, dass die Testdaten nicht noch schlechter waren – der Fehler hätte locker übersehen werden können.
Womit ich auf den Punkt komme: Ehrliches Programmieren bedeutet Code, der erstens wie Fließtext lesbar ist – und zweitens dabei nichts suggeriert, was nicht stimmt.
Geschrieben von everflux am Januar 22nd, 2008
Head First Software Development ist das neueste Buch aus der Headfirst Reihe bei O’Reilly. Der deutsche Titel dürfte dann „Softwareentwicklung von Kopf bis Fuß“ werden, sobald das Buch auf dem deutschen Markt erscheint. Ich habe das Buch auf englisch und möchte es jedem ans Herz legen. Weiterlesen »
Neue Kommentare