Archiv der Kategorie: Java

Unsere liebste Programmiersprache.

Vergleich von JVM-Web-Frameworks

Der Vergleich von Web-Frameworks ist eine unendliche Geschichte. Eben habe ich mich schmerzlich von JSF abgewandt und Apache Wicket zugewendet. Das Urgestein Matt Raible hat dazu auf Spring I/O 2012 einen guten Vortrag gehalten:

http://de.slideshare.net/mraible/comparing-jvm-web-frameworks-spring-io-2012

Seine Sicht ist zwar subjektiv, wie immer, aber er hat zu dem Thema wirklich sehr viele Argumente und viel zu sagen.

Netbeans enhancement angestoßen

Kaum arbeitet man ein bisschen mit netbeans, schon hat man gefühlte 2000 Editor-Fenster auf. Verliert man die Übersicht, möchte man eine paar schließen und die anderen umordnen. Diese Umordnen geht per Drag and Drop nur höchst stressig, auch noch abhängig von der Bildschirmgröße. Ich habe recherchiert, offensichtlich hat sich darüber noch keiner Gedanken gemacht, also habe ich ein issue in bugzilla eingestellt:

http://netbeans.org/bugzilla/show_bug.cgi?id=222666

Dieses ist angenommen und einem Entwickler zugeteilt worden. 🙂
Ist jetzt spannend, ob und in welcher Version es tatsächlich realisiert wird.

Customize Wicket StringResource Loading for Entity classes

Problemstellung

Apache Wicket besitzt einen ausgefeilten Mechanismus zum Laden für Stringresourcen zur Internationalisierung (i18n) einer Anwendung. Dieser ist Komponenten-orientiert und findet Resourcen im Teilast der Komponentenhierarchie, den wicket-package.properties, der Superklassenhierarchie, und an globalen Orten für die Anwendung.

In einer Anwendung ist es aber durchaus sinnvoll, die Resourcen den Datenbank-Klassen (Entities) zuzuordnen, eine Property-Datei für jede Klasse, in der zum Beispiel Label, Titel und Description für ein Datenbankfeld stehen. Diese Resource-Dateien bleiben im Loading-Mechanismus von Wicket aber außen vor.

Da Wicket aber für die Erweiterung des Loading Möglichkeiten vorgesehen hat, ist dies keine Einschränkung, man muss nur wissen wie. Hierzu im Folgenden meine Erkenntnisse zur Implementierung eines eigenen ResourceLoaders, angeregt durch eine Seite im Wiki.

Lösungsansatz

Schon in zwei früheren Posts habe ich eine Version gepostet, die jedoch das Caching der Resourcen durch Wicket nicht berücksichtigte und daher fehlerhaft war. Statt dieser zwei Postings hier also heute die verbesserte Version.

Weiterlesen

NetBeans IDE 7.2.1 Released

NetBeans IDE 7.2.1 ist ein Update für NetBeans IDE 7.2 bringt Unterstützung für JavaME 3.2 SDK und JavaFX 2.2 SDK mit, ebenso wie die Integration neuer Fehlerbehebungen.

Download unter http://netbeans.org/downloads/

Mir ist nicht ganz klar, was mir bei JavaFX fehlt, wenn ich nur die Patches ohne Neuinstallation einspiele, wie ich es gemacht habe. Meine JavaFX Anwendungen compilieren mit noch prima mit der JDK 7u9 Installation. Bis ich da Erkenntnisse habe, spare ich mir den Aufwand erst mal.

Wicket in meinem MoinMoin Wiki

In einem ersten Artikel zu meinem Wiki hab ich dessen Notwendigkeit und Verwendung geschildert. Hier nun ein Beispiel in Form der Seite für Apache Wicket, das Java Web Framework, in das ich mich gerade einarbeite, was in der Anfangsphase immer auf eine Sammlung guter Links auf Tutorials, HowTos und Artikel heraus läuft. Diese möchte ich hier teilen. Da mein Wiki nicht öffentlich ist, und ich spontan nicht genau weiß, wie ich die Seite hier einbinden soll, versuche ich mal das HTML einfach ein zuschleußen. Bitte dabei die schlechte Formatierung verzeihen. Deswegen auch noch als ApacheWicket Seite PDF Anhang.

Weiterlesen

Mein MoinMoin Wiki

Früher habe ich geglaubt, ich könnte mir alle Zwischenergebnisse und Erkenntnisse, interessante Links, HowTos und gute Blog-Artikel für meine Arbeit merken. Stimmt aber nicht, liegt auch nicht am Alter, die Annahme war schon damals falsch.

Mein Lösungsansatz für diese Notizen war natürlich nicht der Zettelkasten, sondern liegt im Web, in einem Wiki. Dies hat viele Vorteile:

  • Überall dabei, wo man Netz hat, auch beim Kunden und auch dort nicht nur zur Recherche, sondern gleich editierbar.
  • Auf allen Maschinen synchron, da zentrale Datenhaltung auf dem Server
  • Flache Struktur wie bei einem Wiki üblich. Nachdem sich wenige Konventionen und Kategorien herausgebildet haben, kann man einfach hinzufügen, ohne ständig Hierarchien und Inhaltsverzeichnisse umzustellen.
  • Vielleicht am wichtigsten: Volltextsuche. Man findet mühelos  Informationen, deren Speicherort man nicht mehr erinnert.
  • Ideal auf für Bilder, Links und Anhänge. Vieles steht schon woanders im Web und ist prima zu verlinken. Das geht auf Papier nicht. Einen Artikel als PDF beiheften, auch nicht.
  • Genügend syntaktische Möglichkeiten, auch zur Hervorhebung von Programmcode und Kommandos.

Aus einem Nebenprojekt ist so über die Zeit ein unverzichtbar wertvolles Arbeitsmittel gewachsen, ohne dass es gar nicht ginge. Es enthält bereits 345 eigene Seiten! Ich muss mich aber zwingen, auch dort immer nachzuschlagen, denn oft glaube ich gar nicht was ich zu einem früheren Zeitpunkt schon wertvolles hinterlegt habe.

Relativ bald habe ich dem Arbeits-Wiki ein zweites privates zur Seite gestellt, in dem zum Beispiel Urlaubs-Tipps, Kochrezepte und Betriebsanleitungen und Kaufbelege für gekauftes Inventar landen. Nicht so lebendig, aber auch gut.

MoinMoin logo

Die meisten nehmen für Ihr eigenes Wiki als Softwarebasis immer MediaWiki, da sie es von Wikipedia her kennen und für das beste halten. Es ist auch sicherlich sehr ausgefeilt, aber eben für Wikipedia geschaffen. Für das eigene Wiki gibt es bessere Lösungen. Ich habe mich damals für MoinMoin entschieden, und diese Entscheidung eigentlich nicht bereut. Es ist zuverlässig, weit verbreitet und tut das was es soll.

Eine Beispielseite gibt es im folgenden Artikel.

Dieter Tremel

16. Oktober 2012

Gerade habe ich bei aller Freude an meinem Beruf, der Softwareentwicklung, mal wieder ein negatives Erlebnis gehabt. Meine liebste IDE, netbeans, hat sich auch einer meiner Maschinen geweigert, die JPA Metamodel Generierung beim Build mit auszuführen und so kein ablauffähiges Web-Programm erzeugt.

Nach viel Analyse und Suchen, googlen nach potentiellen Fehlern, habe ich jetzt netbeans komplett gelöscht und neu installiert.

Die gute Nachricht: Jetzt geht es wieder. Die schlechte Nachricht: Ein halber Tag Arbeit für nichts. Manchmal ist es zum Verzweifeln.