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
AspectJ Development Tools
Google Web Toolkit
Google App Engine
Java Bean Validation
Java Database Connectivity
Java Message Service
Java Persistence API
Java Transaction API
Java Server Pages
Representational State Transfer (REST)
SpringSource tc Server with Insight
SpringSource Tool Suite
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.
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.
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: 2417