Interesting little snippet on the SOA blog - Survey: Java EE, .NET neck and neck. Clearly lots of companies are going to end up deploying systems to Java and .NET over the next few years. Add in the long tail of legacy COBOL applications and you have a typical heterogeneous environment.
One of the attractions of a business rules approach is the separation of decision logic from the "plumbing" of applications. While an SOA approach - developing business rules as services - helps a lot, it can also be very effective to use a business rules management system that let's you externalize all the rules, manage them in a repository and then deploy them as .NET services, Java services or COBOL programs while still ensuring that you can manage the rules once to ensure consistency. There are business rules management systems out there that support multiple deployment platforms from a single repository - Blaze Advisor is one.