Überlegungen: “Code first” oder “Database first“ ?
Von peoplepark | 25.Januar 2012

Regelmäßig fragen sich Entwickler: „Womit fange ich an: mit der Datenbank oder den Objekten/Klassen?“
Die Antwort fällt zumeist nicht leicht. – Und sie ist es auch nicht, denn es gibt gute Gründe für und gegen beide Ansätze.
Wer schon länger Software entwickelt und auch mit der Zeit vor OOP vertraut ist, der wird erinnern, dass früher viele Anwendungen eine Sicht enthielten, die eng an die Struktur der dahinterliegenden Datenbanken gebunden war. Zu jeder Entität gab es i.d.R. auch ein passendes Formular. Der Ansatz “Database first“ war hier häufig zu finden, weil die Entwickler dachten, die Datenbank sei das Wichtigste – und somit zuerst umzusetzen. Durch den Einsatz von Tools, die in kürzester Zeit eine UI(User Interface) direkt aus der Datenbank erstellen konnten, schossen Lösungen wie Pilze aus dem Boden: Datenbank erstellen, Knopf drücken – fertig. Ein Paradebeispiel dafür ist Microsoft Access.
Was dem Entwickler nur recht war, wurde beim Anwender aber regelmäßig teuer: die datengetriebenen Benutzeroberflächen spiegelten nur selten die fachlichen Anforderungen exakt wider. – Häufig fanden die Anwender ihre Anwendungen „irgendwie kompliziert“.
Mit dem Ansatz “Code first” rücken die fachlichen Anforderungen des Anwenders in den Fokus: Der Entwickler entwirft mit dem Anwender eine Lösung, die exakt seinen Vorstellungen entspricht und leitet daraus zu einem späteren Zeitpunkt – für den Anwender meist verborgen – ein geeignetes Datenmodell ab. – Klingt vernünftig und leicht, birgt aber Risiken:
Die logischen Datenstrukturen, die der Anwender haben möchte, weichen nicht selten von den physischen Datenbank-Strukturen ab. Das liegt daran, dass der Anwender natürlich nicht weiß, welche Strukturen aus Datenbanksicht sinnvoll sind. Die logischen Datenstrukturen des Anwenders kann der Entwickler jedoch selten unverändert in eine Datenbankstruktur übernehmen. Es müssen u.a. Normalisierungen vorgenommen und Performance-Aspekte berücksichtigt werden. Auch Schnittstellen zu Drittsystemen können Einfluss auf die Datenmodellierung haben. Damit Anwender- und Datensicht dennoch zusammen funktionieren, braucht es eine zusätzliche, vermittelnde Übersetzungsschicht. Das Ergebnis: Mit dem Ansatz “Code first” werden Anwendungen für den Anwender zwar bedarfsorientierter, aus Entwickler-Sicht i.d.R. aber mehrschichtiger und somit komplexer.
Ein echter Vorteil für den Entwickler ergibt sich eher auf den zweiten Blick bzw. später: Die Mehrschichtigkeit führt zu Modularisierung und somit Entkopplung der Funktionalität. Resultat: Änderungen an der Datenbank resultieren nicht mehr in aufwendigen Anpassungen bis ins UI, sondern nur bis zur nächsten Anwendungsschicht. Und ganz nebenbei kann man ja auch mal über das Thema „Unit-Testing“ nachdenken…
Wir so häufig muss man auch hier für die Wahl des richtigen Ansatzes die Anforderungen und Möglichkeiten im Vorwege genau abwägen, denn: DEN richtigen Ansatz gibt es eben nicht.
In dem Sinn: „Happy Programming!“
Themen: Allgemein, Trends & Entwicklungen | Kein Kommentar »
Top-Job: Systemintegrator für Novell-Mailumgebung und Blackberry Administration (w/m) für Bonn
Von peoplepark | 25.Januar 2012
Systemintegrator für Novell-Mailumgebung und Blackberry Administration (w/m) für Bonn
Dauer: 100 Personentage im Zeitraum vom 01.02.2012 – 29.06.2012
Tägliche Arbeitszeit: im Rahmen eines 2-Schicht-Betriebes in der Zeit zwischen 07:00 Uhr und 18:00 (zu je 8 Stunden)
Vertragsart: Freie Mitarbeit
Ort: Bonn
Das Unternehmen: Informationstechnologie
Aufgaben/Anforderungen:
- 1st bis 2nd Level Support des Mailsystems für ca. 14.000 Anwender
- Umfangreiches Know-How in der Administration von Mailumgebungen in großen Unternehmen
- Technische Kenntnisse: Novell GroupWise Version 7 und 8, Novell eDirectory, Blackberry BES für GroupWise, Ironport Mailrelay und JULIA Verschlüsselungsgateway SLES Grundkenntnisse
- Sozialkompetenzen: Flexibel, sehr hohe Einsatz- und Leistungsbereitschaft, Teamfähigkeit
Dieses Jobprofil passt wie die Faust aufs Auge? Dann klicken Sie hier für
weitere Infos und Kontaktmöglichkeiten zum Top-Job .
Themen: Top-Job | Kein Kommentar »
Top-Job: Integration RSA Authentification Manager 7.1 (w/m) für Köln
Von peoplepark | 23.Januar 2012
Integration RSA Authentification Manager 7.1 (w/m) für Köln
Dauer: ca. 5 Tage im Zeitraum 23.01.2012 – 17.02.2012
Vertragsart: Freie Mitarbeit
Ort: Köln
Das Unternehmen: Informationstechnologie
Aufgaben/Anforderungen:
- Singularer Einsatz im Projekt Implementation einer Citrix Terminalserver-Lösung (XenApp 6.5) mit einer MS ADDS auf Windows 2008 R2
- Anbindung RSA an Verzeichnisdienst MS ADS
- Konzeption, Dokumentation und Einweisung des Kunden für das Projekt
- Erfahrung in Implementation von RSA Authentification Manager 7.1 mit Integration in eine Citrix Umgebung mit Secure Gateway (Ziel: Single Authentification Website mit einer two-factor-Authentifizierung)
Dieses Jobprofil passt wie die Faust aufs Auge? Dann klicken Sie hier für
weitere Infos und Kontaktmöglichkeiten zum Top-Job .
Themen: Top-Job | Kein Kommentar »




