Service-oriented computing: principles and applications