26.12.2014 Aufrufe

img - GitHub Pages

img - GitHub Pages

img - GitHub Pages

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.4. Proof of Concept 32<br />

ID Kriterium Erläuterung Gewichtung<br />

OK1 Unterstützte DBs Wieviele unterschiedliche Datenbanken unterstützt das ORM<br />

Werden auch NoSQL-Datenbanken unterstützt<br />

Hohe Bewertung = Grosse Anzahl an Datenbanken<br />

OK2 Relationen Sind Relationen zwischen Tabellen definierbar Verwenden<br />

diese die datenbankspezifischen Foreign Keys dafür (falls möglich)<br />

Hohe Bewertung = Relationen möglich und verwendet<br />

Datenbank-spezifische Datentypen<br />

OK3 Produktreife Wie gut hat sich das ORM bis jetzt in der Realität beweisen<br />

können Wie lange existiert es schon Gibt es eine aktive<br />

Community und wird es aktiv weiterentwickelt<br />

Hohe Bewertung = Hohe Produktreife<br />

OK4 “Ease of use” Wie einfach ist das initiale Erstellen, die Konfiguration und<br />

die Wartbarkeit von Models Führt das ORM irgendwelchen<br />

“syntactic sugar” [Ray96] ein um die Arbeit zu erleichtern<br />

Hohe Bewertung = Hoher “Ease of use”-Faktor<br />

OK5 Testbarkeit Wie gut können die mit dem Framework oder der Technologie<br />

erstellte Komponenten durch Unit Tests getestet werden<br />

Hohe Bewertung = Hohe Testbarkeit<br />

<br />

<br />

<br />

<br />

<br />

Tabelle 2.13.: Bewertungskriterien für ORM-Evaluation<br />

OK1 Unterstützung DBs<br />

OK2 Relationen<br />

OK3 Produktreife<br />

OK4 “Ease of use”<br />

OK5 Testbarkeit<br />

Total<br />

JugglingDB 3<br />

Node-ORM2 3<br />

Sequelize 3<br />

Tabelle 2.14.: Bewertungsmatrix JavaScript ORMs<br />

Alle verglichenen ORMs haben eine ähnliche Gesamtbewertung. Bei “Sequelize” stechen<br />

jedoch die Produktreife und die Unterstützung für Relationen heraus.<br />

Diese zwei Gründe zusammen mit der aktuellen Roadmap [Depa] haben schliesslich<br />

zur Überzeugung geführt, dass Sequelize die richtige Wahl ist.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!