Modeling Applications with JRapid

From JRapid

Revision as of 12:37, 2 June 2011 by Christian (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Model-Driven Development (MDD) is a methodology in which the emphasis is placed on correctly structuring the abstracted objects and their relationships in a particular application as opposed to leading with algorithms and business logic. This approach gives a consistent foundation upon which to later add business logic and expand the functionality even across many different teams.

JRapid makes use of the principles of MDD to simplify application development. The model for the application is defined in a JRapid Model Language (AML) document, and from there database tables, entity objects, and even front-end user interfaces are created automatically. JRapid’s web-based designer tool is an intuitive, point and click graphical interface linking all your modeled elements together and generating AML without coding.

JRapid provides abstraction to common application patterns that are found repeatedly when designing software. Use of easily identifiable patterns allows you to model your application with great flexibility. The following picture shows each pattern available to you in a sample application.

Application Patterns


Entities are nouns such as company, product or employee. Entities contain properties and model the objects of your application, residing in the underlying database tables.


Properties are the fields and values that make up entities. JRapid supports many different types of data from integers and strings to dates, times and telephone numbers out of the box. Properties can also be other entities which allows you to create relationships easily between your entities.


Panels are HTML pages that give you the freedom to add additional patterns to a particular page and order them in a layout that makes sense for your particular needs. They are incredibly flexible as they are standard HTML pages. Column and accordion style layouts are provided for quick development.


Listings are patterns used to display a set of entities stored in the database. You can also create listings and embed them into other entities.


Subsets are patterns that allow you to limit the collection displayed in a listing. A collection containing all entities may be restricted to only show active records for example.


Filters also restrict listings, but in addition create the UI interface and web services that allow the user to affect the listings dynamically. Filters are used to give the user the flexibility to dynamically restrict the listing themselves.


Actions are patterns that allow a user to do something and interact with the application. These action hooks can be used to open a different screen and provide an easy way for the user to get relevant information. Actions can trigger listings, reports and javascript functions in addition to related entities.


JRapid provides Jasper Reports integration so that users can quickly access information in several very useful formats such as PDF, HTML and XLS. A graphical report creation tool, iRerport, is provided by JasperReports so report creation is painless.


Menus allow you to organize screens and functionality in a manner that makes sense for each particular application.


DefaultSets allow you to create initial or default values for entity forms. If you want a data field to default to today’s date or a company field to default to the parent company you can do that with defaultsets.


EnumSets are collections of enumerated, fixed values for a property. These can be created once and used in many places, and can be set to require a single value or allow multiple selections.

See also

Personal tools