JAXenter

Aktuelles

Das Web wandelt die Begriffe

Object Design, Anbieter des objektorientierten Datenbanksystems Object Store, machte sich eines Tages daran, sich von einer Single-Product Company zu einem Unternehmen mit mehreren Produkten im Portfolio zu mausern. So entstanden der EJB-Daten-Cache Javlin sowie die Produktreihe eXcelon. Zwischenzeitlich setzte man voll und ganz auf die XML-Produktpalette, bevor sich die Strategie abermalig änderte. Philipp Lee, Präsident der Object Design Division beim Unternehmen eXcelon, erzählt, wo das Unternehmen heute steht.

XML leicht gemacht

Die Nutzung von XML-Dokumenten für die verschiedensten Aufgabengebiete gehört inzwischen zum festen Standard unter Java. Aufgrund der vielen Vorteile eines solchen Datenformates wurden einige Nachteile bei der Entwicklung in Kauf genommen. So wird vor allem das Lesen, Verändern und Schreiben immer wieder zu einem zeitaufwendigen Programmier-Problem. Die Java Architecture for XML Binding (JAXB) soll hier eine Lösung bieten.

Die Agenten sind los!

Nach den einführenden und grundlagenorientierten Beiträgen unserer Serie über Agenten in Java stellen wir Ihnen im vorliegenden Artikel das Agentensystem living markets dar, welches seit vier Jahren bereits auf Agententechnologien setzt. In diesem Zusammenhang beantworten wir die Fragen: Welche Grundfunktionalität muss ein Agentensystem für den professionellen Einsatz zur Verfügung stellen? Wie sieht ein Softwareprojekt bzw. die Softwareentwicklung mit Agentensystemen aus?

Zeig' mir wer Du bist

Java mangelte es bisher an einfachen Zugriffen auf betriebssystemnahe Dateieigenschaften. So unterscheiden etwa die Datei-Icons des bisherigen JFileChoosers ein Diskettenlaufwerk nicht von einer Festplatte oder einem CD-ROM-Laufwerk. Das wird mit der Java 2 Standard Edition 1.4 besser. Dieser Beitrag erläutert die neuen Fähigkeiten zur Anbindung eines Dateisystems an eine Java-Oberfläche und demonstriert sie am Beispiel eines Dialogs zur Verzeichnisauswahl.

Im Visier des Anwenders

Selbst in Zeiten von Drag&Drop bleibt die Option einer tastaturgestützten Bedienung für viele Anwendungssysteme ein ergonomisches Muss. Wer mit der Implementierung von Swing/AWT-Benutzerschnittstellen beschäftigt ist, sollte sich immer mit dieser Anforderung auseinandersetzen, kennt aber gleichzeitig auch die Tücken im Umgang mit dem Eingabefokus. Der Version 1.4 des JDKs wird nun ein überarbeitetes Fokusmanagement spendiert, das viele Vereinfachungen verspricht. Dieser Artikel zeigt aus pragmatischer Sicht, was sich geändert hat und wie die Vorteile der neuen Architektur genutzt werden können.

Java goes to space

Einen autonom operierenden Roboter aus Teilen der Lego-Mindstorms-Serie für die Internationale Raumstation ISS zu konstruieren, war die Aufgabe eines Wettbewerbs der dänischen Firma Lego. Im Dezember 2001 nahmen drei russische Kosmonauten auf der ISS einen kleinen Roboter in Betrieb, dessen zwei Steuerrechner in Java programmiert wurden. Hintergründe zu dieser Geschichte und die Möglichkeiten, Java für Robotik-Projekte einzusetzen, sollen am Beispiel der Lego-Mindstorms-Komponenten und der Java-VM leJos aufgezeigt werden.

Das Traumpaar Java und XML

XML hat sich beim Speichern von fast beliebigen Daten zum gängigen Dateiformat entwickelt. Es ist die Sprache, die von Firmen in der B2B-Kommunikation verwendet wird, und es hat herstellerspezifische Texdatei-Formate nahezu ersetzt (Beispiele: Einsatzdeskriptoren für EJB, Web-Konfiguration im WAR-Dateiformat, Dateierstellungs-Syntax für Ant, u. a.). Desweiteren taucht es immer häufiger in Datenbanken auf. Da es sich um einen offenen Standard handelt, wird eine Bindung der Unternehmen an herstellerspezifische Lösungen vermieden. Da der Einsatz von XML immer größere Verbreitung findet, gewinnen Werkzeuge, die dieses Format verstehen können, zunehmend an Bedeutung. Dieser Trend blieb in der Java-Gemeinde nicht unbemerkt. Es wurden sogar schon verschiedene APIs entwickelt, um Entwickler beim Arbeiten mit XML zu unterstützen. Dieser Artikel soll im Schnelldurchgang einen Überblick über einige der häufiger verwendeten APIs und Techniken verschaffen, die für das Arbeiten mit XML-Dokumenten entwickelt wurden.

Voll integriert!

Schenkt man den Analysten der Meta Group Glauben, dann werden in nächster Zeit die meisten EAI- Anbieter in der Versenkung verschwinden und kräftig Federn lassen müssen. Doch woran mag das liegen? Schließlich gibt es einen nie da gewesenen Bedarf an Integrationslösungen. Ein Aspekt ist mit Sicherheit der Glaube der Hersteller an proprietäre Technologien. Schade eigentlich, denn mit J2EE und JCA ist die Integration von Enterprise-Informationssystemen mittels offener Standards möglich. Grund genug, sich diese Möglichkeiten einmal näher anzuschauen.

Das Traumpaar Java und XML

Java Entwicklern stehen heute eine ganz Reihe von Technologien und Schnittstellen zur Verfügung, die für die Verarbeitung von XML-Dokumenten entwickelt wurden. In unserem Workshop für Einsteiger wollen Ihnen einige dieser Technologien vorstellen und aufzeigen, wie XML und Java sich gegenseitig ergänzen können. Im ersten Teil des Workshops haben wir Sie in das XML-Parsing mit SAX und DOM eingeführt (Java Magazin 4.2002). Im zweiten Teil stellen wir Ihnen mit der Bibliothek JDOM eine Open Source-Alternative zur DOM API vor, die zudem Java-spezifische Features bietet. Im Anschluss werden wir uns dem Thema Web Services zuwenden und uns aus Java-Sicht mit dem SOAP-Protokoll befassen, wobei die SOAP-Implementierung von Apache zum Lesen und Schreiben von SOAP-Envelopes verwendet wird.

Attack of the Web Services

Betrachtet man sich zur Zeit die IT-Gemeinde, kommt man um die WebServices nicht mehr herum. Jede Sprache und jedes System, sei es .NET, Java etc., versucht mit der bestmöglichen Implementierung aufzutrumpfen. Natürlich könnten wir uns an dieser Stelle fragen, wie die theoretisch optimale Lösung beschaffen sein sollte, aber für heute werden wir dem neuen Hype ein Stück in die reale Java-Welt folgen.

Direkt

Nicht erst seit Napster, Gnutella, Freenet und ähnlichen Initiativen existiert der Wunsch, einzelne Computer direkt miteinander zu vernetzen. Durch das Internet sollte so etwas auch problemlos möglich sein. Jeder hat theoretisch eine eigene IP-Adresse und kann somit Dienste bereitstellen und nutzen. Leider gibt es dabei einige Hindernisse, nicht zuletzt fehlende Standards. Das Projekt JXTA von Sun soll eine einheitliche Plattform für Peer-to-Peer(P2P)-Dienste und Anwendungen definieren. Der folgende Artikel beschreibt die ersten Ergebnisse und Dokumente.

got JAXed?

