Friday, June 20, 2008

ant oder maven oder wie man schnell und einfach ..


... Java Projekte kompliziert machen kann.
Ok. Ich geb es ja zu: Auch ich bin nicht immer auf der Höhe der Zeit, was die aktuellsten Hype-Tools oder Open Source Trends angeht. Einen hab ich bisher sicherlich verschlafen. Maven.
Auf mehr oder minder elegante Art und Weise wurde ich jetzt dann mit der Nase draufgedrückt. Frei nach dem Motto: Das Wasser ist blau und tief: Schwimm!
Mit ein paar Jahren Build und Ant Erfahrung bringt einen sowas nicht mehr um den Nachtschlaf und daher bin ich frohen Mutes drangegangen. Und ich muss gestehen, ich hatte es mir einfacher vorgestellt. Selten hab ich ein Werkzeug in der Hand gehabt, was derart eigenwillig war *g*
Mal kurz zum positiven: Das Modulkonzept und die Definition von Abhängigkeiten treibt einem vor lauter Freude das Wasser in die Augen. Einfach klasse. Damit kann man, wenn man es nicht ganz verbockt sich eine Menge Refactoring sparen. Man verlagert die Aufwände einfach in den Build und definiert sein Projekt sauber. Klasse!
Auch das automatische Herunterladen von abhängigen Open Source Bibliotheken ist einfach klasse. Aber dann geht es los: Der Kampf mit den Projektanforderungen.
- Wie sieht eine elegante Integration in Eclipse aus?
- Welche Bibliotheken gibt es in welchen Repositories und warum?
- Wie strukturiert man poms und super-poms?
- Welche Repositories braucht man neben maven 1 und 2 noch?
- Wann steigt mir die Netzwerktruppe auf den Hals, wenn ich mit 40 Entwicklern den ganzen Tag Bibliotheken aus dem Netz ziehe?
- Warum brauche ich wofür einen Maven Proxy?
- Was für Plugins gibt es?
- Warum brauche ich immer noch Ant?
- Soll Ant Maven oder Maven Ant aufrufen?
- Wann wird welche Einstellung von wo vererbt?
- Wieso gibt es keine brauchbare Visulaisierung von Abhängigkeiten?

Fragen über Fragen. Mal sehen, ob ich demnächst noch ein paar Antworten schreiben kann :)

Saturday, June 14, 2008

JSR 286: Portlet Specification 2.0


Es ist so weit. Die neue Portlet Spezifikation 2.0 (JSR 286) ist da. Lang hat es gedauert und es scheint auch ein steiniger Weg gewesen zu sein, die Ideen von Sun und IBM unter einen Hut zu bekommen.


    The major changes in version 2 of the Java Portlet API are:

  • Events - enabling a portlet to send and receive events and perform state changes or send further events as a result of processing an event.
  • - Public render parameters
  • allowing portlets to share parameters with other portlets.

  • Resource serving - provides the ability for a portlet to serve a resource (including doing ajax calls).

  • Portlet filter - allowing on-the-fly transformations of information in both the request to and the response from a portlet.

(Quelle: The Serverside)

Wenn man mal ehrlich ist, dann sind das alles Dinge, die man in den Portalen der Hersteller schon seit langem findet. Vielleicht ist es daher auch schon fast zu spät für die Version 2.0. Aber das wird die Zeit schon zeigen.

Wednesday, June 11, 2008

Mein Entwicklerhandbuch: Google


Immer wieder mal kommen Kollegen zu mir und fragen mich nach der Problemlösung für xyz. Ob ich da schonmal was gesehen/gehört/gelesen/gemacht habe.
Leider muss ich mir auch gelegentlich eingestehen, dass ich wohl nicht alles weiss und antworte mit einem Schulterzucken: "Leider nein! Hast Du schonmal danach gegoogelt?"
Antwort: "Ja, aber ....".
Ok. Dann reizt es mich doch und ich beschliesse ein paar Minuten zu investieren. Dabei bleibt es zumeist auch. Nach der Eingabe von ein paar Suchworten finde ich die Lösung oder zumindest einen guten Hinweis auf die Lösung.
Da bleibt die Frage, was mache ich anders, als die Kollegen?
Aus dieser Überlegung sind meine Top Such-Strategien für Google geworden:


  • Search for exceptions
    Je ungewöhnlicher die Exception ist, je einfacher findet man meist eine Lösung. In Foren und auf Supportseiten pasten die Nutzer zumeist endloslange Stacktraces. Das hilft beim Finden!

  • Search for more than one word
    Je mehr Suchworte man verwendet, desto besser! Unter drei Suchworten fange ich gar nicht an. Lieber beschäftige ich mich mit kleinen Treffermengen, als mit xtausend Ergebnissen.

  • Change searchword order
    Hat auch schon was gebracht. Auch wenn ich die Algorithmen von Google und Co nicht genauer kenne, sind die Ergebnisse doch teilweise unterschiedlich. Je nachdem, welches Suchwort weiter vorne steht.

  • use quotation marks
    Machmal ist es deutlich hilfreich, wenn man zusammenhängende Begriffe auch wirklich als zusammenhängend kennzeichnet. Das macht man am besten mit Anführungszeichen.

  • search in english
    Suche im Deutschen Web oder auf Deutsch ist zumeist wenig erfolgreich. Entweder übersetze ich, das wonach ich suche, oder ich suche direkt im ganzen Netz und nicht nur in "Seiten auf deutsch"

  • mixed typing
    Ich suche auch gerne mal nach-dingen-die-mit-einem Gedankenstrich verbunden sind. Auch wenn Keywords anders geschrieben werden (bspw.: OneToMany, o.ä.) ist es machmal hilfreich, wenn man nach one-to-many sucht.



More to come ... :)

Friday, June 6, 2008

Release of Whitestein LS/ABPM Version 1.1.1 and LS/ABPM SDK


Seit geraumer Zeit habe ich die Gelegenheit mit der neuen Business Process Management Suite von Whitestein Technologies zu arbeiten.
Vor kurzem ist die Version 1.1.1 mit einem zugehörigen SDK auf den Markt gekommen. Das SDK bietet neben dem Produkt auch eine Entwicklungsumgebung sowohl für die Prozessmodelle als auch für relevante Java Artefakte.
Ein spannendes Thema in Summe. Mehr kommt bald :)
Hier die vollständige Newsmeldung auf den Webseiten von Whitestein.

Monday, June 2, 2008

dev2dev wird oracle mix


Nungut. Es muss wohl so sein. Nachdem die ersten Schritte in Richtung bea becomes oracle gemacht sind, muss auch so langsam die bea eigene Entwicklerseite dev2dev dran glauben. Alles wird nach Oracle Mix migriert. Zumindest bleibt das zu hoffen.
Ich hab dann seit heute auch dort mein eigenes Profil .. mal sehen, wie das mit den bea Produkten unter dem Dach von oracle weiter geht.