Ahoj, no to je trochu offtopic. Mezivrstva sedi obvykle bud na stroji, kde je DB nebo na stroji, ktery ma s DB velmi dobre spojeni. Pokud delate nad DB slozite operace, jejichz vysledek je trivialni (napr. float, int, apod.), tak mezivsrtva muze vyrazne omezit komunikaci klient-server. Napr. natahnes hromadu tabulek, spoctes nejakou statistiku a klientovi vratis treba jen vysledny float. Samozrejme, ze by to mohlo byt i jako ulozena procedura na DB, ale to ma radu nevyhod - ladeni, skalovani, zmena DB a mozna dalsi. K tomu skalovani - snadno pridas vice serveru s mezivsrstvou, ale kolik DB umi behat distribuovane? Napr. Oracle to umi, ale ta cena je pak velmi velmi vysoka, takze je stale levnejsi udelat tu mezivrstvu.
2009/9/14 Martin Kuba <ma...@ics.muni.cz>: > Ahoj, > > přijde mi, že zvyšovat výkon a zlepšovat škálovatelnost přidáním > vrstvy je protimluv. Ono totiž obecně přidání vrstvy výkon vždycky snižuje, > ale občas je to cena, kterou má smysl zaplatit, protože tím lze zlepšit > udržovatelnost. > > V tomto konkrétním případě nic nemůže výkonově překonat přímou komunikaci > JDBC ovladače s databázovým strojem. Komunikace po síti přes RMI > přidá pouze další zpoždění potřebné na cestu sítových packetů mezi TomCatem > a RMI serverem. > > Makub >