Suche

JAXenter

Aktuelles

Ausgezeichnete Texte

Die JTextArea ist wohl allen Swing-ProgrammiererInnen bekannt, die schon einmal mehr als eine Zeile Text darstellen wollten. Sie kann aber alle Zeichen nur in identischer Weise darstellen; längere Texte bekommen daher schnell den Charakter einer Bleiwüste. Für eine ergonomischere Darstellung von Textelementen, eventuell mit Fettdruck, Hervorhebungen durch Farben oder anderen Schriftgrößen, bietet das Swing-API mehrere Möglichkeiten, deren Einsatz dieser Artikel zeigt.

Bessere Dialoge

Der Trend bei betrieblichen Informationssystemen hat uns von nativen oder Swing-basierenden Clients hin zu HTML geführt, um den Verteilungsaufwand an die Client-Rechner zu minimieren. Dabei werden hohe Anforderungen an die Bedienbarkeit gestellt. Dieser Artikel beschreibt eine Architektur, durch die mit J2EE und DHTML sachbearbeitergerechte Dialoge gebaut werden können, die sich vom Funktionsumfang und Look and Feel kaum von nativen Dialogen unterscheiden.

Workshop: XML in Java, Teil 2

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.

Peer-to-Peer mit JXTA

Peer-to-Peer-Netzwerke erlauben die dynamische Bildung zusammenarbeitender Gruppen, die nicht über einen Server koordiniert werden müssen. Dieser Artikel stellt ein objektorientiertes Konzept vor, das die Peer-to-Peer-Entwicklung vereinfacht und auch bei bestehenden Anwendungen nachträglich angewandt werden kann. Als Beispielanwendung dient eine Arbeitsfläche, die gemeinsam von mehreren Peers benutzt werden kann.

Codename: Tiger

Selten wurde eine neue Java-Version von der Community so gespannt erwartet wie die kommende. Nach jahrelanger Konkurrenzlosigkeit muss ein zukünftiges Java sich in einem erstarkten Microsoft C#- und .NET-Umfeld bewähren. Da ist es sicherlich nicht verwunderlich, wenn bei der kommenden Version – Codename: Tiger – die Usability des Java-Systems im Vordergrund steht und nicht, wie häufig in der Vergangenheit, lediglich dessen Performance.

Over The Air

Im Java Magazin sind schon mehrere Artikel erschienen, die sich mit der Entwicklung von MIDlets beschäftigt haben. Diese MIDlets müssen auch den Weg vom Emulator zum Mobiltelefon finden. Wie so oft gibt es viele Wege zum Ziel. In diesem Artikel wird eine herstellerunabhängige Technik vorgestellt, die es dem Anwender ermöglicht MIDlets auf dem Handy zu installieren. Und das ganz ohne externe Hardware, Datenkabel und PC.

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.