Web service technologies provide a standard means for inter-operation and integration of heterogeneous distributed applications
on the Internet. For efficient execution of composite web services which interact hierarchically we propose an approach to
distribute invocation of web services among relevant peer systems using intensional XML data which contains external service
calls and considering the costs of invocation from different peer systems. We formalize an optimization problem on the invocation
of web services and provide a heuristic search method to find an optimal invocation plan and a greedy algorithm to generate
an efficient solution quickly. Experimental results show that the proposed greedy algorithm can provide near-optimal solutions
in an acceptable time, even for a large number of web services.