We have used Spring Roo in a web project and show how we generated an early prototype and transistioned to early development and then to production code.
Spring out of the box provides little support for loading property attributes based on environments and/or server contexts. Many projects work around this by creating custom ant builds. With Configleon you can build one war file that can be deployed to every location.
Configleon really shines is in it's ability to cascade the property attributes. This allows the common attributes to be defined in a global file and then overridden at the environment and server context.
If we consider the development of a web application, it typically starts in a local environment. The application will then be deployed to various environments including dev, qa, test, and production. Within a given environment, you may be deploying the same application to different server contexts.
For example, say we are deploying the JMesa example web application to the test environment. But we also have two different versions of the application. One is deployed to mycompany.com/jmesa and the other is deployed to mycompany.com/jmesa2. In this example that same war file can use different properties based on both environment and context. In this example, the environment is test and the server context is jmesa and jmesa2.
The Doolin framework allows the rapid development of Swing applications. It uses the Spring framework as a support for its configuration and extensibility.
MINA is a simple yet full-featured network application framework which provides:
* Unified API for various transport types:
o TCP/IP & UDP/IP via Java NIO
o Serial communication (RS232) via RXTX
o In-VM pipe communication
o You can implement your own!
* Filter interface as an extension point; similar to Servlet filters
* Low-level and high-level API:
o Low-level: uses ByteBuffers
o High-level: uses user-defined message objects and codecs
* Highly customizable thread model:
o Single thread
o One thread pool
o More than one thread pools (i.e. SEDA)
* Out-of-the-box SSL · TLS · StartTLS support using Java 5 SSLEngine
* Overload shielding & traffic throttling
* Unit testability using mock objects
* JMX managability
* Stream-based I/O support via StreamIoHandler
* Integration with well known containers such as PicoContainer and Spring
* Smooth migration from Netty, an ancestor of Apache MINA.
The point of "Graham Hacking Scala" is to share with you my knowledge of and experience with the Scala programming language. The blog will contain everything from introductions to basic features through to in-depth analysis of complex techniques and problems. When I make mistakes, you will learn from my mistakes. When I discover cool features, you will learn about them, too.
Cloud Tools is a set of tools for deploying, managing and testing Java EE applications on Amazon's Elastic Computing Cloud (EC2) and VMware environments. There are three main parts to Cloud Tools:
* EC2Deploy - the core framework. This framework manages virtual instances (e.g. EC2), configures MySQL, Tomcat, Terracotta and Apache and deploys the application. See this blog entry for an overview.
* Maven and Grails plugins that use EC2Deploy to deploy an application
* Amazon Machine Images (AMIs) that are configured to run Tomcat and work with EC2Deploy. See list of installed software.
Spring Social is an extension of the Spring Framework to enable the development of social-ready applications. With Spring Social you can create applications that interact with various social networking sites such as Twitter, Facebook, LinkedIn, and TripIt, giving the users of your application a more personal experience.
The main features of Spring Social include:
* A set of social network templates for interacting with Twitter, Facebook, LinkedIn, TripIt, and Greenhouse.
* An OAuth-aware request factory for signing RestTemplate requests with OAuth authorization details.
* A web argument resolver for extracting Facebook user ID and access token information in a Spring MVC controller.
Very nice Spring-Intro! Worth to become part of the official documentation.
"To start off with my new (Enterprise) Java Development Blog here on StSMedia.net I would like to gradually develop a sample application which demonstrates various aspects of the Spring framework and some of its related projects and products."
Spring Crypto Utils aims to provide a wrapper around Java's native cryptography API so that configuration of key stores, public and private keys, signers, message digesters, symmetric and asymmetric cipherers can be easily done via the Spring context configuration.
# Proxy Abstract Services and dynamic composition: create services using abstract classes and annotations without providing any implementation.
# Annotation inheritance, create your customs annotations from the corea annotations.
# Compose your service workflows graphically using the jBPM native support.
# Implement services using Java or Ruby.
# 100% Annotation based configuration (plus .properties files for externalization).
# Can be used as a standalone container, in a web environment or integrated with other containers.
# Spring native support (Spring/Spring MVC).
# Testing support integrated within the framework using static Assert classes.
# Monitor and manage the services through JMX (status, start, stop...).
# Spring native support (Spring/Spring MVC).
# Maven plugin.
# Several embedded services are provided out of the box and ready to use.
Here comes what a lot of people were waiting for: "Spring Roo provides interactive, lightweight, user customizable tooling that enables rapid delivery of high performance enterprise Java applications. Click here to access the latest Spring Roo resources, including downloads, forum, Subversion, Jira, Fisheye, Twitter feeds, documentation etc."
Beet records user behavior and performance data for your Spring-based Java application. It can thus help you to analyze usage patterns and research production performance issues. Beet requires Spring framework 2.0 and the Quartz Scheduler.
Visit the Downloads page to grab a copy, and then read the Quick Start chapter of the User Guide to enable it in your application.
Beet is freely available to use under the terms of the Mozilla Public License, v1.1. It was developed and is maintained by Mantis Technology Group, Inc.
Features
* Record Java method calls, SQL statements, and HTTP requests, or add your own events
* Simple configuration, zero code modification required
* Know immediately which user and session caused each event and when
* JMX administration and diagnostic tools
* Record data as XML, compressed binary XML, directly to an RDBMS, or write your own storage
* Flexible ETL and log manipulation tools for compressed binary XML
* Low resource overhead, appropriate for production systems
Impala 1.0M5 introduces a number of API and configuration improvements, making the framework easier to configure and extend, and usable in a wider range of environments. Following 1.0M5, only minor changes in internal APIs are now expected prior to the 1.0 final release.
The 1.0M5 release makes it much easier to configure Impala-based applications by supporting a property-based configuration. While Impala is still very heavily based on the Spring framework, 1.0M5 now also makes it possible to plug in other runtime frameworks into Impala's dynamic module loading mechanism.
The full list of issues for milestone 1.0M5 is here: http://code.google.com/p/impala/issues/list?q=label:Milestone-Release1.0M5&can=1.
Note that there are a number of package name and configuration changes in this release. If you are upgrading from an earlier release, you will probably wish to check the backward incompatible changes for 1.0M5 and an example migration sequence for this release.
If you're interested in getting involved in the Impala project, please take a look at this page: http://code.google.com/p/impala/wiki/GetInvolved.
Basically, its an RDF-based web annotations system.
Three JISC-funded projects have a requirement to allow people to annotate events and other things. The projects are:
* Collaborative Research on the Web (CREW) - University of Bristol and University of Manchester
* Semantic Tools for Screen Arts Research (STARS) - University of Bristol
* Integration Project (CIP) - University of Bristol
The Caboto project was setup to create a collaborative effort to fulfill the requirements of CREW, STARS and CIP.
The requirements from the JISC projects:
* CREW Events Requirements
* CIP Requirements
* STARS Requirements
The project is in the early stages but its is possible to obtain and run the project: