News

Face to Face

Die zunehmende Verbreitung von XML als Datenaustauschformat macht sowohl das Erstellen von XML aus Datenbanktabellen als auch die Übernahme von XML in dieselben zu einer Standard-Anforderung der täglichen Praxis. Dieser Artikel stellt anhand eines praktischen Beispiels vor, wie eine XML-Schnittstelle auf relationale Tabellen direkt in der Datenbank hinterlegt wird. Zur Umsetzung kommen Standards wie SQL/XML und Datenbank-Technologien wie Views und Trigger zum Einsatz. Zwar beziehen sich die vorgestellten SQL-Skripte auf die Oracle-Datenbank, sie können jedoch in jedem RDBMS, das den SQL/XML-Standard, Views und INSTEAD-OF Trigger unterstützt, nachvollzogen werden. Natürlich lässt sich das Konzept auch abwandeln: Anstelle von Views können auch Stored Procedures verwendet werden.

Maschinenlernen

Wie funktioniert ein Spam-Filter? Diese Frage lässt sich dank des quelloffenen Data-Mining-Frameworks Weka leicht beantworten, indem aufbauend auf vorgefertigten Komponenten eine maschinelle Textklassifikation in Java implementiert wird. Dieser Beitrag erläutert das notwendige Hintergrundwissen und zeigt den Umgang mit der Weka-Software.

Wiki-getriebene Akzeptanztests

Der Kunde weiß, was er will – mit Fit und FitNesse kann er dies nun auch beweisen. Der Artikel führt in die Welt von Fit ein, grenzt den Ansatz zu JUnit ab und gibt einen Überblick über die Kombination von Fit mit einem Wiki, sprich FitNesse.

Umkehr der Beweislast

EJB-Komponenten und ihre Testbarkeit beziehungsweise Nicht-Testbarkeit – ein Thema, welches immer mal wieder als negativer Punkt gegen EJBs herangezogen wird. Dieser dritte Artikel, der sich im Rahmen des EJB Corner mit dem Thema Inversion of Control (IoC) und Dependency Injection (DI) im Kontext von EJB 3.0 beschäftigt, fokussiert die vereinfachte (externe) Testbarkeit von EJB 3.0-Komponenten und liefert Feedback aus der Entwicklergemeinde zu diesem Thema.

Web Servicing the Office

Dem EDV-Anwender stehen zwei Welten gegenüber: Auf der einen Seite der PC mit seinen hochfunktionalen, aber wenig informativen Desktop-Anwendungen. Auf der anderen Seite das Internet mit zahlreichen Webseiten, aber wenigen Webanwendungen, die dieselbe Funktionalität wie die gewohnten Desktop-Anwendungen bieten. Die Integration von Web Services in Standardapplikationen verbindet diese beiden Welten und realisiert 11 Jahre später Bill Gates Vision von „information at your fingertips“.

Entwicklung von Multiplayer-Spielen mit MIDP

MIDP (Mobile Information Device Profile) ist ein Profil der Java Micro Edition (Java ME), das inbesondere auf die Fähigkeiten kleiner mobiler Endgeräte ausgelegt ist. Eine davon – und das zudem eine sehr reizvolle – ist die Entwicklung von Multiplayer-Spielen für MIDP-Handys. In unserem Beitrag beschreiben wir die Grundlagen und die verschiedenen Technologien, die zur Verfügung stehen, um Multiplayer-Spiele zu entwickeln, und zeigen auf, welche Arten von Spielen mit diesen Technologien realisierbar sind und welche nicht.

Mobile Multiplayer Games: ein Erfahrungsbericht

Vor wenigen Jahren aufgrund mangelnder Bandbreite noch nahezu undenkbar, halten heute mehr und mehr Multiplayer Games auf den Handys Einzug. Die mit dem Online Gaming verbundenen Probleme und insbesondere die zur Spielabwicklung notwendige Kommunikation mit einem Gaming Server stellt die Gemeinde der Mobile Game Developer vor neue Herausforderungen, wie der vorliegende Erfahrungsbericht zeigt.

