Semigroups, groupoids and C*-algebras