An enterprise can consist of disparate technology environments such as legacy, Java, .Net etc and heterogeneous applications such as Customer Relationship Management (CRM), Enterprise Resource Planning (ERP) etc. In addition, there could be multiple versions of the same application deployed in different locations. In this environment, it is very difficult to create and maintain enterprise-wide business processes that can seamlessly work across heterogeneous applications and their versions. Service Oriented Architecture (SOA) could be used to address these problems. This paper presents how a SOA based solution can be implemented by defining business processes based on common service interfaces and a common data model. By following this approach, we have built a robust architecture and business processes that remain unchanged when underlying applications are retired, replaced, or consolidated.