Spring Book – Chapter 11 – Spring Web

Spring Roo

It’s a Spring project which is a next-generation rapid application development tool for Java developers. You have the capability of building full Java application in minutes using this. Salient features of Spring Roo as opposed to traditional RAD tools are summarized below:

  • 100% developed in Java
  • Simpler and easy to use
  • Fast and simple to remove from code
  • Very active community development
  • Extensive support for add-ons via Roo add-ons
  • Rapid results and compromise free
  • Usable and learnable
  • Uses trusted Spring stack, s doesn’t have its own runtime

Roo gives you easy and immediate access to all of the mainstream Java technologies important to building sophisticated enterprise applications. Some of the technologies that Roo-based projects can instantly leverage according to SpringSource documentation is shown in Table 11-2 below.

Table 11-2. Table showing Spring Roo’s integration with other technologies which can be leveraged

Adobe Flex 

Apache ActiveMQ

Apache Maven

Apache OpenJPA

Apache Tiles

Apache Tomcat

AspectJ

AspectJ Development Tools

Cloud computing

Dojo Toolkit

Eclipse IDE

EclipseLink

Google Web Toolkit

Google App Engine

Hibernate

Java 5+ 

Java Bean Validation

Java Database Connectivity

Java Message Service

Java Persistence API

Java Transaction API

Java Server Pages

Jetty

JUnit

Log4J

Representational State Transfer (REST)

Selenium

OSGi add-ons 

Solr search

SpringSource tc Server with Insight

SpringSource Tool Suite

Spring Integration

Spring Framework

Spring Security

Spring Web Flow

URL Rewrite Filter

Web application resource (WAR) packaging

Write Your Own Add-Ons

Roo is a lightweight console shell which needs to be loaded up while developing your projects. While Roo can be used to do repeated and time consuming operations with mere clicks, usually you ignore Roo and continue with your usual way of coding. While you go about doing your code edits, Roo keeps an eye on the changes and makes necessary changes according to the actions that you do. According to the different types of add-ons you are running, Roo can help you with the automatic changes.

To know more about Spring Roo, please go through the link http://www.springsource.org/spring-roo.

Spring and Other Web Frameworks

One of the core value propositions of the Spring Framework is that of enabling choice to the developers. Spring does not force one to use or buy into any particular architecture, technology, or methodology (although it certainly recommends some over others). This freedom to pick and choose the architecture, technology, or methodology that is most relevant to a developer and his or her development team and their organization is arguably most evident in the web area, where Spring provides its own web framework (Spring MVC), while at the same time providing integration with a number of popular third party web frameworks.

With so many choices of web framework in the Java world, in the SpringSource documentation four have been chosen for detailing their integration. They are Struts, JSF, WebWork and Tapestry. We have separate chapters dealing with integration of Spring Framework with Struts and JSF, Chapter 12 and 13 respectively.

Summary

Spring provides complete support for developing web applications in both request-based and component-based styles with Spring MVC and Spring Faces respectively. Spring Web Flow can be used in both styles and can be used for highly controlled navigations. It doesn’t advocate its own frameworks, but also keeps it open to integrate other popular web frameworks like JSF, Struts, tapestry etc.

Using Spring JavaScript is as simple as putting a jar into your web application. It allows in application of progressive enhancement techniques. It has a very thin layer on top of the Dojo JavaScript toolkit and does not preclude direct use of Dojo. It has a simple yet powerful API which writes consistent JavaScript and manages partial update complexities with ease.

Spring Web Flow is a powerful navigation definition tool. It integrates well with your existing environment runing on fraemwroks like Struts and JSF with ease making it the right choise for building enterprise application.

The Spring BlazeDS Integration project simplifies the development of Rich Internet Applications in Java by using the Spring development model. This project aids in the development of Enterprise Applications with Flex, BlazeDS and Java to create expressive, high-performance, and well-architected Rich Internet Applications.  Using your existing infrastructure and simply expose your existing beans for remote access by Flex clients via BlazeDS remoting and use Flex client to create RIA with ease.

Spring Roo is a wonderful tool for Rapid application development. Use it to create CRUD applications or to learn technologies and I would suggest you not to use in complex and large projects.

This Chapter brushed you through the various components in Spring Web stack at a very high level. It is not much focused on any particular component in the Spring Web stack but I am sure you should have got a clear picture on the various components. Subsequent chapters will take you through some of these very important components into detail.

Page Visitors: 2702

The following two tabs change content below.
Tomcy John

Tomcy John

Blogger & Author at javacodebook
He is an Enterprise Java Specialist holding a degree in Engineering (B-Tech) with over 10 years of experience in several industries. He's currently working as Principal Architect at Emirates Group IT since 2005. Prior to this he has worked with Oracle Corporation and Ernst & Young. His main specialization is on various web technologies and acts as chief mentor and Architect to facilitate incorporating Spring as Corporate Standard in the organization.
Tomcy John

Latest posts by Tomcy John (see all)

1 thought on “Spring Book – Chapter 11 – Spring Web

Leave a Reply

Your email address will not be published. Required fields are marked *