smart client architecture