2011-01-07 9 views
8

Pracuję dla przedsiębiorstwa, które stworzy architekturę stosu usług internetowych (opartą na prawdopodobieństwie odpoczynku), jestem liderem technicznym zaangażowanym. Ta architektura zostanie utworzona za pomocą platformy Java, ale mam problem z niektórymi członkami zespołu: pochodzą ze starej szkoły Oracle (tj. Ze starszej strony korzystali z PL/SQL, a ich logika biznesowa powinna być tylko logiczna; w bazie danych, z niewielką ilością wywoływanych przez nią warstw java), mam kilka argumentów na ten temat, ale chciałbym poznać twoje argumenty na korzyść lub minusy dotyczące pytania.Wdrażanie usług biznesowych w języku PL/SQL lub Java? Przysługa/przeciw?

Java Favor (moim zdaniem)

  • skalowalność
  • Monitorowanie
  • obiektowego języka
  • proces Sync/Async
  • domeny Rich
  • testowalności
+0

+1 dla wszystkich. Niedawno zacząłem pracować w korporacji i ten temat nigdy nie był tak ważny jak teraz. Chciałbym również usłyszeć od Ciebie opinie. – Rekin

+0

+1 i myślę, że twoje pytanie może być jeszcze bardziej ogólne: chodzi o to, co należy zrobić w wyższych warstwach (jak w kodzie Java) i co trzeba "przenieść" do bazy danych. To niekoniecznie dotyczy SQL/CRUD. Nie wszystkie bazy danych to SQL, a nie wszystkie bazy danych to CRUD: istnieje kilka * bardzo * szeroko używanych baz danych, które nie są SQL-ami i gdzie można zadać to samo pytanie :) – SyntaxT3rr0r

+1

Trzeba też dużo powiedzieć o hańbie, które ORMy są. ORM jest dowodem na to, że doszło do poważnej awarii: SQL DB i język "OO", taki jak Java, to dwie całkowicie ortogonalne koncepcje (w zasadzie teoria oparta na matematyce a orientacji obiektowej, na podstawie której nie wiemy dokładnie) . Jest niesamowity artykuł (i obserwacja oraz wielu zwolenników) autorstwa Teda Newarda, zwany * "wietnamem rozwoju oprogramowania" *, gdzie ORM są mocno krytykowane. Ty * naprawdę * chcesz przeczytać ten artykuł. – SyntaxT3rr0r

Odpowiedz

1

To musi być decyzja sądu. Każda z nich może być bardziej odpowiednia w oparciu o przypadek użycia. Dla prostego przykładu:

Jeśli masz regułę biznesową, która mówi, wymaga danych z wielu tabel i na podstawie otrzymanych danych, decyduje się na wykonanie operacji w bazie danych (wstawianie lub aktualizowanie), następnie w moim widoku pl/sql procedure to miejsce, w którym można to zrobić. Ponieważ pozwoli to zaoszczędzić czas n/w i przepustowość i będzie szybszy w dotyku.

3

pracowałem nad takim projektem z wykorzystaniem MS SQL zamiast Wyrocznia. To nie było przyjemne doświadczenie. Problem polega na tym, że T-SQL nie jest bardzo nowoczesnym językiem, więc nie byliśmy tak wydajni, jak mogliśmy, i było więcej powielania kodu, niż byłoby inaczej.

Istnieje argument, że produktywność programisty jest ważniejsza niż język, więc jeśli ci faceci są po prostu tak dobrzy, to co z tego. Ale nie znajdziesz wielu młodych programistów, którzy będą chcieli pracować w ten sposób.

1

To trochę trudne pytanie, ale bardzo prowokujące.

Począwszy od Oracle 9i, ma pełne wsparcie dla procedur składowanych Java, tzn. Można przechowywać klasy Java w serwerze bazy danych i wykonywać je podczas wykonywania procedur Pl/Sql.

        Zawsze byłby to dobry wybór, aby wybrać idealnego pracownika, zamiast trzymać się sentymentów! Jak już stwierdzono, Java ma obecność i wsparcie dla wszechstronnych koncepcji w różnych domenach.

        Tutaj mogę myśleć o następujących opcjach optymalnego rozwiązania do zaakceptowania przez wszystkich.

  • wymagane pisać procedury w języku Java, przechowywać je na serwerze
  • pisać co najmniej głównych wymagań, które naprawdę redukują złożoność zadania w porównaniu z PL/SQL i nazywają je w PL/SQL
  • Bez zanieczyszczających albo z środowiska zachowują osobne warstwy, co jest drugą najlepszą opcją:
+0

geez, nie jestem native speakerem języka angielskiego, więc rozumiem błędy ortograficzne i gramatyczne, ale przynajmniej możesz podjąć próbę interpunkcji. Wielkie litery na początku zdania, odstępy po znaku ",", itd. Nie wahaj się, aby nacisnąć spację nieco bardziej (ale nie przed "!"). – SyntaxT3rr0r

Powiązane problemy