In diesem Artikel möchte ich kurz das Ergebnis von einem Projekt des letzten Semesters (Knowledge Networks and Semantic Technologies // SoSe2009 // TU Berlin) vorstellen. In dem Projekt ging es um die Analyse vorhandener E-Mails hinsichtlich der vorkommenden Themen und deren Verbreitung in dem E-Mail Netzwerk. Die Ausgangsdaten waren E-Mails vom Konkurs gegangenen US-Gas-Konzern Enron. Uns lagen knapp 70 000 Mails vor, die das entstandene Topic Map Tool auf interessante Themen untersucht und die Korrelationen von Keywords berechnet. Um wirklich interessante Themen im nicht standardisierten E-Mail Verkehr zu identifizieren, kamen Regular Expressions, Stopword-Listen sowie die Wordnet-Searching-API zum Einsatz. Mit diesen Technologien wurden relevante Keywords aus den E-Mails gesammelt und deren Korrelationen zu anderen relevanten Keywords berechnet. Ein wichtiger Faktor für die Berechnung ist, wie häufig zwei korrelierte Wörter zusammen in einer E-Mail auftauchen. Mit Hilfe von Wordnet konnten semantisch gleiche Wörter zu Clustern zusammengefasst oder gefiltert werden. Ebenso half Wordnet bei einer Filterung nach Wortarten, da vor allem Substantive interessante Schlüsselwörter sind.
Das Ergebnis der Analyse war ein Datenbank Dump, der im Commetrix Schema gespeichert wurde. So konnten die Ergebnisse mit Hilfe von Commetrix visualisiert werden. Die Ergebnisse seht Ihr auf den Screenshots weiter unten.
Exemplarisch starke Korrelationen bestanden zum Beispiel zwischen den Worten Gas und Price sowie zwischen President und Election. Unzählige weiter Beispiele könnte ich an dieser Stelle auflisten. Zusammenfassend hat die Lehrveranstaltung sehr viel Spaß gemacht und mich für das Thema semantische Netze begeistert.
Screenshot der Anwendung

Screenshots der visualisierten Topic Map
tags: Semantik, Topic Map, Topic Map Tool, TU Berlin
Vor kurzem wurde ich mal wieder gezwungen mit Netbeans zu arbeiten. Und naja was soll ich sagen. Ich habe schon immer eine gewisse Distanz zu der IDE obwohl ich in diesem Semester auch einige Bequemlichkeiten kennengelernt habe. Was mir aber aktuell passiert ist, finde ich so dämlich!!!
In meinem Java Projekt habe ich eine Datenbank Verbindung in der persistence.xml konfiguriert. So bin ich es aus Eclipse gewohnt und es funktioniert alles bestens. Die Anwendung konnte unter Netbeans jedoch keine Verbindung zu meiner Datenbank herstellen. Und nun haltet
euch fest: Wenn man die Datenbank in der IDE gesondert einträgt unter dem Tab "Services" ist Netbeans so schlau und erkennt, dass die Verbindung scheinbar doch richtig konfiguriert wurde und stellt die Verbindung zur Datenbank her. Warum reicht es Netbeans denn nicht wenn die Verbindung in der XML eingetragen ist? Wenn jemand von euch Details dazu hat, lasst es mich doch bitte wissen.
tags: Netbeans Persistence.xml Datenbank
An dieser Stelle möchte ich kurz eine Liste meine Eclipse Plugins präsentieren. Vielleicht ist für euch etwas neues dabei oder ihr habt unter Umständen nette Empfehlungen für mich.
Versionierung
Code Analyse:
- JDepend: Tool zur Analyse von Architektur und Abhängigkeiten
- PMD: Code Analyse, sucht nach potentiellen Bugs und Problemen
Codestyle:
- Checkstyle: Regelsystem zur Einhaltung von Code Konventionen
- JAutodoc: automatische Generierung von Javadoc Kommentaren
Testing / Code Coverage:
Build
Development
- JBoss Tools: nützlich für die Entwicklung mit dem JBoss Application Server
Seid Ihr mit meiner Plugin Sammlung zufrieden oder gibt es Plugins, die hier unbedingt mit auftauchen sollten? Mir fällt noch eines ein, dass ich schon ewig nicht mehr benutzt habe – der Visual Editor. Da die Entwicklung des Visual Editors nur schleppend voran ging und die Unterstützung in neueren Eclipse Versionen nicht immer gegeben war, habe ich mich regelmäßig mit dem guten Editor von Netbeans beholfen.
tags: Eclipse Plugins
Letzte Woche wurde ich spontan von einer Kommilitonin zu einem Vortrag zweier Musikstudenten geschleppt, die etwas sehr tolles entwickelt hatten. Auf dem Weg dorthin beschrieb sie, dass die beiden Amerikaner einen Tisch mit einer Multitouch-Oberfläche gebaut hatten auf dem man mit Hilfe der Hände Musik machen kann. Idee des Ganzes ist es intuitiv Musik machen zu können ohne die klassische Hürde zu haben ein kompliziertes Instrument lernen zu müssen.
Als wir in dem völlig überfüllten (und kleinen) Raum ankamen verbreitete sich schon ein wenig Faszination, denn in der Mitte des abgedunkelten Raums stand der besagte Tisch. Die beiden Entwickler waren gerade dabei die Steuerung des Tisches zu kalibrieren und tippten eine Reihe von kleinen Kreuzen an. Diese Prozedur wiederholte sich einige Male und dann ging es ans Eingemachte.
Die Beiden (Jordan und Owen) stellten zunächst die Entwicklung des Tisches, also die Hardware, vor. Überraschend war, dass kein Teil der verwendeten Hardware etwas Super-Außergewöhnliches war. Sie nahmen ein Beamer, ein PS3 Kamera, einige Infrarot LEDs, eine Plexiglasscheibe und ein Gestell. Vom Prototyp bis zur leicht transportablen Version von heute vergingen eineinhalb Jahre.
Anschließend wurde die darunterliegende Software vorgestellt. Die Jungs kombinierten Processing, Reaktor, Java Programme und ein Open-Source Framework zur Form und Positionsbestimmung. Interessanterweise studieren die beiden Musik und haben sich nebenbei die nötigen Programmierkenntnisse angeeignet was ich beachtlich finde!
Also schaut euch Brick mal an!
tags: Brick Musik Multitouch
Der folgende Artikel soll helfen einen BPEL Process mit Netbeans zu erstellen und auf den Glassfish Application Server zu deployen. Doch zunächste beschreibe ich kurz das vorhaben. Der BPEL Prozess nutzt insgesamt drei Web Services (YingService, YangService und MatchService). Der YingService benötigt keinen Parameter und liefert den String "Ying" zurück. Der YangService arbeitet analog zum YingService. Diese beiden Service arbeiten parallel! Der MatchService nimmt zwei Parameter vom Typ String entgegen und konkateniert diese beiden Strings und den String "Fit". Danach wird der zusammengesetzte String vom MatchService zurückgeliefert. Die einzelnen Web Services interessieren den Benutzer des BPEL Prozesses nicht, da dieser nach außen wie ein simpler Web Service (z.B. YingService) wirkt.
Nachdem das Ziel beschrieben ist kann die Arbeit beginnen. Ich habe sehr viele Screenshots verwendet um den Weg möglichst anschaulich zu machen.
Insgesamt werden 4 Projekte angelegt. Beginnen möchte ich mit einem Projekt, dass die einzelnen WebServices (YingService, YangService und MatchService) enthält, die dann im BPEL Prozess verwendet werden.
Dazu legen wir einfach eine neue Web Application an und fügen anschließend die drei WebServices hinzu.
Read more…
tags: Netbeans WebService BPEL Glassfish Tutorial
Bei der Suche nach einem EPK Tool (Aris), habe ich eine Erweiterung für mein geliebtes UML Programm Enterprise Architect (EA) gefunden. Auf dieser Seite von Sparx Systems wird das neue Profil für Ereignisgesteuerten Prozessketten kurz vorgestellt und runterladen könnt ihr das Profil hier. Die folgenden Absätze sollen euch bei der Installation helfen.
Read more…
tags: Enterprise Architect EPK Aris
Vor kurzem habe ich von einem Interface Designer Entwürfe für eine Programmoberfläche bekommen und war erstaunt über den Look der Entwürfe. Das ganze sah aus wie mit einem Stift gezeichnet und machte einen sehr guten Eindruck bei mir.
Ich erfuhr, dass die Entwürfe mit einem Mockup Tool namens Balsamiq Mockup erstellt wurden. Ein kurzer Besuch auf der Webseite von Balsamiq zeigte wie einfach die Software gestrickt ist und wie leicht damit jedermann schöne Software Entwürfe zusammenklicken kann.
Mit diesen Entwürfen in der Hand ist es einfach Vorgesetzte, Kollegen oder Kunden eine Idee der Visualisierung zu vermitteln. Das besondere ist, dass der skizzenhafte Zeichenstil Kunden nicht in den Glauben versetzt die Software sei schon fertig. Sind die Entwürfe nämlich im exakten Look der künftigen Oberfläche, denkt der Kunde die Software sei bereits fertig und versteht nicht warum er noch viel Geld bezahlen soll.
Read more…
tags: Balsamiq Mockup Tool

Es gibt nur eine Kleinigkeit zu berichten. Nach der Installation der Maven Integration (Update Site: http://m2eclipse.sonatype.org/update) hat Eclipse gemeckert, dass es mit einem JDK laufen muss und der Pfad zur Virtual Machine in der eclipse.ini stehen muss.
Dabei sollte das so aussehen:
...
-vm
C:\Programme\Java\jdk1.6.0_12\bin
...
nicht:
...
-vm C:\Programme\Java\jdk1.6.0_12\bin
...
Das heißt der Pfad soll auch auf das bin Verzeichnis zeigen.
tags: Maven Eclipse
Ich habe mir heute mal die Sun VirtualBox angesehen um ein Linux Betriebssystem in einer virtualisierten Umgebung auf meinem Windows PC nutzen zu können. Ich benutze Windows XP aber sofern mir bekannt ist, sind die Schritte in Vista die gleichen.
Die Software macht wirklich einen ausgereiften Eindruck. Nach meinen ersten Erfahrungen in Sachen Virtualisierung vor ein Paar Jahren mit VMWare habe ich nun die Sun VirtualBox empfohlen bekommen und bin vorerst überzeugt. Das Tool ist in minutenschnelle installiert. Wenn man nun schon ein Diskabbild des “virtuellen” Betriebssystems bereit hat, kann die Installation schon beginnen. Die folgenden Screenshots zeigen die Installation einer nicht so populären Linux Distribution – Fluxbuntu. Dieses System ist ein Ubuntu mit dem WindowManager Fluxbox, der sich durch sein leichtgewichtiges Wesen für ein virtuelles System eignet. Weiter zu den Screenshots …
Read more…
tags: VirtualBox Virtualisierung Linux Fluxbuntu
Gestern bin ich auf ein Tool gestoßen mit dem man leicht die üblichen Installationsroutinen von Programmen erstellen kann. Das Programm heißt Inno Setup und wird über ein Skript gesteuert. Dennoch bietet das Tool einen großen Funktionsumfang. Neben verschiedenen Kompressionsstufen, können Dateien während der Installation runtergeladen werden oder eine Slideshow in die Installation eingebunden werden. Das oben angesprochen Skript wird von dem Programm kompiliert und man erhält eine ausführbare .exe Datei.
Das Skript ist in verschiedene Bereiche eingeteilt. [Setup], [Languages], [Tasks], [Files], [INI], [Icons], [Run] und [UninstallDelete]. In jedem dieser Bereiche können unterschiedliche Parameter den Ablauf der Installation beeinflussen. Das folgende Beispiel soll den Aufbau solch einer Skriptdatei verdeutlichen.
Read more…
tags: Inno Setup Tool Installation