Geschrieben von everflux am Mai 21st, 2007
Glassfish ist der Java EE5 kompatible Referenz-Server von Sun und in weiten Teilen identisch mit dem Sun Java Application Server.
Im Vergleich zum Tomcat hat er auch eine hübsche Verwaltungsoberfläche und glänzt mit einem professionellen Erscheinungsbild.
Auf den ersten Blick.
Denn geht es darum vernünftige Dokumentation zu liefern, geht der Punkt an Tomcat. Auch wenn der Ton teilweise etwas salopper ist, so sind die Informationen und Ausführungen wesentlich verständlicher und machen nicht den Eindruck maschinell generiert worden zu sein. Naja Sun möchte sicherlich auch durch Training und Zertifizierung Geld verdienen – lassen wir die Jungs mal.
Dann jedoch erwischte es mich eiskalt mit einem Punkt, den ich für simpel wie essentiell halte: Konfiguration von Web Applikatoinen per Umgebungsoptionen.
Die Idee dabei ist die folgende: Ich habe eine Anwendung, die auf (konfigurierbare) Ressourcen zugreift, wie z.B. eine Datenbank. (Wir lassen die Möglichkeit Datasources über den Container verfügbar zu machen einmal außen vor, damit ich das Beispiel weiter ausführen kann.)
Ich kann in der Applikation sinnvolle Standardwerte annehmen und einbauen, wie z.B. dass die Datenbank auf dem lokalen Rechner läuft und für „root“ ohne Passwort zugänglich ist.
Aber nun wird die Anwendung auf einem externen Server installiert, die Einstellungen müssen angepaßt werden. Ich möchte dazu natürlich nicht meine Applikation (das .war File) umpacken müssen um die Konfiguration zu ändern.
Praktischerweise gibt es da was von Spring. Im Prinzip wird dabei im JNDI geschaut ob ein Eintrag mit neuen Werten vorhanden ist, oder die default Werte übernommen werden sollen.
Schwupps schon ist alles fertig, ich kann auch ein Update der Software ohne Probleme vornehmen, da die deployment-spezifischen Teile beim Container konfiguriert sind.
Beim Tomcat ist das kein Problem, es ist sogar eins der ersten Beispiele aus dem Tutorial. Glassfish hingegen ist dazu schlicht und ergreifend nicht in der Lage.
Und ich habe gesucht! Anfangs dachte ich ja, es läge an mir – aber offenbar geht es auch anderen so:
Wie man hier, hier und hier sehen kann.
Vielleicht gibt es ja eine geschicktere Möglichkeit, diese Konfigurationen vorzunehmen – ich freue mich da über jedes Feedback. Aber Glassfish hat damit bei mir richtig Boden verloren. Davon mal ganz abgesehen wie viel Zeit ich investiert habe, nur um keine Lösung für dies Problem zu finden. (Und das Problem des bootstrappings von Anwendungen existiert ja nicht gerade erst seit gestern)
Geschrieben von everflux am Mai 18th, 2007
Offenbar hätte ich beinahe einen Trend verpaßt: Die Glassfish Community ist recht aktiv. Wer sich schonmal gefragt hat, wie man eine Telefonkonferenz per Web managen könnte, der wird in diesem Blogeintrag fündigt: Sunlab’s SIP Servlet Conference Manager. Dort kann man sich in einem Screencast oder per Video ein Bild davon machen, womit Geeks spielen.
Jetzt müßt ich nur noch die Zeit haben einmal zu schauen, ob man das am Asterisk verwenden könnte 🙂
Geschrieben von everflux am April 24th, 2007
Beagle ist sicherlich die bekannteste Desktop-Suche für Linux, doch mehrfache Tests haben die Mono/.net Anwendung Beagle als unbrauchbar für meine Zwecke klassifiziert. Zu langsam, zu hoher Speicherverbrauch.
Jetzt bin ich über eine andere „Suchmaschine“ für den Desktop gestolpert – Recoll. Anders als Beagle – und viele, viele andere Anwendungen – wird bei Recoll nicht Lucene (oder eine Portierung) eingesetzt, sondern die mir bis jetzt unbekannte Xapian Library.
Xapian ist eine unter der GPL stehende Library, die ähnliche Ziele verfolgt, wie Lucene, wurde jedoch ursprünglich für C++ und nicht (wie Lucene) für Java entwickelt. Inzwischen gibts es auch hier Portierungen für Java (via JNI *hust*), C#, PHP, Python und weitere Sprachen.
Leider konnte ich bisher keine vernünftige Evaluation von Xapian vs. Lucene finden – sicherlich ist für den einen oder anderen bei der Auswahl eines zu integrierenden Software-subsystems interessant, welche spezifischen Vor- und Nachteile es gibt. (Ohne Flamewars lostreten zu wollen)
Es gibt zwar dies – offensichtlich veraltete – Paper, doch sind die darin zu findenden Aussagen etwa auf dem Stand von Ende 2003, schon auf den ersten Blick fällt auf, daß dies nicht mehr den aktuellen Stand wiederspiegelt.
Evtl. werde ich dazu selber etwas ergänzen, sobald ich Xapian vs. Lucene eine faire Testumgebung gebaut und ggf. eigene Tests gemacht habe.
Interessant ist Recoll aber für jeden, der sich für Desktop-Suche unter Linux interessiert. Auf meinem Ubuntu Feisty 64bit System ließ sich das Debian amd64 Paket einwandfrei und direkt installieren. (Für Ubuntu gab es nur ein edgy Paket für die i386 Plattform)
Im Einsatz besticht Recoll durch hohe Geschwindigkeit, gute Ergebnisse, bietet jedoch eine eher sehr funktionale GUI.
Geschrieben von everflux am April 14th, 2007
Das im Java Umfeld sehr beliebste Spring-Framework ist in der Version 2.0.4 vor ein paar Tagen veröffentlich worden.
Neben ein paar Bugfixes gibt es auch Performance-Verbesserungen. Details finden sich im Changelog.
Geschrieben von everflux am Februar 13th, 2007
Wahnsinn! Begeisterung!
Sun hat vor, 64 bit Linux Systeme auch mit einem Java Plugin zu versorgen, so daß wieder Applets im Browser unter Linux funktionieren werden.
In Java 1.7 – Dolphin.
Update: So übel kommt es dann doch nicht: Ubuntu hat bereits jetzt ein AMD 64 Java Plugin, welches mittels eine OpenJDK Forks bereitgestellt wird. Wohl nicht zuletzt dank JavaFX hat Sun sich beeilt ein 64 Bit Java Plugin für Java 1.6 bereitzustellen, dies wird in der u12 Version enthalten sein, und dann hoffentlich auch unter Ubuntu 64bit zur Verfügung steheh.
Geschrieben von everflux am Januar 18th, 2007
Ich bin bisher noch nicht dazu gekommen, über Selenium zu bloggen, vielleicht hole ich noch einen ausführlicheren Bericht nach. Wer Webapplikationen entwickelt, ganz egal in welcher Sprache, hat das Problem, daß diese auch vernünftig getestet werden wollen.
Aber jedesmal von Hand die ganzen Seiten abklickern nervt und lädt zu Qualitätsmängeln beim Testen geradezu ein: „Ich hab ja nur hier was geändert, dann teste ich den Rest mal nicht, kostet ja nur Zeit.“ Und schon hat man mögliche Auswirkungen übersehen.
Selenium soll genau hier Abhilfe schaffen: Tests können aufgezeichnet oder programmatisch erstellt werden und dann jederzeit wieder abgerufen werden, z.B. integriert in Unit-Tests. (Wobei es sich genau genommen dann schon um Integrationstests handelt)
Unter Windows Vista macht der Selenium Server (erwartungsgemäß?) „rger: Internet Explorer 7 funktioniert garnicht, Firefox hängt auch nur dumm rum.
Abhilfe schafft hier die derzeit in Entwicklung befindliche Version 0.9.1 des Selenium-RemoteControl, oder kurz SRC Moduls von Selenium. Unter
http://release.openqa.org/selenium-remote-control/nightly/selenium-remote-control-0.9.1-SNAPSHOT.zip
gibt es die aktuelle Version als Snapshot, diese funktioniert zumindest mit Firefox unter Windows Vista.
oebrigens läuft zwar der Selenium-Server unter Java, jedoch können die Tests in die verschiedensten Programmiersprachen eingebunden werden – sogar via PHP. Keine Ausreden mehr für ungetestete Anwendungen…
Geschrieben von everflux am Januar 13th, 2007
In einem anderen Beitrag hatte ich beschrieben, wie man an ein Java 6 unter Ubuntu kommt, indem man auf die Ubuntu Entwicklungsversion Feisty Fawn umstellt.
Nicht jeder möchte jedoch für ein offizielles Sun Java auf Feisty umstellen. Wem ein Sun Java 5 reicht, der kann von den sogenannten Ubuntu Backports profitieren und damit sein Java installieren. (Incl. Browser Plugin 😉 )
Dazu geht man folgendermaßen vor, ein deutsches Ubuntu vorrausgesetzt:
„System“->“Administration“->“Software-Quellen“, dort geht man auf den Reiter „Drittanbieter“, dort klickt man „Hinzufügen“ an und trägt folgende Zeile ein:
deb http://de.archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
Achtung: Wer nur freie Software unter Ubuntu einsetzen möchte, sollte sich das genau anschauen, welche Quellen er verwendet.
Anschließen kann man die Paketquellen neu laden, und im Synaptic „sun-java5-bin“ oder das sdk installieren.
Geschrieben von everflux am Januar 3rd, 2007
Während bisher „subclipse“ das Standardplugin für die Versionsverwaltungssoftware Subversion (SVN) war, gibt es ein alternatives Plugin: Subversive. Der Hersteller, Polarion, sorgt durch eine enge Zusammenarbeit mit der Eclipse Foundation dafür, daß Subversive wohl zukünftig auch direkt mit Eclipse ausgeliefert wird. Auch jetzt schon ist Subversive vollständiger als Subclipse, und ein Wechsel lohnt daher.
Wichtig: Das neuere Subversive 1.1 hat auch eine neue Update-Site bekommen, möchte man also auf dem aktuellen Stand von Subversive bleiben, sollte man tunlichst in Eclipse (ab 3.2) folgende Update Site für Subversive verwenden:
http://www.polarion.org/projects/subversive/download/1.1/update-site/
Leider wird ein Upgrade von Subversive 1.0.x auf 1.1.x nicht automatisch durchgeführt.
Geschrieben von everflux am Januar 3rd, 2007
Ubuntu hat mit Feisty endlich auch Support für Java 6 (Mustang). Damit ist Ubuntu definitiv weiterhin *die* Linux Distribution für Desktop, Entwicklung und Serverbetrieb. Ein einfaches apt-get install sun-java6-sdk und schon lädt sich alles hinein was ich bei Debian früher mühsam von Hand installiert habe.
Besser als selbstgemacht!
Hier noch die sources.list für Ubuntu Dapper Drake Umsteiger. (Eintragen, apt-get dist-upgrade und fertig)
deb http://de.archive.ubuntu.com/ubuntu/ feisty universe multiverse
deb http://de.archive.ubuntu.com/ubuntu/ feisty main restricted
deb http://de.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
deb http://de.archive.ubuntu.com/ubuntu/ feisty-backports main restricted universe multiverse
Ggf. (z.B. für Maven) setzt man JAVA_HOME noch auf „/usr/lib/jvm/java-6-sun/“
Geschrieben von everflux am Dezember 22nd, 2006
Eclipse ist meine Lieblingsentwicklungsumgebung, was sicherlich keinen großartig verwundern dürfte. Besonders wichtig ist mir dabei, daß ich Eclipse sowohl unter meinem liebgewonnenen Debian und Ubuntu Linux Rechnern, als auch unter Windows nutzen kann, ohne mich umgewöhnen zu müssen.
Neuerdings gab es jedoch Nachwuchs im Rechnerpark: Ein Thinkpad T60p fährt Windows Vista, und seit einigen Tagen jetzt auch die finale Version „Windows Vista Business“. Doch leider glänzt das System nicht gerade durch Stabilität – manch einer würde das Einfrieren unter Counter Strike Source von Vista als schlimmer bewerten als einen Eclipse Absturz.
Ich nicht! Mitten in der Arbeit, natürlich noch einige ungesicherte Dateien im Eclipse geöffnet, macht es einfach „plopp“ und übrig bleibt eine kleine Alertbox. Die Traces deuten auf SWT Probleme hin, jedoch fehlt mir die Erfahrung um das genauer debuggen zu können.
Aber wenn ich eins gelernt habe, dann Feuer mit Feuer zu bekämpfen. Die Entwicklungsversion von Eclipse funktioniert stabil mit Windows Vista. (Eclipse 3.3 M4)
Neue Kommentare