webserwis to jest webserwis - jego sens istnienia to właśnie jako warstwa pośrednicząca. Serwer www z php się do tego średnio nadaje. Tłumaczę jeszcze raz - jak zabronisz wykonywania insert/update/delete/select na TABELACH, dasz select TYLKO do widoków i wszelką zmianę/dodanie/usunięcie przez stored proc to masz to samo co przez WS, nawet nie musisz (ba, wcale nie trzeba) udostępniać struktury bazy, a jak dodatkowo używasz bazy, która umożliwia skompilowanie stored proc (np. oracle) to nawet Ci nikt nie podejrzy co się w procedurze dzieje. Napiszę to jeszcze raz i wyraźnie - uważam, że robienie z PHP warstwy POŚREDNIEJ pomiędzy bazą a aplikacją desktopową to nie jest dobry pomysł, szczególnie że ta app jest w c# i aż się prosi aby skorzystać właśnie z MSowego rozwiązania czyli WCF.
BTW tak samo jak mogę wywołać 1000 razy stored proc do usunięcia rekordu z kolejnymi ID, tak samo mogę wywołać 1000 razy GET do strony WWW z kolejnymi ID czy wywołać 1000 razy metodę WCFa. Nie bez powodu widoki i stored proc w bazie są uznawane za 3 warstwę, pośrednią. I uprzedzając następne stwierdzenie - zarówno w stored proc, PHP czy WCF mogę sprawdzać, czy np. nie jest to 10 żądanie usunięcia rekordu i blokować każde kolejne od tego klienta.
Dla jednych będzie to prościej zrobić w bazie, dla innych w WCF, dla jeszcze innych w PHP. Cały problem w tym, że dla pytacza wszędzie będzie tak samo ciężko...