A Bidirectional Heuristic Search Technique for Web Service Composition