在我看來,你不能在這個(gè)問題上投贊成票或反對(duì)票。這完全取決于應(yīng)用程序的設(shè)計(jì)。
我完全反對(duì)在3層環(huán)境中使用SPS,因?yàn)榍懊嬗幸粋€(gè)應(yīng)用服務(wù)器。在這種環(huán)境中,您的應(yīng)用程序服務(wù)器可以運(yùn)行您的業(yè)務(wù)邏輯。如果您另外使用SPS,您將開始在整個(gè)系統(tǒng)中分發(fā)業(yè)務(wù)邏輯的實(shí)現(xiàn),并且將變得非常不清楚誰對(duì)什么負(fù)責(zé)。最終,您將得到一個(gè)應(yīng)用程序服務(wù)器,它將只執(zhí)行以下操作:
(Pseudocode)Function createOrder(Order yourOrder) Begin
Call SP_createOrder(yourOrder)End
最后,您可以在這個(gè)非??岬?Server集群上運(yùn)行您的中間層,每個(gè)集群都配備了16個(gè)CPU,它實(shí)際上什么也做不了!多浪費(fèi)呀!
如果您有一個(gè)可以直接連接到DB或更多應(yīng)用程序的胖GUI客戶機(jī),那么情況就不同了。在這種情況下,SPS可以充當(dāng)某種偽中間層,將應(yīng)用程序與數(shù)據(jù)模型解耦,并提供可控制的訪問。