Vom 7. – 10. Mai 2001 stand das Astron Hotel Frankfurt-Mörfelden ganz im Zeichen von Java, Apache und XML, kurz JAX genannt ([1]). Die ca. 800 Teilnehmer kamen dabei in den Genuss eines hochwertigen Programms, bei dem der Veranstalter, die Software & Support Verlag GmbH, auf einen umfangreichen Stamm an Java Magazin-Autoren, diverse Java-Trainer und Firmen-Angehörige zurückgreifen konnte. Der Andrang war so groß, dass ein paar Wochen vorher sogar eine Anmeldesperre verhängt werden musste, und das war auch gut so, denn das Astron stieß in der Tat an seine infrastrukturellen Grenzen.

Classpath-Kontrolle mit JWhich

Wer in der Vergangenheit bereits mit umfangreicheren Java-Projekten in Kontakt gekommen ist, wird schnell auf Probleme im Umgang mit dem Classpath gestoßen sein. Insbesondere dort, wo viele unterschiedliche Bibliotheken zum Einsatz kommen, kann es sehr schnell passieren, dass der Programmierer […]

Xalan++

Warnung! Der XSLT-Standard beschreibt nur in groben Zügen, wie ein XSLT-Prozessor um zusätzliche Funktionen und Elemente erweitert werden kann. Aus diesem Grund ist die Verwendung dieser Möglichkeiten immer etwas problematisch. Andererseits lassen sich so sehr einfache und schnell umzusetzende Problemlösungen finden, wie der folgende Beitrag zeigen soll.

Nackt und pur

Grafische Nutzerschnittstellen von Geschäftsanwendungen werden oft als Abfolge von Masken entworfen. Dieser Trend wird von Web-Frameworks wie Struts unterstützt. Solche ablauforientierten Oberflächen passen natürlich gut zu den technologischen Beschränkungen von Browsern. Vor allem aber geben sie einen klaren Ablauf vor und präsentieren zu jedem Zeitpunkt nur eine kleine Auswahl an Funktionen. Dadurch wird insbesondere für unerfahrene Anwender die Arbeit mit dem System übersichtlicher.

Ein etwas anderer Hausbau

Vor dem Beginn der Rohbauarbeiten und nach dem Kauf eines Grundstücks beginnt die Planung des Hauses. Zu diesem Zweck werden Architekten beauftragt, die für die Planung von ästhetischen, wirtschaftlichen und auch rein technischen Aspekten zuständig sind. Die Implementierung des Hauses beginnt erst nach dieser Planungsphase. Die Entwicklungsphasen in der Softwareentwicklung sind leider nicht so klar definiert. In dieser Artikelserie werden wir die Architektur, das Design und auszugsweise auch die Implementierung einer Beispielanwendung näher betrachten.

Der Ball ist rund

Die Fußball-Europameisterschaft steht vor der Tür und Millionen deutscher Nationaltrainer diskutieren, wie hoch der Sieg gegen Holland wohl ausfallen wird. Weil da jeder so seine eigene Meinung hat und man vorher eben nie genau weiß, wie’s am Ende ausgeht, sind Tippspiele so ungemein beliebt. Höchste Zeit also, endlich mal eines zu programmieren – ganz nebenbei kann man dabei eine Menge über J2EE und Patterns lernen.

Just compile it!

In der heutigen Anwendungswelt, in der XML-Dateien stetig an Bedeutung gewinnen, muss jeder Entwickler seine XML-Werkzeuge sicher beherrschen. Es sind zahlreiche Werkzeuge unterschiedlichster Art vorhanden. Das Werkzeug XMLC hat einige Besonderheiten, die es sich lohnt, genauer anzusehen.

Status quo vadis?

Bei der Implementierung nebenläufiger Systeme ist eine gehörige Portion Kunst notwendig. Es gibt immer noch genug Möglichkeiten, Fehler zu machen; man muss sich immer noch um das Wie, nicht nur um das Was kümmern. Um stabilere Programme herzustellen, ist es jedoch notwenig, den Anteil der Kunst möglichst gering zu halten. Eben dabei hilft uns das java.util.concurrent-Paket. Durch seine Vorgaben bringt es Klarheit in die gebräuchlichsten Problemstellungen der nebenläufigen Programmierung und liefert die komplexesten und mühsamsten Implementierungen gleich dazu, was der folgende Artikel verdeutlichen soll.