In the service landscape, the issues of service selection, negotiation of Service Level Agreements (SLA), and SLA-compliance monitoring have typically been used in separate and disparate ways, which affect the quality of the services that consumers obtain from their providers. In this work, we propose a broker-based framework to deal with these concerns in an integrated manner for Software as a Service (SaaS) provisioning. The SaaS Broker selects a suitable SaaS provider on behalf of the service consumer by using a utility-driven selection algorithm that ranks the QoS offerings of potential SaaS providers. Then, it negotiates the SLA terms with that provider based on the quality requirements of the service consumer. The monitoring infrastructure observes SLA-compliance during service delivery by using measurements obtained from third-party monitoring services. We also define a utility-based bargaining decision model that allows the service consumer to express her sensitivity for each of the negotiated quality attributes and to evaluate the SaaS provider offer in each round of negotiation. A use-case with few quality attributes and their respective utility functions illustrates the approach.