web services with typescript