In the course of developing products and bringing them to market, it’s not always obvious which features are going to resonate with developers. This week I had the pleasure of doing several demonstrations of MyEclipse for Spring 8.6 Milestone (M1) to Spring developers. The premier 8.6 M1 features are the new scaffolding options, including Spring MVC, Spring Web Flow, Adobe Flex, Google Web Toolkit (GWT), and iPhone Web. As would be expected, a demo typically consists of showing a fully generated, ready-to-run example for each type of scaffolding. During a demo, I don’t usually have a ton of time to review the architectural implementation, and to be quite honest, most developers find architectural discussions during a demo to be very boring.
This week I was pleasantly surprised by how open developers were to taking a deeper dive into the generated code and discussing the architecture. I started wondering why there was this sudden interest in the architecture, and I’ve come to the conclusion that it has to do with the fact that in order for an application to support multiple, concurrent web layers, it really draws focus to the other layers of the application that need to support those web layers.
If you are responsible for maintaining one or more web applications, the thought of rewriting the front-end has more than likely crossed your mind. Considering all the choices there are for implementing web layers, the fear for some developers is how well the other applications layers are designed for re-implementing the web layer. The following diagram shows the typical application layers of a web application.
The Java language and the Spring framework combination have excellent support for application layering, where each layer is represented by a Spring or Java stereotype: @Controller, @Service, @Entity and @Repository.
There are two ways to get your hands on M1. Existing Pro subscribers can use the add-on option in the Dashboard tab of the Software & Workspace Center, while new MyEclipse users can download a free, 30-day trial at http://bit.ly/asbbYo