RADICORE - Rapid Application Development Toolkit

RADICORE is an open source Rapid Application Development Toolkit for building Administrative Web Applications, sometimes known as Enterprise Applications, which are platform independent, browser independent and database independent.

It is based on a combination of the 3 Tier Architecture and MVC Design Pattern and comes with pre-built and reusable components in the data access and presentation layers.

  • The Data Access Object comes pre-built and will generate all SQL queries at runtime.
  • The View component is managed by a pre-built collection of reusable XSL stylesheets which generate all HTML output.
  • The Controller component is managed by a pre-built collection of reusable scripts which handle all communication with the user and any Model components.
  • The Model component is initially created from the Data Dictionary, but then can be modified to include any business rules. Code inherited from a superclass handles all communication with the Data Access Object.

The reusable View and Controller components come in matched pairs in order to implement each of the Transaction Patterns. The RADICORE framework thus removes the need for developers to spend valuable time in writing repetitive SQL and HTML code, which means that they can devote 95% of their time on the most critical part of any system - the business rules.

The RADICORE framework also contains a collection of pre-built components which are runnable 'out of the box':

  • A Data Dictionary into which you can import your database schema(s). This is used for the following:
    • To generate the initial class file for each Model component.
    • To generate the table structure file which is used for all primary data validation which is performed automatically by the framework.
    • To generate transactions by pressing a button instead of writing any code.
  • A Dynamic Menu system which takes the drudgery out of coding a hierarchy of menu screens. Menu screens are filtered at runtime to remove all tasks where the relevant permissions have not been granted.
  • A Role Based Access Control system which allows access control lists to be defined and customised for any number of users and user groups.
  • An Audit Logging system which will record all database changes in a central AUDIT database without the need for database triggers, and allows this data to be viewed with a standard set of online screens.
  • An activity-based Workflow system which will allow the execution of any transaction to automatically set in motion a chain of other transactions.
  • Internationalisation facilities which will allow screen labels and error messages to be supplied in different languages without having to modify any core code.
  • An integrated HELP facility can provide help text on any topic in multiple languages.
  • A set of prototype applications which provide working code samples which cover many situations.