JAXenter

Aktuelles

Peer-to-Peer

Die steigende Relevanz von Peer-to-Peer Systemen erkannte Sun schon früh und rief unter der Führung von Bill Joy das Open Source-Projekt JXTA ins Leben. Ähnlich wie einst TCP/IP, ist JXTA heute ein standardisiertes Protokoll für eine neue Infrastruktur und bietet darüber hinaus eine vollständige Plattform für moderne verteilte Systeme. Mit JXTA als Middleware können Sie mit geringem Aufwand die Vorteile von Peer-to-Peer Systemen nutzen und eine verbesserte Skalierbarkeit, Ressourcenverfügbarkeit und Fehlertoleranz gegenüber Client/Server-Systemen erzielen.

Der Manager

Früher unter dem Namen JMAPI (Java Management API) bekannt, wurde JMX schon vor einigen Jahren von Sun ins Leben gerufen. Spätestens seit der Verbreitung von J2EE und damit erhöhtem Administrationsbedarf komplexer Java-Anwendungen hat JMX immer mehr an Bedeutung gewonnen und immer mehr Anwender gefunden. Sowohl die führenden kommerziellen J2EE-Anbieter als auch die bekannten Open Source-Projekte wie JBoss haben JMX in ihre Software integriert.

Türsteher

JAAS (Java Authentication and Authorization Service) definiert eine API für technologieunabhängige Authentisierung sowie benutzerzentrierte deklarative Autorisierung. Der vorliegende Artikel beschreibt die Sicherheitsmechanismen von J2EE Web-Applikationen, sowie deren Einsatz in Kombination mit JAAS.

Spurensuche

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 den Überblick über den gesamten Classpath verliert. JWhich versucht mit sehr einfachen Mitteln, die Übersicht über den Classpath zurückzugewinnen.

Vorsicht ansteckend

Die aktuelle Wunderwaffe der Softwareindustrie heißt XML. Kein Programmierwerkzeug, dessen neueste Version nicht mit dem Slogan Jetzt mit noch mehr XML! beworben würde. Als vorsichtige Programmierernatur bringt mich diese Euphorie in einen ernsthaften Zwiespalt: Auf der einen Seite habe ich in mühevollen Jahren die grundlegenden Prinzipien der Modularisierung und anschließend der Objektorientierung für gut befunden und verinnerlicht. Auf der anderen Seite spüre ich das herablassende Lächeln meiner Kollegen, wenn ich zugebe, dass ich noch in Java programmiere und nicht schon längst in XML konfiguriere.

Freier Austausch

Integrationsserver und -lösungen sind in der Regel komplexe und kostspielige Systeme, die immer häufiger auf XML und XSLT basieren. Dieser Artikel beschreibt, wie mit verbreiteten Open Source-Tools ein leistungsfähiger und erweiterbarer Integrationsserver realisiert werden kann. Dabei kommen das Build-Tool Ant sowie die Technologien XML, XSLT, Java und JMX zum Einsatz.

Mehr als Kaffeefilter

Filtering ist eine der wesentlichen Neuerungen in der Java Servlet-Spezifikation 2.4. Obwohl die API-Änderung minimal ist, stellt Servlet-Filtering ein mächtiges Konzept dar, mit dessen Hilfe sich viele Aufgaben einfach lösen lassen. In diesem Artikel werden zuerst Entwicklung und Deployment von Filtern in einer Webapplikation beschrieben, und später diskutiert, welche Rolle ein Filter in der Model-2-Architektur einer Webapplikation spielen könnte.

Access-Layer pur

Im zweiten Teil dieser Serie wird ein auf Sourceforge gehosteter Access-Layer vorgestellt. Hibernate verspricht das schnelle Speichern, Laden und Verändern der Java-Objekte einer Anwendung – ohne Codeänderungen wie bei JDO – und unterstützt eine Vielzahl von Datenbanken. Im Folgenden wird das Tool kurz vorgestellt und damit Anregung zur weiteren Beschäftigung mit diesem Access-Layer gegeben.

Die Nebel von Avalon

Die aktuelle Softwareentwicklung ist sehr stark durch Komponenten geprägt und es existieren auch viele Open Source-Bausteine, die direkt als Bausteine verwendet werden können. Hierfür werden einheitliche Bedingungen benötigt, damit allgemeine Komponenten entwickelt und eingesetzt werden können. Das Apache Open Source-Projekt Avalon bietet Ihnen ein Java-Framework zur einheitlichen Entwicklung und Nutzung von Komponenten. Dieser Artikel stellt das Framework vor und zeigt, wie Sie es bei der eigenen Softwareentwicklung erfolgreich einsetzen können.

Beans aufblasen

In dieser Serie, die mit der vorliegenden Ausgabe des Java Magazins startet, werden künftig verschiedene Open Source-Perlen vorgestellt werden – kleine, aber sehr nützliche Open-Source Werkzeuge. Gestartet wird mit XDoclet, einer erweiterten Javadoc-Engine, mit der man auf einfache Weise EJBs, Deployment-Deskriptoren und vieles – für das Web-Development nützliche – mehr generieren kann.

Kleines Format ganz groß

