U rujnu 2023. godine Java 21 donijela je revoluciju kroz virtualne dretve, dok Oracle u verziji 26ai (23ai) predstavlja koncept „virtualnih transakcija“. U nastavku saznajte kako sinergija ovih tehnologija, uz jednog „trećeg igrača“, iz temelja mijenja arhitekturu suvremenih web aplikacija.
SAŽETAK
Programski jezik Java je u rujnu 2023. u (dugotrajnoj) verziji 21, dobio Java virtualne dretve (prije je to bilo prototipno rješenje).
Dok su Java ne-virtualne (platformske) dretve povezane 1:1 s dretvama operacijskog sustava, više Java virtualnih dretvi može se izvoditi na jednoj platformskoj dretvi. Time je njihov broj praktički neograničen, što omogućuje pisanje koda koji je efikasan kao i asinkroni kod, ali je čitljiviji, lakši za debugiranje i daje jasnije greške, exceptions.
Oracle je u bazi 26ai (ranije poznatoj kao 23ai) uveo transakcije bez sesija, Sessionless Transactions, koje se u radu nazivaju “virtualnim transakcijama” kako bi naziv sličan virtualnim Java dretvama. Standardno, upravljanje transakcijom zahtijeva da resursi veze i sesije budu vezani za nju tijekom cijelog životnog ciklusa. Stoga se sesija/veza može osloboditi tek nakon što je transakcija završila, što često rezultira nedovoljnim korištenjem sesija/veza.
Kod transakcija bez sesija, nakon što pokrenemo transakciju, imamo fleksibilnost obustave i nastavka transakcije tijekom njezina životnog ciklusa. Sesija/veza može se vratiti u skup slobodnih sesija/veza i mogu je ponovno koristiti druge transakcije.
Obje ove mogućnosti, virtualne Java dretve i Oracle “virtualne transakcije” same za sebe su vrlo korisne. Istovremeno korištenje obje, moglo bi biti idealan par. No, postoji i “treći igrač”! Zajedno, mogu jako utjecati na promjenu arhitekture web aplikacija (koje rade s bazom podataka).