LAS VEGAS—Geert Bevin, creator of an open-source Java Web development framework known as RIFE, said he started his project in 2002 to bring the simplicity of scripting or dynamic languages to Java.
“I come from a PHP and Perl background, and I want to see the functionality of those languages in Java,” Bevin said.
Bevin, who is chief technology officer at Uwyn, of Manage, Belgium, spoke on RIFE at TSSJS (TheServerSide Java Symposium) on March 24 here.
“I also like the features in Java 5 … Java still rocks,” he said. “You can still get the same functionality as Ruby on Rails.”
“We needed to provide the metadata approach. The existing standards are there, such as Enterprise JavaBeans [and others], but they are not applicable to every model,” Bevin said.
“In my opinion Ruby on Rails is one of the best things that could happen for Java, because when I talked about these things a couple of years ago nobody listened,” Bevin told eWEEK in an interview at TSSJS.
The flexibility and performance of Java as compared to options such as the Ruby on Rails framework or dynamic languages such as Python, Perl, PHP and Ruby was a recurring topic at TSSJS.
RIFE is a full-stack component framework for quickly and consistently developing and maintaining Java Web applications, Bevin said. RIFE provides a consistent approach throughout all of its layers, manages the life cycle of the application and provides reusable components for business logic. More information on the RIFE framework can be found here.
The RIFE framework features content management, life-cycle management, metadata, templating and Web components.
It also offers external interfaces such as support for Web services, content syndication and asynchronous mail queue, and common services such as authentication, resource abstraction and general-purpose utility classes.
Bevin said developers can get started quickly with RIFE by using RIFE/Jumpstart, a source archive that supports common Java development environments including Eclipse, NetBeans, JetBrains IntelliJ IDEA, Ant and X-develop. RIFE/Jumpstart features a collection of libraries to get developers started, a customizable source structure, test blueprints, a Jetty servlet container and other components.
Metaprogramming Support and Other
RIFE also supports metaprogramming, or writing programs that write or manipulate other programs, Bevin said.
A benefit of metaprogramming is the ability to work with a domain-specific API or language, allowing the developer to build with larger blocks, he said.
Metaprogramming also is a high-level approach to easily achieving otherwise complex or time-consuming tasks.
RIFE also features what Bevin called RIFE Constraints, which are “rich dynamic metadata APIs for JavaBeans instances and their properties.”
Another feature of the framework is RIFE/Crud, which automatically generates administration functionalities for tedious, repetitive “CRUD” (Create, Read, Update and Delete) operations, Bevin said.
The immediate road map for RIFE includes Java 5 annotation support for declarations, and features that make the development and use of widget components easier and more intuitive, among other features, Bevin said.
“We have been focusing on a global component story where applications, subsites, pages, portlets, widgets, [and so forth] can be easily packaged and placed in any other context,” Bevin said.
Meanwhile, RIFE has support for AJAX, Bevin said.
“We integrated DWR very recently,” he said. DWR, or Direct Web Remoting, is a Java open-source library that helps developers wanting to write Web sites that include AJAX technology, according to a description on the DWR site written by Joe Walker, creator of DWR. DWR allows code in a Web browser to use Java functions running on a Web server as if it were in the browser, Walker said.
Bevin said he named the project RIFE because he liked the word. “It means prevalent to an increasing degree,” he said. “And when you mangle the letters around you get FIRE, which is the RIFE logo.”
RIFE also features logic-less HTML templates, a uniform component model, integrated native Java Web continuations and flow continuations, flexible declaration and configuration with support for plain Java as well as XML, and core support for Web data flow as well as page logic flow.
RIFE integrates with existing solutions such as the Spring framework and standard JDBC (Java Database Connectivity) data sources. It offers multidimensional conversational state management with scoping; a language-independent template engine with support for HTML, XHTML (Extensible HTML), XML, Text, SQL and Java; a persistence layer with content management integration and versioning; and a lightweight execution model that has been proven in production, among other features, Bevin said.
“The user community continues to grow,” he said. “There is someone building an Eclipse Visual Editor for RIFE.”
Bevin said there are currently two major schools of Web application development frameworks—request-based and component-based—and RIFE combines the best features of both.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.