Gerade in der XML-Welt trifft man oft auf Akronyme, die aus drei Buchstaben bestehen und RSS macht da keine Ausnahme. Dennoch ist RSS anders, denn schon bei der Bedeutung der drei Buchstaben streitet sich die RSS-Gemeinde. Je nachdem, wo man nachliest, steht RSS für RDF Site Summary[1], Rich Site Syntax[2] oder neuerdings auch Really Simple Syndication [3]. Eigentlich keine guten Voraussetzungen für die Durchsetzung eines Standards für die Übermittlung von aktuellen Informationen im Web. Dennoch hat das XML-Format RSS inzwischen einen Siegeszug angetreten, von dem andere Formate noch träumen. Durch die Verfügbarkeit von zahlreichen Informationsquellen, die ihre Informationen in RSS anbieten, durch die Veröffentlichung von Weblogs als RSS und durch die Zunahme an RSS-fähigen Clientprodukten, hat dieses Format gerade in den letzten Monaten viele neue Freunde gefunden.

Mit Schlange und Stil

Immer wieder gibt es Situationen, in denen es hilfreich wäre, schnell mal zu sehen, welche Attribute in einem bestimmten Tag innerhalb eines XML-Dokuments vorkommen können. Sind keine DTD oder Schema zur Hand oder das Lesen einer komplexen DTD zu zeitraubend, hilft eine Cross-Referenz, die zeigt, welche Attribute ein Element haben kann, wie oft es im Dokument vorkommt, welche Kindelemente auftreten und welches die Elternelemente sind. Mit Hilfe eines kleinen Python-Skripts und eines XSLT-Stylesheets lässt sich das im Handumdrehen generieren.

Zum ersten, zum Zweiten, …

Für Open Source-basierte Portal-Projekte bietet sich das Framework Jetspeed von Apache als leistungsfähige Umgebung an. Wer schon einmal im Web danach gesucht hat, weiß, das anspruchsvollere Jetspeed-Beispiele mit Sourcecode im Web rar sind. Deshalb wollen wir, nachdem wir in früheren Ausgaben des Java Magazins das Framework ausführlich vorgestellt haben, uns hier in die Praxis stürzen und Ihnen ein komplexeres Beispiel einer Portlet-basierten Auktions-Site à la eBay demonstrieren.

Geschäftsbohnen

Es steht wieder einmal ein Update der EJB Spezifikation geben: EJB 2.1 hat die Public Review-Phase überstanden und liegt mittlerweile als Proposed Final Draft vor. EJB 2.0 hat in der recht langen Public Review-Phase noch deutliche Änderungen erfahren, man denke nur daran, dass die fertig spezifizierten Dependent Objects wieder verschwunden sind und durch Entity Beans mit Local Interfaces ersetzt wurden. Allerdings hat EJB inzwischen einen recht hohen Reifegrad erreicht und dementsprechend ist – wie man auch an der Versionsnummer sieht – EJB 2.1 nur ein Abrunden von EJB 2.0 und keine große Umwälzung.

Die zweite Sonnenfinsterins

Mit dem zweiten Release ist das Open Source-Projekt Eclipse eindeutig seinen Kinderschuhen entwachsen. Grund genug, dieses Projekt einmal näher anzuschauen und die neuen Möglichkeiten zur Java-Entwicklung zu betrachten. Der Name – Sonnenfinsternis – verleitet, eine Spitze gegen Sun zu unterstellen. Allerdings zielt das Eclipse-Projekt vielmehr darauf ab, eine integrierte Entwicklungsplattform zu schaffen, die mit Microsofts Visual Studio.NET konkurrieren kann.

Test First

Nachdem in diesem Magazin viel über Model Driven Architecture (MDA) und die Vorteile einer Trennung von fachlichen und technischen Aspekten berichtet wurde [1], geht es in diesem Beitrag um die Architektur von Tests. Anhand eines kleinen Beispiels wird gezeigt, wie ein solches Verfahren die Projektsteuerung unterstützt, die Kundenzufriedenheit steigert und den Entwicklern Raum für Kreativität schafft. Das hier gezeigte Vorgehen basiert auf dem Test-First-Ansatz, der im Umfeld von Extreme Programming entstanden ist [2].

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.

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.

Threads in Java

In der heutigen Leistungsgesellschaft muss der Mensch fast schon selbst zum Computer mutieren, will er die Aufgaben, die an ihn gestellt werden, alle gleichzeitig erledigen. Doch unterscheidet sich der Mensch vom Computer durch seinen Verstand. Dieser ist dann auch der Grund, weshalb schon frühzeitig (Betriebs-) Systeme geschaffen wurden, welche auf Parallel-Verarbeitung basieren, um die steigende Datenflut zu bewältigen.

Divide et impera!

Nachdem die Techniken für die Dokumenten-Speicherung im Teil 2 dieser Artikelreihe vorgestellt wurden, soll nun auf die Vererbungsproblematik bei EJB eingegangen werden. Ein allgemeines Konzept zur Vererbung und Komposition soll ebenfalls berücksichtigt werden, da es in einer komponentenorientierten und objektorientierten Softwarearchitektur eine wesentliche Grundlage darstellt. Anschließend wird der Zusammenhang dieses Konzeptes mit einer EJB-basierten Diskussionsforums-Komponente in OpenUSS erklärt.