Metaprogramming Support and Other

By Darryl K. Taft  |  Posted 2006-03-28 Print this article Print

Features"> 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. "Its good because you can package functionality that has AJAX components and you can use it anywhere in your applications," Bevin said. "The idea is you can remote your Java code through JavaScript. Its like remoting your Web services through AJAX." 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.

Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel