Technologies for Web services facilitate the creation of business process solutions in an efficient, standard way. However, the automation of process integration with Web service technologies requires the automation of discovery and composition of Web services. In this paper, we focus on two problems of the Web service-based business process integration: (1) the discovery of Web services based on the capabilities and properties of published services, and (2) the composition of business processes based on the business requirements of submitted requests. We propose a solution to these problems, which comprises multiple matching algorithms, a micro-level matching algorithm, which matches the capabilities of services with activities in a process request, and macro-level matching algorithms, which are used to compose a business process by identifying services that satisfy the business requirements and constraints of the request. The solution from the macro-level matching algorithms is optimal in terms of meeting a certain business objective, e.g., minimizing the cost or execution time, or maximizing the total utility value of business properties of interest. Numerical examples are illustrated to show how to select the best Web service candidate for a chosen business process through the use of proposed macro-level matching algorithms. Furthermore, we show how existing Web service standards, UDDI and BPEL4WS, can be used and extended to specify the capabilities of services and the business requirements of requests, respectively.