Monday, March 31, 2008

Rife: Full-Stack and Open-Source Java Framework



In a debate with advocates of various Web frameworks, such as JSF, Spring MVC, Ruby on Rails...and Rife ( Rife?????), happened at The Server Side Java Symposium, on last Friday, march 28th, discussed about which Java Web Framework is the best. Common news, no??

Right, Sure. But, for me, surprising appeared one name... which? Rife.

RIFE is a full-stack, open-source Java web application framework, offering fast results with the promise of maintainability and code clarity. Development becomes productive, consistent and reusable.



Differences

Here are some differences from other Java Web Frameworks.

  • You get 90% of the features with 10% of the usual effort, thanks to its full stack;
  • Logic-less HTML templates that can be previewed in any browser and edited with standard tools;
  • Uniform component model, designed from the ground up for reusability: applications, sub-sites, pages, porlets, widgets, ... can be easily packaged and placed in any other context;
  • Integrated native Java web continuations and flow continuations;
  • Metaprogramming, driven by your domain model, but without polluting it;
  • Flexible declaration and configuration with support for plain Java as well as XML;
  • Core support for web data flow as well as page logic flow;
  • Integrates with existing solutions such as Spring and standard JDBC datasources;
  • Multi-dimensional conversational state management with scoping;
  • Language-independent template engine with support for XHTML, HTML, XML, Text, SQL, Java;
  • Persistence layer with content management integration and versioning;
  • Designed for the creation of consistent maintainable applications as well as on quick delivery;
  • Embraces standard protocols and specifications, providing larger building blocks by wrapping lower layers with high-level functionalities;
  • Out-of-container testing with full introspection capabilities of the executed flow and components;
  • Lightweight execution model that has been proven in production;
  • Built for Java 5 with intelligent downgraded support for Java 4, and
  • Designed for developer comfort: minimal application restarts thanks to automatic detection of file modifications.

Features

I tried to pass the features of Rife, and some explanation about each one.

Web application engine

RIFE's web engine provides you with a solution that values maintainability above everything else, but without compromising on productivity.

Integrated web continuations

Continuations are constructs that are inspired from Scheme.

IoC support

RIFE focuses on the retrieval of the references and the injection of objects into the web engine elements.

Out of container testing (Nice! )

RIFE web applications can be fully tested outside of a servlet container.

Content management framework

RIFE provides a Content Management Framework that is geared towards the process of storing, loading, validating, formatting, transforming, versioning, retrieving and streaming of various content types.

Bidirectional multi-format template engine

Many template engines start out with a desire to separate presentation from logic.

Template content transformation

The content of each template can be transformed at instantiation.

Centralized meta-data facility

The main purpose of constraints is to alter the default behavior of a data type and to clearly set the accepted limits and behavioral directions.

Authentication framework

RIFE provides its own framework for the authentication of web applications.

JDBC abstraction layer

Using raw JDBC directly requires a lot of discipline and boilerplate code.

Database query builders

RIFE has a layered approach to database interaction and persistence.

Persistence layer

The JDBC abstraction layer and database query builders offer everything to create a generic database persistence engine.

Configuration framework

The configuration of your applications can be isolated into dedicated XML files.

Central application life-cycle management

Each application is a collection of optionally dependent participants that are responsible for initializing and cleaning up the required context and features.

Cron-like scheduler

RIFE provides an asynchronous scheduler as an application participant that can be set up to run tasks at specific moments.

Asynchronous mail queue

Sending mails in real-time can become a huge bottleneck in popular web sites.

Content syndication framework

RSS 2.0 and Atom 0.3 are natively supported and can be generated in real-time.

Resource abstraction

Retrieving and writing resources is completely abstracted.

Web services

RIFE provides support for SOAP and Hessian web-services through the integration of 3rd party libraries.

Integration

RIFE integrates and supports a variety of back-end libraries, frameworks and tools.

Databases

Scripting languages

Servlet containers

Image readers and convertors

Clustering

Web services

Frameworks

Messaging


Examples

You can See some examples, here.


Open-Source Concept ( COOLLL!!)

Like an open-source project works, Rife has a Rive Live Guide as a RIFE Users Guide, where the people can write.


So, Wake up and keep watch this framework and collaborate. :)

15 comments:

Rafael Ponte said...

Humm.. it seems interesting, but if it's to use some full-stack web framework I prefer to use one stable and with big support between developers e big players as JBoss Seam or even RubyOnRails.

Geert Bevin said...

Hi Rene, thanks for your blog post, I like how you neatly summarized the feature list with explanatory paragraphs.

@Rafael, RIFE has been around since before RoR and Seam and is very stable. It's been used in quite some production sites and was even used by Facebook when they launched their Java API (http://moochspot.com/about). The usual question is "why didn't I hear about it before then", well I don't know and it has been disappointing. When I started RIFE in 2000, people were in a total EJB rage and approaches like this were frowned upon. After that, RoR stole the thunder thanks to Ruby and Seam moved upwards in the Java world since it rests on the JSF standard that allows it to be more easily adopted in enterprises(being backed by JBoss was a nice boon too). If you search the web you'll find quite some interesting articles about RIFE from 2-3 years ago (http://rifers.org/pressroom). I kept things purposely quiet for a while and will start pushing it again slowly. It's nice to at least hear you validate the approach, even though you're skeptical about RIFE not being that well known.

araon said...

Thanks for posting full of ideas, and useful suggestions. flash template

stacy said...

Great post! I've also found that doing web design freelance work has helped me succeed.

John said...

When I broke down on the Lonestar run I need motorcycle towing that I could trust and these guys were the ones to help me out.

John said...

Great info, thanks for posting. If you’re looking for medical claims and billing info then these might be the guys to help you out.

stacy said...

For over 10 years I was an addict and needed dual diagnosis treatment help. When I got the help I needed, I could start living my life again.

Brian said...

This is a great post for anyone that needs help with finding legal advice. I found a insurance bad faith in the Los Angeles area that helped me get to the bottom of my civil suit.

Joan Brown said...

When our business started working with world finances we turned to this citizen portal. It is easy and quick to use.

stacy said...

This article hit home. When I needed help with detox rehab I didn’t know where to get help.

Brian said...

The time that I was blind and needed to see the light was tough. I needed info on sober college. And finally found the one that worked for me.

Tina said...

When my business needed help with web copywriter we turned to these guys. They were quick and professional.

Steve said...

Thanks for the info. It can be hard figuring out from all the seo website design which one will work for you. Do your research and I’m sure you’ll find someone that works.

Joan Brown said...

Internet marketing los angeles can be hard to figure out. Work with a company that has experience and knowledge.

John said...

Thanks for the info. It can be hard figuring out from all the web copywriting which one will work for you. Do your research and I’m sure you’ll find someone that works.