InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Scooter Framework; Java Made CRUD And Simple

Posted by Gilad Manor on Apr 13, 2010

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Architecture ,
Java ,
Web 2.0 ,
Enterprise Architecture

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.

11 comments

Watch Thread Reply

Interesting but what about the Play! framework? by Olivier Hubaut Posted
Re: Interesting but what about the Play! framework? by Henning Sprang Posted
How does it compare with Grails by Hitesh Bagchi Posted
Re: How does it compare with Grails by Henning Sprang Posted
Yeah, okay, but... by Dave Nicolette Posted
Re: Yeah, okay, but... by Hussachai Puripunpinyo Posted
Re: Yeah, okay, but... by Dave Nicolette Posted
Re: Yeah, okay, but... by Henning Sprang Posted
Re: Yeah, okay, but... by Dave Nicolette Posted
How does it compare to Stripes ? by Arun P R Posted
Great work but it's time to move on by Edwin Nathaniel Posted
  1. Back to top

    Interesting but what about the Play! framework?

    by Olivier Hubaut

    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.

  2. Back to top

    How does it compare with Grails

    by Hitesh Bagchi

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

  3. Back to top

    Yeah, okay, but...

    by Dave Nicolette

    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.

  4. Back to top

    Re: Yeah, okay, but...

    by Hussachai Puripunpinyo

    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.

  5. Back to top

    Re: How does it compare with Grails

    by Henning Sprang

    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...)

  6. Back to top

    Re: Yeah, okay, but...

    by Henning Sprang

    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.

  7. Back to top

    Re: Interesting but what about the Play! framework?

    by Henning Sprang

    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.

  8. Back to top

    How does it compare to Stripes ?

    by Arun P R

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

  9. Back to top

    Re: Yeah, okay, but...

    by Dave Nicolette

    JRuby

  10. Back to top

    Re: Yeah, okay, but...

    by Dave Nicolette

    1. Grails == Groovy == Java

    2. Ruby/Rails runs on JRuby

    Life is filled with choices.

  11. Back to top

    Great work but it's time to move on

    by Edwin Nathaniel

    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.

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.