So our project is an 80-90% Java shop, but we do have some non-Java applications. We are finding that while each app has it's own primary mission, there is some considerable overlap in business rules and validation. What is the suggested way to share code base across such disparate applications? Our inclination is to wrap it in a JAR, and expose that functionality to non-Java apps through a REST API, but is there something slicker out there? How do people solve this?