In Service Oriented Architectures, complex applications are composed from a variety of functionally equivalent Web services which may differ for quality parameters. Under this scenario, applications are defined as high level business processes and service composition can be implemented dynamically by identifying the best set of services available at run time. In this paper, we model the service composition problem as a mixed integer linear problem where both local constraints and global constraints can be specified.