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.

An ideal implementation of the service, domain, and data access layers should be able support multiple web layer implementations.  This also highlights something that I’ve been trying to explain to developers even prior to 8.6.  If you have selected a web layer technology that isn’t currently generated by MyEclipse for Spring, there’s still a lot of value in having MyEclipse for Spring generate the common layers for you.  The fact that common layers can support multiple web layer implementations (as proven by the 8.6 M1 scaffolding capabilities) is a testament to the architectural soundness of the common layers that are generated and the likelihood of being leverage-able by other web layer technologies.  This is even further emphacized when you consider that the common layers of the application architecture also support JAX-WS, REST, and Javascript/JSON.

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

Related Posts

A Day with Dani: Eclipse Plugin for Awesome Worksp... DevStyle Rescued My Workspace!As a new developer working in Eclipse, nothing was worse than doing a project and looking at an outdated, plain workspace. It was boring, and took away from the excitement and learning these projects had to offer. This was an IDE I would be using almost every day, so when I learned about the DevStyle plugin for Eclipse...
2017 CI 11 – Sprucing up Your IDE 2017 is over, but our commitment to improving our products continues, as we bring to you our 2017 CI 11 release. It comes with key fixes and improvements in the TypeScript space, as well as the new two-way theme sharing in DevStyle, among others.NOTE: This release does not include MyEclipse, which will be released shortly.Angular & TypeScriptAd...
Introducing DevStyle – Rebooting EclipseR... Yesterday we released the first production version of DevStyle, a free add-on for Eclipse. DevStyle seeks to dramatically improve the Eclipse user experience for millions of developers with the introduction of modern developer ergonomics and the beautiful styling you’ve come to expect from products in 2017.Over the years, the Eclipse evolution has ...
Working with Java 9 in Eclipse Note: This blog was updated on October 11th, 2017 to reflect the release of Oxygen 1a which includes Java 9 support.The Java 9 GA release is just a few weeks old, and you can start developing with Java 9 in Eclipse, right now! All you need to do is download a suitable Oxygen 1a (4.7.1a) based distribution for both Java 9 and JUnit 5 support. Please...

Posted on Jun 10th 2010