This paper faces the challenge of defining a microservice composition approach that provides the benefits of orchestration and choreography composition mechanisms. The main goal is to provide a solution that allows developers to have a centralized model that describes the big picture of a microservice composition and also to have the possibility of executing the composition defined in this model through an event-based choreography. The modeling language used to create such centralized model is the one provided by the BPMN process diagram. In particular, we introduce a proposal that provides the possibility of 1) defining the microservice composition in a BPMN model to have the big picture of the whole composition, which facilitates further analysis and maintenance when requirements change, and 2) executing the BPMN model by following an event-based choreography to provide a high degree of decoupling and independence to implement and maintain microservices. To this end, the paper presents (1) a set of guidelines to create microservice compositions in BPMN models, split them into fragments, and distribute these fragments among microservices to be executed through an event-based choreography, (2) a microservice architecture defined to support the coexistence of the two descriptions of a composition (i.e., the big picture and the split one), and (3) tool support in order to implement the proposed microservice architecture in Java/Spring technology.