Heutzutage ist es üblich, dass Benutzer täglich mit zehn oder mehr unterschiedlichen IT-Systemen interagieren. In den meisten Fällen müssen sie sich an jedem System gesondert anmelden – eine unbefriedigende Tatsache, die nicht nur die Kosten in die Höhe treibt, sondern auch die Produktivität vermindert und Sicherheitsschwachstellen erzeugt. Durch Single-Sign-on-(SSO) Systeme ist es möglich, sich einmal gegen ein zentrales System zu authentifizieren und transparent von anderen Systemen als authentifizierter Benutzer erkannt zu werden. In unserem Titelthema werden die wichtigsten Merkmale von SSO-Systemen für Webanwendungen beschrieben. Es werden drei Open-Source-SSO-Systeme miteinander verglichen.
Bruce Sams
Die Java Persistence API (JPA) ist eine der wichtigsten Neuerungen der Java-EE-5-Plattform, denn sie erleichtert die Realisierung der Persistenz von Anwendungsdaten enorm. Leider wird JPA oft nur im direkten Zusammenhang mit Enterprise JavaBeans (EJB 3.0) gesehen, obwohl JPA von Beginn an auch für den Einsatz im Java-SE-Kontext konzipiert wurde. Dieser Artikel zeigt wie sich die Vorteile von JPA jenseits von Java-EE-Anwendungen nutzen lassen.
Stefan Saring
Frameworks sind aus der heutigen Java-Entwicklung nicht mehr wegzudenken. Ist es aber sinnvoll, ein eigenes Framework zu entwickeln oder sollte man besser auf bereits verfügbare zurückgreifen? Dieser Artikel beleuchtet, welchen Weg die Firma Fiducia IT AG bei ihrer Java-Anwendungsentwicklung verfolgt und welche Produkte mit dem eigenen Framework JBF (Java-based Banking Framework) hergestellt werden.
Matthias Schorer, Dieter Peters
Seit einiger Zeit ist die Java Persistence API der Standard für Objektpersistenz im Enterprise-Java-Umfeld. Durch die Beschränkung auf die EJB3-Spezifikation waren leichtgewichtigere Ansätze erst einmal außen vor geblieben. Mit Spring 2.0 integrierte das Spring Framework erstmals JPA, sodass die verschiedenen JPA-Implementierungen nun auch unter Spring verwaltet werden können. Dazu kann ein vollständiger Java-EE-Anwendungsserver wie JBoss, IBM WebSphere oder BEA Weblogic verwendet werden, aber nun reicht auch ein Tomcat für eine vollständige JPA-Integration.
Holger Spielmann
In der Softwareentwicklung wird in den Bereichen Analyse und Architektur bereits überwiegend die UML (Unified Modelling Language) zur graphischen Darstellung eingesetzt. Nun liegt vor allem für Hersteller von kombinierten Hardware- und Softwaresystemen die Frage nahe, ob sich nicht die gleiche Notation zur Analyse und Architektur der Hardware-Elemente ihrer Systeme einsetzten lässt. In diesem Artikel wird gezeigt, dass der Einsatz der UML in der Systementwicklung durchaus auch für die Modellierung von Hardware-Elementen möglich und auch sinnvoll ist, wenn man einige kleinere Anpassungen berücksichtigt.
Stefan Queins, Anja Ranft
Im ersten Teil der Thematik wurde verdeutlicht, dass die Eigenschaft der Wartbarkeit ein wichtiges Kriterium für den Erfolg eines Softwaresystems ist und sich Architektur-Refactorings anbieten, um Wartbarkeitsprobleme auf Ebene der Architektur zu beheben. Der folgende Artikel stellt eine Best-Practice-Anleitung für ein Architektur-Refactoring vor und beschreibt einzelne Phasen, die bei der Planung und Durchführung zu beachten sind.
Manuel Aldana
Adam Bien
Trotz allgemeiner Wertschätzung kommt die Umsetzung der SOA nicht so recht voran. Insbesondere große Enterprise-Applikationen lassen sich nicht so einfach für Services erschließen. In einem pragmatischen Ansatz können Services nun direkt aus bestehenden Host-Programmen generiert werden.
Rolf Becking
Mit der neuesten Version 3.0 rüstet das Open-Source-Framework wingS Ajax-Funktionalitäten transparent nach und legt noch ein paar neue Widgets mit dazu. Event- und Komponentenorientierung versprechen auf dem Markt immer mehr Frameworks, wo liegen also die Vorteile und Stärken von wingS? Wir werfen einen Blick unter die Haube des an Swing anlehnenden Webframeworks und geben in einer Gegenüberstellung mit Eclipse RAP und Echo2 Orientierungshilfe in der Vielfalt der RIA-Lösungen.
Benjamin Schmid
Der zweite Teil dieser Artikelserie hat die praktische Seite der Softwareentwicklung mit JavaServer Faces im Blickpunkt. Dazu werden zunächst zwei Musterlösungen für gängige Anforderungen mit Mitteln der Referenzimplementierung umgesetzt: Auswahl eines Objekts in einer Zeile, einer Tabelle und Implementierung eines „Links-Rechts-Controls“, also eines Editors für Many-to-Many-Relationen. Von Letzterem wird außerdem eine Implementierung auf Basis von ICEfaces-Tabellen vorgestellt.
Thomas Greve
Volle Kontrolle
Matthias Weßendorf
Im ersten Teil dieser Artikelreihe wurden die Grundlagen der Eclipse Rich Client Platform vermittelt und damit begonnen, einen einfachen File Browser zu bauen. Am Ende des Artikels hatten wir ein lauffähiges Programm mit eingeschränkter Funktionalität. In diesem zweiten Artikel wird dem System ein Editor hinzugefügt. Des Weiteren werden Actions beschrieben, und gezeigt, wie man diese über Konfigurationen mehrfach in die Anwendung einbinden kann.
Jens Bendisposto, Michael Jastram, Heiko Sippel
Domänenspezifische Sprachen sind spätestens seit Martin Fowler's Artikelserie über Language Workbenches ein Begriff, dem wir häufig begegnen. Auch der Hype um Ruby on Rails hat dafür gesorgt, dass viel über so genannte interne DSLs geschrieben wird. Tatsächlich ist das Thema aber nicht neu. So werden DSLs beispielsweise in der UNIX-Welt schon seit langer Zeit unter dem Namen „Little Languages“ genutzt. Neu sind jedoch die Werkzeuge und Technologien, mit denen diese kleinen Sprachen entwickelt werden können.
Sven Efftinge
Der Markt bietet viele Profiling-, Diagnose- und Monitoring-Werkzeuge, mit teilweise stark unterschiedlichen Funktionen. Der Artikel beleuchtet einige dieser Tools, zeigt deren Unterschiede auf und gibt Hinweise für die Auswahl geeigneter Tools.
Mirko Novakovic, Marc van den Bogaard
Sie setzen Maven in einem größeren Projekt ein, in dem Abhängigkeiten direkt aus dem Internet herunter geladen werden? Der Sourcecode lässt sich häufiger nicht kompilieren, weil fehlende Abhängigkeiten (jars) zunächst von jedem Entwickler in das lokale Repository von Hand installiert werden müssen? Wenn Sie diese Situation kennen, lohnt sich ein Blick auf Archiva. Das Maven Team hat Archiva 1.0-beta-2 veröffentlicht und damit ein Remote-Repository für größere Maven-Projekte zur Verfügung gestellt.
Mathias Arens