Implementieren Sie die Business Services in PL / SQL oder Java? Bevorzugung / Nachteile?

8

Ich arbeite für ein Unternehmen, das eine Web-Service-Stack-Architektur erstellt (Wahrscheinlichkeit ruht basiert), ich bin der technische Leiter beteiligt. Diese Architektur wird mit der Java-Plattform erstellt, aber ich habe ein Problem mit einigen Teammitgliedern: Sie stammen von Oracles alter Schule (dh sie haben das Vermächtnis mit PL / SQL erstellt und in ihrem Kopf sollte die Geschäftslogik nur sein auf der Datenbank, mit nur ein wenig Java-Ebene, die das aufruft), habe ich einige Argumente darüber, aber ich würde gerne Ihre Argumente für oder gegen die Frage wissen.

Java Gunst (meiner Meinung nach)

  • Skalierbarkeit
  • Überwachung
  • Objektorientierte Sprache
  • Sync / Async-Prozess
  • Rich-Domain
  • Testbarkeit
irobson 07.01.2011, 18:13
quelle

4 Antworten

3

Ich habe an einem solchen Projekt mit MS SQL und nicht mit Oracle gearbeitet. Es war keine angenehme Erfahrung. Das Problem ist, dass T-SQL keine sehr moderne Sprache ist und wir daher nicht so produktiv waren, wie wir es hätten tun können, und es gab mehr Codeverdopplung als sonst.

Es gibt ein Argument dafür, dass die Produktivität des Entwicklers wichtiger ist als die Sprache, also wenn diese Leute einfach so gut sind, na und? Aber du wirst nicht viele junge Entwickler finden, die so arbeiten wollen.

    
sblundy 07.01.2011 18:37
quelle
1

Es muss eine gerichtliche Entscheidung sein. Beides kann aufgrund des Anwendungsfalls besser geeignet sein. Für ein einfaches Beispiel

Wenn Sie eine Geschäftsregel haben, die Daten aus einer Anzahl von Tabellen erfordert und basierend auf den empfangenen Daten entscheidet, eine abschließende Datenbankoperation durchzuführen (Einfügen oder Aktualisieren), dann ist pl / sql-Prozedur der Ort es zu tun. Da dies spart Zeit und Bandbreite und wird eine Berührung schneller sein.

    
Nrj 07.01.2011 18:26
quelle
1

Es ist eine knifflige Frage, aber eine sehr zum Nachdenken anregende.

Ab Oracle 9i bietet es vollständige Unterstützung für Java Stored Procedures, d. h. Sie können Java-Klassen im Datenbankserver speichern und sie ausführen, während Sie Pl / Sql-Prozeduren ausführen.

Es wäre immer eine gute Option, einen perfekten Arbeiter zu wählen, anstatt an den Gefühlen festzuhalten! Wie Sie angegeben haben, hat Java Präsenz und Unterstützung für vielseitige Konzepte in verschiedenen Bereichen.

Hier kann ich mir folgende Optionen für eine optimale Lösung vorstellen, die von allen akzeptiert wird.

  • Schreiben Sie die erforderlichen Prozeduren in Java, speichern Sie sie auf dem Server
  • Schreiben Sie mindestens wichtige Anforderungen, die die Komplexität der Aufgabe im Vergleich zu Pl / Sql wirklich reduzieren und sie in Pl / Sql
  • aufrufen
  • Ohne eine der Umgebungen zu belasten, erhalten Sie separate Layer, was die zweitbeste Option ist
Ratna Dinakar 07.01.2011 18:51
quelle

Tags und Links