Artikel

O'zapft is!

Oracle Toplink ist der Klassiker unter den O/R Mapping Tools und erfreut sich trotz JDO-Open-Source-Lösungen und Container Managed Persistence durch Application Server weiterhin großer Beliebtheit. Toplink lässt sich schließlich auch standalone ohne und mit J2EE-Server gut für Großanwendungen einsetzen. Falsche Konfiguration und unglücklicher Einsatz können aber auch schnell zur Enttäuschung führen und in einer verzweifelten Suche nach Bottlenecks enden. Dieser Artikel erläutert Fallstricke und versteckte Performancequellen nicht nur für Toplink User.

Eine Welt der Wunder

Die Programmierumgebung AspectJ [1] bietet Entwicklern eine Erweiterung der Java-Programmiersprache. Welcher Nutzen entsteht aber aus der Verwendung von AspectJ? Unsere Reihe bietet eine Einführung in die aspektorientierte Programmierung sowie einen dritten Praxisteil, in dem gezeigt wird, wie das Java Exception Handling konzipiert ist und wie es mit geringem Aufwand richtig eingesetzt werden kann.

Aspekte von Java

Die Programmierumgebung AspectJ [1] bietet Entwicklern eine Erweiterung der Java-Programmiersprache. Welcher Nutzen entsteht aber aus der Verwendung von AspectJ? Unser Special bietet eine Einführung in die aspektorientierte Programmierung sowie einen ersten Praxisteil, in dem gezeigt wird, wie mit Pointcuts und Advices klassische Probleme der Programmierung elegant behoben werden können.

Leinen los! Der Tiger ist frei

Am 1. Oktober war es soweit. Der Tiger wurde freigelassen und von den Basic-Programmierern wurde eine Staubwolke hoch gewirbelt, als sie hinter ihren PC flüchteten. Na, ganz so schlimm war es dann wohl doch nicht, wurde doch die Bereitstellung des Final Release eher still und heimlich vorgenommen. Nach einer Beta 1 und 2 sowie einem Release Candidate wurde die offizielle Version der J2SE 5.0, ja Sie haben richtig gelesen, 5.0, freigegeben. Die vormals unter dem Codenamen Tiger laufende J2SE 5.0 soll der signifikanteste Upgrade der Java-Plattform und Java-Programmiersprache seit Java 1.0 sein.. Und allen bisherigen Erkenntnisse zufolge ist dies wohl auch gelungen.

Fliegengewicht

HSQLDB ist eine kleine Java-Datenbank, die für Ihre Größe erstaunliches leistet. Neben der einfachen Installation und guter Performance bietet HSQLDB einige Datenbank-Features, die man eher von kommerziellen Datenbanken erwartet. Beispielsweise die Arbeit im Server Mode oder In-Memory Mode, der als performanter Datencache in Anwendungen eingesetzt werden kann.

Die Suche nach der verlorenen Quelle

Mit der zunehmenden Verfügbarkeit von Dokumenten im Internet hat insbesondere an Hochschulen das Plagiatproblem drastisch an Bedeutung gewonnen. Die Möglichkeit, über Suchmaschinen passende Texte zu finden und diese z.B. durch Copy and Paste in eigene Texte zu übernehmen, vereinfacht das Erstellen eigener Ausarbeitungen. Unterbleibt dann die korrekte Quellenangabe, so wird dies leicht als Verstoß gegen die Kriterien wissenschaftlichen Arbeitens angesehen. Für Hochschulen und Dozenten ist es deshalb im Interesse der redlich arbeitenden Studierenden sinnvoll, ein Werkzeug zur Erkennung von solchen Plagiaten an die Hand zu bekommen.

Europa für Ophelia

Ophelia ist ein von der Europäischen Gemeinschaft gefördertes Forschungsprojekt und bedeutet Open Platform and Methodologies for Development Tools Integration in a Distributed Environment, was natürlich zunächst einmal jeder behaupten kann. Bei Ophelia ist es das Ziel, eine Architektur zu definieren, um verteilte Softwareteams, die offline und asynchron an denselben und verschiedenen Projekten arbeiten, bei der Zusammenarbeit zu unterstützen. Dabei sollen die Teams und Projektleiter nicht neue Tools beschaffen und erlernen müssen, sondern Ophelia soll wie ein Bus-System die jeweils bereits eingesetzten Entwicklungs-Tools miteinander verbinden. Seit einigen Jahren wird dafür auch der populäre Begriff der Integration verwendet. Inwieweit diese Integration gelingt und auch bereits Automation vorliegt bzw. vorbereitet ist, wird im Folgenden gezeigt.

Man nehme nur die besten Zutaten

Die Darstellung von Informationen im Intranet großer Unternehmen entwächst dem Verdacht, lediglich bunten Webauftritten zu dienen. Mit der Akzeptanz von Webtechnologien steigt die Bereitschaft, Content-Management-Systeme (CMS) auch zur Erstellung und Verwaltung von prozessrelevanten Dokumentationen und Diensten zu nutzen. Im Java Magazin 5.2003 wurden bereits die Grundlagen des CMS iProject vorgestellt, welches für die Forschung und Entwicklung von Volkswagen durch die Solutionline ST GmbH entwickelt wurde. Hier werden einige spezielle Teile des CMS vorgestellt, die auf spezifische Anforderungen bei VW abgestimmt sind, jedoch allgemeine Aspekte eines CMS und interessante Technologien aufzeigen.

Der Ball ist rund

Die Fußball-Europameisterschaft steht vor der Tür und Millionen deutscher Nationaltrainer diskutieren, wie hoch der Sieg gegen Holland wohl ausfallen wird. Weil da jeder so seine eigene Meinung hat und man vorher eben nie genau weiß, wie’s am Ende ausgeht, sind Tippspiele so ungemein beliebt. Höchste Zeit also, endlich mal eines zu programmieren – ganz nebenbei kann man dabei eine Menge über J2EE und Patterns lernen.

Die Rückkehr der POJOs

Lightweight Container, Inversion of Control, Dependency Injection, Aspect-Oriented Programming – was steckt hinter diesen trendigen Schlagwörtern? Das Spring-Framework ist nicht bloß ein Baustein in diesem Puzzle, sondern ein vorintegriertes Application Framework, das als Gesamtlösung eingesetzt werden kann. Sein Herzstück ist ein alternatives, flexibles Komponentenmodell jenseits der J2EE Blueprints.

Framework ahoi!

In den frühen Phasen eines Projekts werden viele Softwarearchitekten mit dem Problem konfrontiert, eine Auswahl der unterschiedlichsten Frameworks zu einer möglichst homogenen Infrastruktur für die Anwendungsentwicklung zu integrieren. Auswahl und Integrationsgrad beeinflussen in einem hohen Maß die Effektivität und den Erfolg der Anwendungsentwicklung. Der Meta-Framework Keel bietet eine weitgehend vorgefertigte Lösung für diese Aufgabenstellung und erlaubt zudem den nachträglichen Austausch der verwendeten Frameworks.

Winterschläfer

Hibernate ist ein Open Source-Tool zum objektrelationalen Mapping von Datenbanken, welches sich in letzter Zeit immer größerer Beliebtheit erfreut. Seit September 2003 gehört das Hibernate-Projekt zur JBoss Group. Im Rahmen dieses Artikels soll ein Überblick über Hibernate anhand eines Beispielprojektes gegeben werden. Des Weiteren werden unterschiedliche Herangehensweisen für Projekte mit Hibernate, einige Design-Patterns sowie Tipps zur Verbesserung der Performance dargestellt.

Die dritte Sonnenfinsternis

Während die nächste natürliche, totale Sonnenfinsternis erst im April 2005 auftritt, wirft die softwaretechnische bereits ihren Schatten. Nach weit über einem Jahr, neun Milestones und einigen Release Candidates dürfte die Eclipse-Entwicklermannschaft mit einer neuen Version die Gesichter mancher Konkurrenten verfinstern. Obwohl die Version 2.1 für viele Entwickler bereits kaum mehr Wünsche offen ließ, legt Eclipse 3 die eigene Messlatte wieder ein Stückchen höher. Lohnt sich das Upgrade/der Einstieg?

Das nächste Spiel ist immer das schwerste

Dass das nächste Spiel immer das schwerste ist, gilt auch dann, wenn man gar nicht selbst mitspielt, sondern bloß tippen soll, wie’s ausgeht. Immerhin kann durch die Programmierung einer Tippspiel-Anwendung wenigstens der organisatorische Aufwand eines Tippspielverwalters in Grenzen gehalten werden. Und man kann – ganz nebenbei – auch eine Menge dabei lernen.

Das Runde muss ins Eckige

Nachdem in den beiden vorangegangenen Teilen der Artikelserie zunächst architektonische Überlegungen angestellt und dann die Realisierung der Präsentationsschicht beleuchtet wurde, geht es dieses Mal um die immer wiederkehrende Frage, mit welcher Technologie der objektrelationale Sprung beim Zugriff auf die Datenbank am besten gemeistert werden kann. Hierzu werden die wichtigsten zur Wahl stehenden Alternativen vorgestellt, um anschließend die Umsetzung im Tippspiel-Projekt anhand der gewählten Technologie zu erläutern.

Flex royale

Webanwendungen lassen hinsichtlich Bedienkomfort, Usability und Reichhaltigkeit heute oftmals zu wünschen übrig. HTML als Ausgabemedium ist und war ein Format zur Darstellung von strukturierten Textinformationen und war nie dafür gedacht, eine Applikationsmetapher für Webanwendungen in Browser Clients abzubilden. Macromedias Presentation Server Flex stellt erstmals einen Weg zur serverseitigen Erstellung von Rich Internet-Anwendungen dar, der sich problemlos in J2EE-Server und -Architekturen einbetten lassen soll.

Verborgene Schätze

Bei Jakarta Commons handelt es sich um eines der Unterprojekte von Apache Jakarta. Es beherbergt eine Sammlung von nützlichen Bibliotheken und Komponenten, die das Leben eines Java-Programmierers erheblich erleichtern können. Für die erklärten Feinde des neu erfundenen Rades soll dieser Artikel einen kleinen Überblick über die verborgenen Apache-Schätze geben, die häufig im Glanze der großen Projekte vergessen werden. Im zweiten Teil werden ausgewählte Bibliotheken im Detail vorgestellt.

Die schnellste Datenbank der Welt

Normalerweise denkt man bei Datenbanken an große Server mit gigantischen Festplatten. Was passiert, wenn man die Daten im RAM hält und regelmäßig serialisisert? Eigentlich müsste man dann doch viel schnelleren Zugriff auf die Daten erreichen können

Verbindungsabbruch

Eine Abarbeitung von aus der Datenbank ausgelesenen Werten ohne geöffnete Datenbankverbindung ist über JDBC ResultSets nicht möglich. RowSets bieten dem JDBC-Programmierer an dieser Stelle mehr Flexibilität sowie die Möglichkeit, SELECT-Ergebnisse Bean-basiert zu verarbeiten.

Castor-Transport

Seit jeher steht Java als plattformunabhängige Programmiersprache zwischen den Welten der verschiedenen Computersysteme. Aber gerade diese Tatsache hat dazu beigetragen, dass eine Reihe von übergreifenden Standards geschaffen wurden, um sich mehr und mehr von der Plattformbindung zu lösen. Wer in seinen Java-Projekten auf XML, SQL oder LDAP setzt, findet in Castor ein Data-Bind ing-Framework, das alle Anforderungen dieser Bereiche vereint und ein optimales Zusammenspiel mit der Programmiersprache Java garantiert. Der folgende Artikel bietet eine einfache und verständliche Einführung in die Anwendung des Frameworks Castor.