BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Scooter Framework; Java Made CRUD And Simple

Scooter Framework; Java Made CRUD And Simple

Leia em Português

This item in japanese

Bookmarks

The Scooter framework which recently released version 1.0 RC2 earlier this year, offers a Rails like, RESTful web platform for Java developers using Java. InfoQ spoke with John Chen, creator of the Scooter Framework project

The development of the Scooter framework has been inspired by the simplicity of use exhibited in Ruby on Rails. The Scooter framework presents an alternative for developing Java web applications using Struts, Spring and Hibernate, with a CRUD generator and the ActiveRecord as key features. The intent of the Scooter framework is that XML editing and annotations are not required, and that only basic knowledge in Servlet/JSP and JDK1.4 is necessary.

The final release for the Scooter 1.0 version is currently planned for June-July this year.

The current release features:

  • Runtime Configuration: Change all configuration property files on the fly, including log4j.properties.
  • Runtime Compilation: Edit Java source files and refresh the browser to see changes immediately.
  • Runtime Schema Change: Detect database schema changes automatically.
  • Flexible Controller: A POJO-like controller, before/after/skip filters, flash and global scopes, pagination support etc.
  • Active Record: Support for belongsTo, hasOne, hasMany, hasManyThrough, polymorphic associations, nested include, cascade, counter cache, actAsTaggable, etc.
  • Enterprise ORM: Support auto detecting composite primary key, named sql, views, functions, stored procedures, multiple databases, transactions, reference data cache, etc.
  • I18N: Support internationalization at all layers of the framework.
  • Web 2.0 support: AJAX, Markdown, Taggable interface.
  • RESTful Web Services: Automatic RESTify data store.
  • Routes: Configurable ways of controlling web access to data, resources and nested resources.
  • Other features: Code generator, code statistics, auto CRUD, auto REST, data browser, logging, embedded-web server etc.

Other features planned for the 1.0 version include:

The ActiveRecord based ORM implementation is planned to be reconfigured so that it can be used in a non-web environment.

Future plans for Scooter:

  • Web server performance enhancements
  • Development of a dev center module: a web-based dev center for editing java code
  • Documentation and help for developers
  • A View template engine: The current view is based on JSP. The new template engine will allow developers to write view code once and run in multiple platforms such as browser, iPhone, iPad, Android, etc.
  • Integrate with java open-source tools: JasperReport, Lucene, JQuery, etc.
  • Add support for OpenID, Captcha, RSS, JSON

Documentation is available for getting started with Scooter along with current release source and binaries.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Interesting but what about the Play! framework?

    by Olivier Hubaut,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It's really interesting that such framework tends to reduce the inherent boilerplate of Java and try to reduce the "code-package-deploy" time.
    I'm wondering how this one compete with the Play! framework as it seems more focused on the JEE aspect while the Play! one is acting more as a stateless REST alternative to the traditional JEE infrastructure that heavily rely on sessions.

  • How does it compare with Grails

    by Hitesh Bagchi,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Grails provides most of these features while at the same time is pretty matured. What is it different in Scooter?

  • Yeah, okay, but...

    by Dave Nicolette,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Scooter, Play, and (sorry) even Grails: The question is, Why? If you need Rails functionality, why not just use Rails?

    Reminds me of when Java was young, and people were complaining because it wasn't a straight copy of C++. It is what it is. Choose a tool that does what you need. No need to warp some other tool.

  • Re: Yeah, okay, but...

    by Hussachai Puripunpinyo,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Sorry. If I'd like to use Rails-like functionality and I'd like to use many existing and matured
    frameworks and libraries that java has too. How should I do?
    IMHO I think the only one good thing in RoR world is RoR itself.

  • Re: How does it compare with Grails

    by Henning Sprang,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Grails is Groovy, This here is Java. Slight, but for many and important difference!
    (and yes, I know I can develop Grails services in Java...)

  • Re: Yeah, okay, but...

    by Henning Sprang,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I agree that I probably would not recommend using Grails for that reason.
    But if I want Java as a language, neither Rails nor Grails are a choice.

  • Re: Interesting but what about the Play! framework?

    by Henning Sprang,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Me too! I'd like to hear about the differences.

    What I find a bit odd is that neither the framework's page nor the company page of "Amazing Force" reveils any real info on who's behind that project.

    So as far as this goes, Play would be a better choice in that area because it already has multiple developers and it's clear who's behind it.

  • How does it compare to Stripes ?

    by Arun P R,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Stripes is also a web framework that tries to reduce the configurations pains in other Java Web Frameworks... how does Scooter compare to Stripes ?

  • Re: Yeah, okay, but...

    by Dave Nicolette,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    JRuby

  • Re: Yeah, okay, but...

    by Dave Nicolette,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    1. Grails == Groovy == Java

    2. Ruby/Rails runs on JRuby

    Life is filled with choices.

  • Great work but it's time to move on

    by Edwin Nathaniel,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I went to the framework author's (could've been his consulting company) website at www.amazingforce.com/, looks like he's a good developer that likes simple stuff (UNIX-y). But I couldn't help to notice that what he has done so far (his projects) is to re-implement stuffs that he likes/needs in Java.

    While I admire his intelligent and persistent in using Java, I think it's time to move on.

    For those of you who said that "yeah, Rails/Grails is not Java and if the project requires Java, we have no choice", what makes you think that you have the choice to use this framework and not limited to pure JEE, Spring, Struts, Struts2 or even (get ready for the horror) J2EE (because the of IT setups still using the old WebSphere).

    Developing software is not just writing code, but involving picking your IDE, writing unit-tests, implementing a solid build/continuus integration/SCM processes, and dealing with the mindset of developers for that particular platform. My experience using Java for (web) application development hasn't been smooth. Most of the time, I had to deal with complexities of the frameworks and tools. I began to think that maybe Java is better off for writing frameworks (Spring, Struts2, EJB) or system-programming (Hadoop, HBase) and not (web) application programming.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT