Inszenierte Transparenz

Werden heute Java-Enterprise-Anwendungen entworfen, so muss als eine der ersten Entscheidungen die Art der Persistenz geklärt werden. Diese Frage bezieht sich dabei weniger auf den Datenspeicher – ein relationales Datenbanksystem kann stillschweigend vorausgesetzt werden – sondern auf den Umgang mit den Daten. Für den Architekten ergeben sich zwei grundlegende Marschrichtungen: Fasst er die Daten der Anwendung als grobgranulare, wenig vernetzte Dateneinheiten auf, so wird er zu einem tabellengetriebenen Ansatz tendieren und vorrangig Entwurfsmuster einsetzen, die dem relationalen Aggregatzustand der Daten geschuldet sind, so beispielsweise Row/Record Sets, Page Iterators oder Data Access Objects. Sieht der Architekt hingegen die Daten der Anwendung als feingranulare, stark vernetzte Entitäten an, so ist er mit einem objektorientierten Ansatz besser beraten. Da die Daten trotz objektorientierter Sichtweise in einer relationalen Datenbank landen, gilt es hier eine Brücke zwischen beiden Welten zu schlagen. Der Unterschied, oft verharmlosend als Impedanz-Unterschied bezeichnet, ist jedoch wohl bekannt und technisch beherrschbar [1].
weiterlesen