Oracle DB - JEE

Fórumok

Helo!

Adott egy Oracle DB - 11G. Adott egy Weblogic - 11G. Az AS-en fut egy alkalmazas, tomve EJB-kel (EJB3). Az EJB-k egyben WS-ek is.
Kerdes: hogyan hivok ki PL/SQL-bol az EJB-be? WS-re talaltam peldat, de sokkal jobb lenne, ha az EJB-t direktbe meg tudnam hivni.
Valamint megy itt valami trukkozes Java Stored Procedure-ekkal, de ahhoz mintha OracleJVM kellene... (ezt szeretnem kerulni)

Van ebben valakinek tapasztalata, otlete, merre induljak el? Esetleg egy 'hello world' ?

Koszi,
szilsan

Hozzászólások

Ha tippet vársz, csak egyet tudok javasolni: ezt így ne csináld.

Adatbázisból WS-t hívni elég öngyilkos vállalkozás, még ha vannak is rá példaprogramok, hogy működik.
Másrészt igen, kell hozzá a Java az adatbázisban.

nem is mertem a kerdest. magat az EJBt ket fele uton hivhatod meg: remote EJB hivas, vagy a kulso interfeszen keresztul, amit kiszolgal (jelen esetben WS, bar nem irtad, hogy SOAP vagy REST.)

tehat igazabol ha webszervizt tudsz hivni, akkor megtudod az EJBt is "hivni".

Persze, WS-en keresztul meg tudom - bar el akartam kerulni ezt - a direkt EJB hivas gyorsabb lenne. Amugy SOAP.
A kerdes _csak_ arra vonatkozik, hogy a DB-bol mikeppen hivok ki. Barhonnan meg tudom hivni, de DB-bol meg sosem csinaltam es nem talaltam ra modot sem - a WS-es is eleg nyogvenyelos.

Jo.
Adott egy DB instance(DB1) - ebben az uzleti logika PL/SQL szinten van kodolva. Ez a modul1. Effelett egy halvany JEE reteg van, ami kizarolag hivogatja a tarolt eljarasokat stb. (Van webes resz is, de ez most nem lenyeges)

Adott egy modul2. Ennek az uzleti logikaja java-ban van kodolva. Neki sajat DB instance van JPA-val (DB2).
A ket DB nincs osszekotve. A ket java modul egy ear-ban van. A modulok egymassal EJB/WS-en keresztul tudnak kommunikalni. Mindenki csak a sajat DB-jehez fer hozza direktben.

A modul1-nek szuksege van adatra a DB2-bol. S azokhoz az adatokhoz csak igy ferhet hozza - a modul2-n keresztul. Legalabbis enem tudok mas modrol.
Hogy miert van igy architekturalisan? A modul1 egy regebbi PL/SQL alapon nyugvo regi rendszer portolasa. A modul2 teljesen zold mezos. Viszont vannak kozos adatcsoportok, amelyek a DB2-be kerultek. Azert, mert emellett meg van jopar modul, amelyek szinten a DB2-t hasznaljak. Igy a modul1-nek kellett reszben alkalmazkodni. S nem akartak kidobni a teljes PL/SQL uzleti logikat es ujrairni (tobb 10e sor).

Szoval most szopok, hogy a PL/SQL-es logikam nemely adatot a sajat DB-jebol vegyen, nemelyeket meg mashonnan. Sajnos semmi beleszolasom nincs az architekturalis kialakitasba (amugy is mar el van fogadva) - ezzel kell elnem/dolgoznom.
Remelem ertheto voltam, de konkretabb dolgokat nem mondhatok el.

Bakke, tuti tudom, hol dolgozol.

De ahogy NagyZ is elmondta, valami tutira el van kúrva, ha ilyet akarsz csinálni.

Amúgy meg, oké, hogy az üzleti logika app1-ben PL/SQL, tehát DB1-ben foglal helyet, de mint mondod, van azért alkszerver része, ahol egy buta prezentációs réteget tartasz jelenleg.
Az app2+db2 adataira nyilván nem a régi rendszer régi funkcióinak van szüksége. Namost a régi rendszer új funkcióinak megvalósításakor mi akadályoz abban, hogy azt már ne PL/SQL szinten, hanem JEE alapokon valósítsd meg?

Egy tisztességesen tervezett alkalmazásnak kellene legyen külön prezentációs és üzleti logika rétege. Amit te most szeretnél, annak pontosan az üzleti logika rétegében van a helye. (Igen, ez egy új JEE környezet, ahol jellemzően csak EJB-k és WS-ek vannak.)

:)
A regi rendszer uj funkcioi meg fogalmam sincs hol lesznek - meg nem dontottem el. Szeretnem JEE alapokon, de vannak human eroforras problemak is. Elsosorban a regi logika portolasaval van/lesz a problema. Az ujak tisztabbak.

Amugy a poen az, hogy a regi rendszer regi funkcioinak is szukseguk van a DB2-ben levo adatokra (oda kerultek a kozos adatok - torzsadatok). Ez felettem allo hatalmak dontese volt.

Tudom, hogy milyen lenne egy tisztesseges alkalmazas architektura. De ez van most. Lazadhatok, de nem fogok semmit elerni :( Tudom, hogy mikor ez a struktura kialakult, az architekteknek is sok kompromisszumot kellett kotni - sok ceg, sok modul, es mindenki azt akarja, hogy neki jo legyen. S nem csak a mi modulunk hozza magaval a multjat...