One of the most influential technologies of today’s business software development is the Java EE platform. In contrast, the Scala language, an alternative JVM language is much younger, and less known, along with it’s frameworks supporting the development of business softwares.
My goal is to demonstrate the similarities and differences between these two software stacks. I will give a general overview of both technologies, and show the difference between the Scala and Java languages. I will also create a pilot application to demonstrate these concepts. The pilot application will be implemented using both software stacks, so they become comparable.
Afterwards I will compare the two implementations through several aspects. These will include the functional aspects such as: the web layer, the business logic, and the persistence layer. On top of that there will be a comparison of non functional requirements like scalability, security, maintainability, and testability.
In the end I will make a summary of all the experience I gained using these platforms and frameworks, highlighting their advantages and disadvantages.