JAXenter

Aktuelles

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.

Java meets Office

Ein Großteil der heute üblichen Geschäftsapplikationen produziert seinen Output immer noch auf Papier. Dabei werden an das Layout in Zeiten von Microsoft Word und dessen Konkurrenten immer größere Anforderungen gestellt. Wie bewerkstelligt nun der geneigte Java-Applikations-Entwickler diesen Trend? Der folgende Artikel zeigt Möglichkeiten auf wie man zu guten Ergebnissen kommen kann.

Jodel-Diplome?

Die Zeiten, in denen jeder mit IT-Grundkenntnissen Ausgestattete zwischen unzähligen gutdotierten Angeboten auswählen konnte, sind vorbei. Insbesondere für Quereinsteiger erscheinen die Angebote vieler Hersteller, sich Kenntnisse durch einen x Certified y for z (ersetze x durch den Hersteller, y durch eine Rolle und z durch ein Produkt) bescheinigen zu lassen, als gute Möglichkeit, den Lebenslauf aufzuwerten. Auch zum Thema Java existieren verschiedene Zertifizierungsprogramme. Was steckt hinter diesen Angeboten? Und welchen Wert haben Sie für den einzelnen?

Open Business

Mit der Durchsetzung der J2EE-Architektur und den allmählich stabil werdenden J2EE-Spezifikationen stehen nun in vielen Anwendungsbereichen umfangreiche J2EE-Komponenten zur Verfügung. Domänspezifische und -unabhängige Komponenten (Servlet und EJB) können stetig ihre Akzeptanz erhöhen [1]. In der Open Source-Szene floriert die Entwicklung in diesem Bereich weiter – trotz schlechter finanzieller Bedingungen. Dieser Artikel stellt einen Überblick über drei Open Source J2EE-Frameworks dar, die in eigenen Enterprise-Projekten Wiederverwendung finden können.

Don't click to test!

JFCUnit ist eine Bibliothek zum Durchführen JUnit-kompatibler Tests auf Swing basierender Komponenten. Obschon die Bibliothek erst in der Version 0.2.1pre-beta verfügbar ist, lassen sich bereits einige Testsituationen mit JFCUnit abdecken. Um diese Testsituationen einzugrenzen, werden die durch JFCUnit unterstützten Testprozesse und die Struktur von JFCUnit erläutert. Weiter wird die Benutzung der Bibliothek anhand zweier Beispiele demonstriert.

XML-basiertes EJB-Design

J2EE-Applikationen aus dem EAI-Umfeld (Enterprise Application Integration) verwenden zunehmend EJB-Container, die sowohl mit ihren Clients als auch mit ihren integrierten Altsystemen ausschließlich über XML-basierte Schnittstellen kommunizieren. Dieser Artikel stellt einen Designansatz für EJBs vor, der in diesem Systemumfeld eine ernstzunehmende Alternative zu den gängigen klassisch-objektorientierten Ansätzen darstellt.

Ich verwende Together für meine eigene Arbeit

Bekannt geworden ist Togetheroft mit seinem Produkt Together ControlCenter, das mittlerweile in der sechsten Version vorliegt und eine gefestigte Marktposition bei den UML-Modellierungswerkzeuge hat. Mittlerweile präsentiert sich Together als umfassendes Entwicklungswerkzeug, dessen Features über die reine Modellierung hinaus reichen. Auf der JAX2002 in Frankfurt hatten wir die Gelegenheit, mit Togetherofts Chairman und Gründer Peter Coad, der sich im objektorientierten Bereich einen Namen gemacht hat, zu unterhalten. Zwei Stunden hatten wir Zeit, um mit ihm über Ideen, die Zukunft und auch Persönliches zu diskutieren.

Der ganze REST

Kaum ein Begriff erhitzt derzeit die Gemüter in der Web Services Welt mehr als das simple Wort REST. So wird dieses Thema oft auf Weblogs oder in eMail-Listen auf die simple Frage SOAP gegen REST gebracht. Die Diskussion geht so weit, dass sich inzwischen zwei Lager gebildet haben. Auf der einen Seite die REST-Anhänger und auf der anderen die SOAP-Jünger. Entsprechend heftig geraten teilweise die Diskussionen in den verschiedenen Foren. Auf der diesjährigen O’Reilly Open Source Convention in San Diego wurde das Thema REST in gleich zwei Vorträgen behandelt. Dieser Artikel stellt REST dar, erläutert die REST-Prinzipien und betrachtet die Auswirkung von REST auf die Entwicklung von Web Services.

Kalorien sparen

Mittlerweile existieren über 70 Toolkits zur Realisierung von Web Services. Natürlich hat auch die Perl-Fraktion einiges zu bieten. Der folgende Artikel beschreibt die Implementierung von Web Services mit dem Perl-Modul SOAP::Lite. Das Lite im Namen weist nach Aussage des Entwicklers Paul Kulchenko darauf hin, dass bei dessen Verwendung nur eine geringe Anzahl Kalorien verbraucht werden.