JReps is a component-based framework for developing web applications. It provides the glue for linking data, business logic and presentation logic.

JReps interfaces with databases and business logic components in a uniform manner. All industry standard databases such as Oracle TM , Microsoft SQL Server TM , ASE Sybase TM , etc can be accessed;more importantly they can be accessed simultaneously. Business logic components such as Stored Procedures, EJB TM and custom Java TM components can also be accessed. JReps uniform method for interfacing data and business logic greatly simplifies the programming effort required to link disparate data and logic sources. This makes JReps an ideal tool for web-enabling applications.

JReps consists of three distinct building blocks:

Visual Controls
are components that are displayed to the user. A huge number of controls such as edit, tree, list, query and mail can be programmed in JReps.

are components that are used to link business logic and data stores to JReps. All data and logic stores including databases, flat files, XML documents, stored procedures, EJB (WeblogicTM, WebsphereTM...), Perl Script, etc. can be accessed using adapters.

Configuration files and Definition tags
are used to program the presentation logic. Properties of visual controls and adapters and their inter-relationship are specified in configuration files.

A significant part of programming in JReps involves assigning values to properties of visual controls and adapters. This is done using JReps' configuration files and definition tags. Configuration files can be programmed as text or XML files and can also be database driven. This gives the software engineer complete flexibility in designing the application. The definition tags are used to redefine specific instances of visual controls and adapters. They are coded in HTML or XML documents.

The configuration files and definition tags are interpreted by the JReps engine, which converts them into web pages and services the requesting client. Most visual controls and adapters are pre-fabricated. Customized visual controls and adapters can be created, if required.

The rendering engine is responsible for presenting data to various clients. It creates XML for web services and HTML for web browsers. In the next release, the engine will be able to present data to devices such as cellphones and PDAs.