Vokabeltraining

Mit JavaServer Faces steht der Entwicklergemeinde seit fast anderthalb Jahren ein neues UI-Framework zur Verfügung. Mit JSF sollen Anwendungsentwickler schnell professionelle Anwendungen im Webumfeld realisieren können. An dieser Stelle werden wir eine Beispiel-Webanwendung schrittweise mit JSF umsetzen. Der Fokus ist dabei auf die Vorgehensweise, die verschiedenen Arbeitsschritte, aber auch auf Besonderheiten und Architekturempfehlungen beim Einsatz von JSF gerichtet.

Projektleiter zum Schmunzeln gebracht

Vom 14. bis 17. November 2005 fand im ArabellaSheraton Grand Hotel in München die W-JAX 2005 – Konferenz für Java, XML, Web Services – statt. Mit circa 600 Teilnehmern – das sind 30 Prozent mehr als im letzten Jahr -, 19 Ausstellern und über 50 Sessions zeigt die W-JAX, dass sie sich neben der JAX als eine der wichtigsten Konferenzen für die Java Community etabliert hat. Wie in den Jahren zuvor konnten zahlreiche internationale wie auch nationale renommierte Speaker als Vortragende gewonnen werden. Neu und eine echte Bereicherung an dieser W-JAX war, dass zeitgleich zum ersten Mal die Enterprise Architektur Konferenz (EAKon) stattfand. Damit rückten das Zusammenspiel von Technologien, das Management und die Umsetzung komplexer Architekturen mehr in den Vordergrund. Die Teilnehmer konnten sich so nicht nur über neue Technologien und APIs informieren, sondern auch aus der Vogelperspektive über Trends in der Softwareentwicklung informieren.

Neutral im Sinne der Qualität

Wer eine Programmiersprache in einer Eclipse-basierten IDE unterstützt, wird früher oder später gefragt, ob er denn auch automatisierte Refactorings anbietet – von der Art, wie sie in den Java Development Tools (JDT) enthalten sind (und auf die kaum ein Benutzer von Eclipse inzwischen noch verzichten möchte). Seit Eclipse 3.1 wird zumindest ein Teil dieser keineswegs einfachen Aufgabe von einem sprachneutralen API unterstützt: dem Language Toolkit (LTK). Doch wie wird dieses API verwendet?

Urlaub in Gefahr

End-to-End Monitoring ist untrennbar mit dem Application Performance Management (APM) – dem Monitoren von Anwendungen aus der Sicht der Performance – verbunden. Da Java EE-Anwendungen sehr komplex sind, ist dafür jedoch eine hohe Interaktion von den einzelnen Bereichen der DV-Abteilungen über die Grenzen der Teilbereiche hinaus gefragt.

Der Build-Freak

In Software-Projekten müssen Quelltexte, Konfigurations- und andere Dateien zu einem fertigen, installierbaren Paket zusammengebaut werden. Obwohl IDE-Hersteller dafür Funktionalität in ihren Produkten bereitstellen, werden in vielen Projekten skriptbasierte Build-Werkzeuge wie Make oder Ant eingesetzt. Das neueste Open-Source-Werkzeug auf diesem Markt ist Maven, das die klassischen Build-Skripte durch eine Projektkonfigurationsdatei ersetzt und zusätzlich eine Reihe nützlicher Features zur Projektsteuerung anbietet.

Web Services der dritten Generation

Die beiden Veranstaltungen zu Axis2 auf der ApacheCon Europe im Juli waren bestens besucht. Am Rande der Konferenz ergab sich Gelegenheit zu einem Gespräch mit drei der Kernentwickler des Axis2-Projektes, die alle für die Lanka Software Foundation arbeiten: Eran Chinthaka, Chathura Herath und Ajith Ranabahu.

Stille Post

