Serviceorientierte Architekturen helfen Systeme zu modularisieren und zu flexibilisieren. Externe Services können nach Bedarf eingebunden werden, eigene Services werden für die interne und externe Nutzung bereitgestellt. Bei der aktuellen Diskussion und Berichterstattung zum Thema SOA wird das Thema Security allerdings stiefmütterlich behandelt, natürlich zu unrecht. Eine SOA integriert viele Standards, Protokolle und Schnittstellen – die Gefahr, dass zwischen Service-Consumer und Service-Provider Autorisierungsinformationen verloren gehen, ist nicht von der Hand zu weisen. Gefragt ist ein integriertes Sicherheitskonzept, dass sich mit den Sicherheitsanforderungen im Allgemeinen und der Implementierung der Sicherheitsstrategie im Speziellen auseinandersetzt.
Stefan Krecher
Heutige Softwaresysteme sind mit einer derartigen Komplexität behaftet, dass Themen wie Architektur, Wartung und Flexibilität eine beachtliche Rolle spielen. Die Nutzung von Softwarelösungen über Firmengrenzen hinweg wird durch den BPM-Gedanken immer wichtiger. Dabei nimmt die Integration eine fundamentale Rolle ein. Gerade in diesem Bereich wird heute noch sehr viel Aufwand in die Implementierung investiert. Warum soll man sich nicht einer Integrationsplattform bedienen, um den Implementierungsaufwand zu reduzieren?
Markus Demolsky
Über die berühmt berüchtigte Lazy Loading Exception wurde in der Hibernate-Welt wahrscheinlich bisher am meisten diskutiert. Bekannte Workarounds wie das Open-Session-In-View Pattern sind in vielen Fällen schlicht nicht anwendbar. Dieser Beitrag zeigt ein Verfahren, das Problem durch gezieltes Vorausladen der benötigten Model Instanzen zu lösen: Das Preload Pattern.
Jürgen Kohl
Testmanager Gustav Gründlich plant die Testiterationen für die nächsten Auslieferungen seines Projekts. Wie immer wird der Fachbereich nicht ausreichend für manuelle Tests zur Verfügung stehen. Für teure Testwerkzeuge hat der Projektleiter kein Verständnis. Was tun? Welches Werkzeug hilft, Testfälle effizient unter Einbeziehung der Fachabteilung zu erstellen? Wie können Testfälle verständlich und nachvollziehbar aufgeschrieben werden, aber trotzdem automatisiert ablaufen? Gibt es Open-Source-Werkzeuge, die alle notwendigen Testschnittstellen unterstützen und integrative Abläufe zulassen? Können Testfälle bereits parallel zur Entwicklung des Systems auf Basis der Spezifikation erstellt werden?
Falk Fraikin, Marcel Malitz, Thomas Ries, Harald Wolf
Eine Standard-Anforderung an heutige Unternehmensanwendungen ist Mehrsprachigkeit – zumal die Nutzer oft weltweit verteilt sind. Dieser Artikel stellt einen Ansatz vor, mit dem sprachspezifische Informationen in der Präsentations- und der Anwendungsschicht einheitlich und redundanzfrei gehandhabt werden können.
Matthias Ostermaier
Bei der Umsetzung neuer Projekte stellt sich oftmals die Aufgabe, bestehende, unternehmensweit eingesetzte Legacy-Applikationen in eine neue Anwendung zu integrieren bzw. als Service einzubinden. Vielfach handelt es sich hierbei um Anwendungen, die in einem heterogenen Umfeld laufen sollen. Die Integration per JMS wird zwar durch den Einsatz von Spring vereinfacht, meistens liegen die Probleme aber auf einer ganz anderen Ebene. Vielleicht sprechen die Alt-Anwendungen, die einzubinden sind, gar kein JMS oder es scheitert bereits an der Zeichensatzkodierung. Oft gibt es auch zahlreiche proprietäre Parameter der Nachrichten-Middleware, die einem das Leben schwer machen. Wie man Legacy-Systeme mittels Spring Framework und WebSphere MQ in neue Anwendungen integrieren kann, zeigt dieser Artikel.
Oliver Rummeyer
Java Open Single Sign On (JOSSO) ist ein vielseitig einsetzbares Single-Sign-on-System, das mit einer Fülle von Fähigkeiten und großer Flexibilität aufwartet. Wir untersuchen diese Fähigkeiten und zeigen die Arbeitsweise von JOSSO auf.
Bruce Sams, Benjamin Gehr
Trotz der proklamierten Portabilität von Java-EE-Anwendungen sind beim Assembling und dem Deployment stets noch Applikations-Server-spezifische Hürden zu bewältigen. Anhand von praxisnahen Anwendungsfällen werden Vorgehen und Möglichkeiten beschrieben, wie Java EE Security auf dem WebSphere Application Server (WAS) umgesetzt werden kann.
Raoul Becke
Es scheint etwas stiller um das Thema modellgetriebene Softwareentwicklung geworden zu sein. Was ist passiert? Ist der Hype vorbei und hat keine allzu großen Spuren hinterlassen oder ist die Normalität eingekehrt und die MDA gehört zum festen Bestandteil professioneller Entwicklungsprojekte?
Roland Petrasch, Matthias Bohlen
Wäre es nicht toll, wenn man grafische Benutzeroberflächen nicht mehr programmieren müsste? Das Naked-Objects-Architekturmuster verfolgt einen radikalen Ansatz, der diese Vision zum Ziel hat.
Jan Leßner
Webanwendungen gibt es schon seit einer IT-Ewigkeit, d.h. länger als 10 Jahre. Mittlerweile gibt es verschiedene Architektur-Ansätze, die man in diesem Bereich nutzen kann. Wir stellen Ihnen drei grundlegende Technologien für Webanwendungen vor und legen dar, warum es um mehr als Request, Session, Komponenten und MVC geht.
Eberhard Wolff, Agim Emruli
Oracles ADF Faces Rich Client, die zweite ADF-Faces-Generation, enthält zahlreiche Ajax-basierte JSF-Komponenten sowie ein interessantes Ajax-API für Client und Server. Die Kombination verschiedener Komponenten und des Ajax-API ermöglichen die Erstellung von Web-2.0-Anwendungen auf Basis von JavaServer Faces.
Matthias Weßendorf
Mit dem JSR 301 (Portlet Bridge Specification for JavaServer Faces) wird erstmals die Verbindung der beiden Technologien JavaServer Faces und Portlets standardisiert und eine Referenzimplementierung entwickelt. Dieser Artikel beschreibt die Herausforderungen in der Kombination von JSF und Portlets sowie den aktuellen Status der Spezifikation.
Andy Bosch
Der Code von grafischen Benutzeroberflächen (Graphical User Interface, kurz GUI) neigt besonders dazu, unübersichtlich zu werden, wenn nicht von Anfang an auf gutes Design geachtet wird. Was dabei entstehen kann, wird in Anlehnung an den bekannten Film mit Steve McQueen als Blob bezeichnet und in der Liste der Antipatterns aufgeführt. Dabei ist es gar nicht schwer, Übersicht in den Code zu bringen.
Axel Böttcher
Selbstverständlich kann man Benutzeroberflächen erstellen, ohne ein Binding Framework zu verwenden. Für einfache Fälle ist das Kopieren der Benutzereingaben in zugehörige JavaBean Properties per Hand sinnvoll und die erste Wahl. Sollen die gleichen Daten allerdings von mehreren UI-Komponenten dargestellt (und bei Änderungen aktualisiert) werden, wird die Aufgabe deutlich anspruchsvoller. Binding Frameworks wie JGoodies Binding bieten dem Entwickler Unterstützung und helfen, zusammen mit ein wenig UI-Know-how, anspruchsvolle Dialoge in Java zu realisieren.
Dirk Koller
Das erste und wichtigste Element beim Feature Driven Development ist das Feature. Dieser Artikel beschäftigt sich mit Entwurf und Programmierung der Features. Er zeigt das Mapping der Features auf Klassen und Methoden und stellt Code-Inspektionen als Technik zur Qualitätssicherung in FDD vor.
Stefan Roock, Henning Wolf