[Javalist] Business logic scope Session beanben
István Viczián
viczian.istvan at gmail.com
2017. Jún. 13., K, 12:06:17 UTC
Üdv,
Én is azt érzem, hogy kicsit kavar van a fogalmakban, viszont
szerintem jogos a kérdés. És kicsit Gábor ellent is mondok.
Szerintem nagyon jó, ha a logikát kiteszed utility osztályokba, melyek
megfelelnek a single responsibility elveknek, és önmagukban _unit_
tesztelhetőek.
És több session beant használsz, rétegenként egyet, pl. egy db-t
hívót, egy rest-et hívót, és egy merge-ölőt. Ők semmi mást nem
csinálnak, mint hozzáférnek a Java EE API-khoz, és a külső
erőforrásokhoz, valamint a futtató környezethez, mint pl. a konténer.
Viszont minden egyéb feladatot a te kis utility osztályaidhoz
delegálnak.
Adódik ez abból, hogy tapasztalatom szerint az EJB-k macerásan unit és
integrációs tesztelhetőek, mindenféle csúnya dolgokat kell mock-olnod.
<flame>
Ez az architektúra akkor is beválik, ha megvilágosodsz, és rájössz,
hogy nem Java EE-t, hanem Spring-et kell használnod. :)
</flame>
Üdv,
--
Viczián István
Gábor Auth <auth.gabor at gmail.com> írta (2017. június 13. 13:32):
> Hi,
>
> On Tue, Jun 13, 2017 at 1:24 PM András Csányi <sayusi.ando at gmail.com> wrote:
>>
>> Szóval, akkor azt mondod, hogy egy Resource osztályba - ami egy REST
>> endpoint -,
>> berakom a session beant (DI intézi ezt) és maga a session bean kap
>> egy-egy példányt a DI-től a REST kliensekből és mepperből, meg éppen
>> abból, ami kell? Akkor gyakorlatilag, amit én a fenti példámban
>> mondtam, hogy application ami felelős, hogy az üzleti logika lépései a
>> megfelelő sorrendben legyenek végrehajtva az maga a session bean.
>
>
> Ezt most nem feltétlen értem teljes egészében... :)
>
> ...lehet, hogy azért, mert kevered a dolgokat. Vagy tisztán JavaEE legyen a
> projekt, vagy ne használd.
>
>> .Net világban tudok ilyet építeni és boldog is vagyok tőle.
>
>
> ...vagy a .Net világa szerint szeretnél felépíteni egy JavaEE alkalmazást.
> Az nem lesz jó.
>
>> .Net világban van Entity Framework, mint ORM, vannak az Entity osztályok,
>> maga a
>> WebApi, a DI és ennyi. Minden más egy-egy library, amiben csinálod,
>> amit csinálni szeretnél és olyan, mint EJB funkcionalitás nincsen,
>> vagy nem tudok róla.
>
>
> A JavaEE világban viszont minden egyfajta EJB lesz: az EF, az ORM, az Entity
> osztályok, a kifelé mutatott API és a DI is, plusz a tranzakciókezelés ugye.
> Ha ebből csak egy EJB-d van, akkor inkább az se legyen EJB, mert csak szívás
> lesz belőle. Vagy rendesen vagy sehogy.
>
> Bye,
> Auth Gábor
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
További információk a(z) Javalist levelezőlistáról