My team is currently working on a web platform and we are planning to divide the application in a set of independent services written in different languages, the problem is that these services rely on a domain model layer that will need to be duplicated across the different languages(C# and Java).

The Domain layer is heavily cohesive and cannot be easily splitted out.

Given that working with multiple languages is a requirement what is a good architectural style that will allow a positive approach for this problem?

  • If you only need to share data classes and not application logic, you may want ti have a look at avro or protobuf
    – Andrea
    Mar 10, 2014 at 18:34

1 Answer 1


There is no easy way to do it. DDD is primarily meant as single place where domain logic is encoded. If you try to have multiple places with the logic, you will soon run into bad problems.

The only way to do this in service-oriented architecture is to have one service specifically made to contain this domain logic and have everyone else call to this service. You could have different services for each different bounded context, but you say that is not possible, because you have only one.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.