Knowledge management for designing business workflows through semantic compositions of web services