All Topics  
RIFE

 

   Email Print
   Bookmark   Link






 

RIFE



 
 
RIFE is a full-stack open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 web application framework
Web application framework

A web application framework is a software framework that is designed to support the web development of Dynamic web page, Web applications and Web services....
 with tools and APIs to implement most common web features. Each of its toolkits is usable by itself and together they offer powerful integrated features that boost your productivity. RIFE ensures that every declaration and definition is handled in one place in the code. This simplifies the developer's task by reducing code replication, enforcing consistency, and easing maintenance.

RIFE's design provides the best of request-based and component-based approaches and blends them together in a consistent component object model.






Discussion
Ask a question about 'RIFE'
Start a new discussion about 'RIFE'
Answer questions from other users
Full Discussion Forum



Encyclopedia


RIFE is a full-stack open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
 web application framework
Web application framework

A web application framework is a software framework that is designed to support the web development of Dynamic web page, Web applications and Web services....
 with tools and APIs to implement most common web features. Each of its toolkits is usable by itself and together they offer powerful integrated features that boost your productivity. RIFE ensures that every declaration and definition is handled in one place in the code. This simplifies the developer's task by reducing code replication, enforcing consistency, and easing maintenance.

RIFE's design provides the best of request-based and component-based approaches and blends them together in a consistent component object model. The web engine provides a solution that values maintainability without compromising on productivity. Through a centralized site structure, an application can be split up into easily reusable binary modules that can be seamlessly integrated into other projects.

Overview

RIFE offers an alternative approach to web application development and design. It builds upon the Java platform, but offers all required tools and APIs to implement and perform all common website related tasks in a fast, intuitive and consistent manner.

RIFE has been designed for perfect separation of tasks during a development cycle. Every developer, DBA
Database administrator

A database administrator is a person who is responsible for the environmental aspects of a database. The role of a database administrator has changed according to the technology of Database management system as well as the needs of the owners of the databases....
 and designer only has to focus on his own tasks. At any moment the work can be effortlessly integrated with the work of the rest of the team.

This results in a loosely coupled and very robust system. One can make incremental improvements with little or no risk of unwanted side-effects elsewhere in the system.

Web engine

There are currently two major schools of web application development frameworks: request-based and component-based.

Request-based frameworks are very close to the original CGI specification. They use controllers and actions that directly handle incoming requests. Each request is fundamentally stateless. With the introduction of server-side sessions, a certain degree of statefulness has been achieved. The different frameworks basically differentiate themselves by the way they map logic to URLs and how data is structured and provided to the developer.

Component-based frameworks abstract the developer away from the internals of the request handling and encapsulate the logic into reusable components, often independent from the web medium. The state is automatically handled by the framework, based on the data that is present in each component instance. Together with some form of event handling, this development model is very similar to the features offered by desktop GUI toolkits. The different frameworks basically differentiate themselves by the provided component API and how components are combined together.

RIFE combines both by taking control of the entire data and logic flow in a request-based model. Developers remain close to the architecture of CGI applications and have full control over URLs, forms, parameters, cookies and pathinfos. However, instead of mapping actions and controllers directly to the request, RIFE provides a component object model that behaves identically in many different situations such as individual pages, intercepted requests, portal-like page fragments and integratable widgets. Components can be wired together and be packaged as groups that are components in their own right. They can be distributed separately and be seamlessly integrated into any other RIFE project. This provides the same form of reusability as component-based frameworks, but with the raw control of the request-based approach.

Feature summary

RIFE is composed out of a large collection of modular parts, which include:

  • web application engine,
  • integrated web continuation
    Continuation

    In computing and programming, a continuation is an abstract representation of Control flow, or the "rest of computation" or "rest of code to be executed"....
    s,
  • Inversion of control
    Inversion of Control

    Inversion of Control, or IoC, is an abstract principle describing an aspect of some software architecture designs in which the control flow of a system is inverted in comparison to the traditional architecture of Library ....
     support
  • bidirectional multi-format template engine (xhtml
    XHTML

    The Extensible Hypertext Markup Language, or XHTML, is a markup language that has the same depth of expression as HTML, but also conforms to XML syntax....
    , html
    HTML

    HTML, an Acronym and initialism of HyperText Markup Language, is the predominant markup language for Web pages. It provides a means to describe the structure of text-based information in a document?by denoting certain text as links, headings, paragraphs, lists, and so on?and to supplement that text with interactive forms, embedded '...
    , xml, sql
    SQL

    SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
    , java
    Java (programming language)

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
    , txt, ...)
  • support for template content transformation through for example XSLT,
  • content management framework
    Content management framework

    A content management framework is an application programming interface for creating a customized content management system.Some such systems are:...
    ,
  • centralized meta-data facility,
  • authentication
    Authentication

    Authentication is the act of establishing or confirming something as authentic, that is, that claims made by or about the subject are true....
     framework,
  • JDBC abstraction layer,
  • database query builders,
  • persistence
    Persistence (computer science)

    Persistence in computer science refers to the characteristic of data that outlives the execution of the program that created it. Without this capability, data only exists in RAM, and will be lost when the memory loses power, such as on computer shutdown....
     layer,
  • configuration framework,
  • central application life-cycle management,
  • cron
    Cron

    cron is a time-based job scheduler in Unix-like computer operating systems. 'cron' is short for 'chronograph'.This from 1999 describes cron well:...
    -like scheduler,
  • asynchronous mail queue,
  • content syndication
    List of content syndication markup languages

    The following is a list of formats for web feeds for web syndication....
     framework,
  • resource
    Resource (computer science)

    A resource, or system resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource....
     abstraction,
  • web service
    Web service

    A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
    s.


The central part is the engine which formalizes all aspects of dynamic web development. It graciously solves all doubt, confusion and maintenance problems of HTTP's statelessness and liberal CGI
Common Gateway Interface

The Common Gateway Interface is a Standardization Protocol for interfacing external application software with an Server , commonly a web server....
 interface.

External links