In service-oriented computing (SOC), services are designed not just for a dedicated client but for a family of potential clients. For services to be generic and serviceable to different clients, service variability among the clients must be analyzed and modeled into service components. Enterprise Service Bus (ESB) is an architectural framework for service integration, but it does not provide effective adaptation mechanisms. Hence, it is desirable to devise techniques to adapt services on ESB for specific service requests. In this paper, we identify four types of service variability, and we present methods to adapt services provided on ESB. These methods can be practically applied in designing highly adaptable services on ESB.