Ausgefeilte Sicherheitsmechanismen sind bei jeder Kommunikationstechnik von großer Bedeutung. Absender und Empfänger von Nachrichten verlassen sich auf die Sicherheit der Übertragung. Bei Web Services gilt das ganz besonders, da diese Technik ihre Stärke gerade im unternehmensübergreifenden Bereich besitzt. Dort soll oft aus Kosten- und Flexibilitätsgründen das öffentliche Internet und damit ein unsicheres Medium genutzt werden. Der folgende Artikel beschreibt Apache WSS4J, eine freie Implementierung der OASIS Web Services Security v1.0 Spezifikation.

Diagramme selbst gemalt

Wer mit Eclipse Diagramme editieren will, kommt um das Graphical Editing Framework (GEF) [1] nicht herum. Doch oft genügt es schon, vorhandene Informationen in grafischer Form darzustellen. Draw2d bietet als View-Komponente von GEF umfassende Unterstützung für die Darstellung von Diagrammen. Wie diese Unterstützung aussieht und wie man mit Draw2d auch ohne Eclipse und GEF schöne Diagramme erstellen kann, wird im Folgenden dargestellt.

Raffinierte Rezepte

Wer einen Editor für die Bearbeitung von Textdokumenten eines bestimmten Formats schreiben will, findet bei Eclipse ein reichhaltiges Rahmenwerk vor, das es mit geringem Aufwand erlaubt, ein mächtiges Werkzeug zu konstruieren. Der Funktionsumfang eines Editors bleibt dabei nicht auf die grundlegenden Fähigkeiten wie Syntaxhervorhebung und automatisches Einrücken beschränkt. Die Implementierung komplexerer Funktionalität wie Faltung oder Inhaltsassistent wird durch Wiederverwendung von bestehender Infrastruktur erleichtert.

Eingaben à la carte – für Gourmets

In den Ausgaben 11.2004 bis 1.2005 des Java Magazins wurde das Apache Cocoon-Projekt vorgestellt, das sich zur Entwicklung von komplexen Webanwendungen eignet. In diesem Artikel gehen wir genauer auf Cocoon Forms ein, der Formularunterstützung innerhalb des Webanwendungs-Frameworks. Mit der neuesten Cocoon-Version 2.1.7 sind eine Fülle von neuen Möglichkeiten hinzugekommen, von denen wir einige genauer beleuchten werden.

Mit dem Tiger in der Falle

Der Tiger ist nun fast ein Jahr alt – erste Pilotprojekte sind gestartet und diverse Schulungen und Beratungsleistungen verkauft. Der hinzugekommene syntaktische Zucker schmeckt vielen Entwicklern. Spätestens mit der für 2006 geplanten J2EE-Version 5.0 werden die in J2SE 5.0 veröffentlichten Sprachfeatures zum Massengut. Höchste Zeit, Erfahrungen zu den entdeckten Fallstricken bei der Entwicklung mit dem Tiger-Release zusammenzufassen. Der Artikel setzt grundlegende Kenntnisse der in Java 5 eingeführten Sprachkonstrukte voraus.

OLE DB für InterBase

Auch in der IT-Branche ist es derzeit nicht ganz ungewöhnlich, dass sich auf eine zu besetzende Stelle vier Bewerber mit angeblich identischer Qualifikation melden. Wenn die eingereichten Unterlagen auf den ersten Blick vergleichbar erscheinen, die Spanne zwischen der niedrigsten und der höchsten Gehaltsvorstellung mehrere hundert Prozent beträgt und einer sogar zusagt, den Dienst ganz ohne Bezahlung anzutreten, ist die Wahl ganz einfach. Oder vielleicht doch nicht?

Zwei Welten vereint

Alle heute verbreiteten Datenbanken basieren auf der bekannten Abfragesprache SQL. Da die Schnittstelle zu XML damit oft nicht zufriedenstellend zu lösen ist, befinden sich bereits viele unterschiedliche Techniken in der Entwicklung, die hier Abhilfe schaffen sollen. DBDOM ist eine interessante Lösung, da hierbei die komplette DOM-API durch die Sprache SQL nachgebildet wird. Der folgende Beitrag beschäftigt sich mit dem Konzept rund um DBDOM und führt in die Anwendung ein.