RISE Editor

Last updated
RISE Editor
Developer(s) R2B Software AB
Stable release
4.5.0.9 / March 8, 2012;11 years ago (2012-03-08)
Operating system Microsoft Windows
Available inEnglish
Type Information System Development
License Freeware
Website www.r2bsoftware.com www.r2bsoftware.se

The RISE Editor is a free information modeling tool for information system development based on model driven development. Functionality includes automatic interface composition, database generation and updates, data insertion, programming interface publishing and web service generation. The modeling takes place in entity relationship diagrams (ERD). The layout for these diagrams can be changed to relational database or unified modeling language (UML) with the functionality staying the same.

Contents

Philosophy of RISE

The purpose of RISE is to make information system engineering a more manageable process. Technically speaking, RISE is a model-driven engineering (MDE) tool with semantics and functionality that is specialized for the application-domain of information systems. The model in RISE is more than an information model, it's an information model complete with the methods needed to govern the use of the information in the model. Such a model is referred to as a MIM, or managed information model. Using code generators a managed information model is automatically transformed into a system. All in all, this is what's commonly referred to as a model-driven architecture.

A domain is a suitable candidate for model-driven engineering if different solutions for the domain show noticeable similarities. A good model-driven engineering tool is one that focuses on and addresses these similarities whereas a bad model-driven engineering tool is one that diverts attentions from the problem domain. The domain of RISE, information systems in the sense of database-centric systems managing business information, is an obvious candidate for model-driven engineering. Below are some examples on how RISE boosts efficiency and simplicity in the engineering process simply by adhering to the specifics of the domain.

The DRY (Don't Repeat Yourself) [1] principle states that "every piece of knowledge must have a single, unambiguous, authoritative representation within a system". In essence, unnecessary duplication of information such as business logics, rules, configuration, etc. decreases clarity and predictability of a system. Redundancy always poses a risk of causing inconsistencies and contradictions. This said, DRY is a principle that most developers adhere to even though some might be unfamiliar with the term itself.

RISE is currently used at e.g. Bundeswehr University Munich, Universität Zürich, and Università di Bologna.

Code Generation

The RISE suit provides a range of code generators for transforming RISE models into software. A RISE code generator is a separate software application that operates on a RISE model (XML file) and produces some kind of output. There are two main categories of code generators: database script generators and application source code generators. RISE code generators can be launched in several different ways:

Database script generators The database code generators write incremental scripts for creating, and updating, relational database models based on the RISE model. A RISE model contains - unless it's been refactored the entire life-cycle of the data model. The code generator translates this life-cycle into an incremental database specific script. Currently, code generators for SQL Server, MySQL and PostgreSQL are available.

Application source code generators The application source code generators render code, in a particular programming language, for working with databases based on the same RISE model. The generated code includes classes for managing database access and for publishing the access layer as web services. Both SOAP and JSON style web services are supported. Currently, two languages are supported C# (.NET) and PHP. The C# for ODBC code generator outputs code handling three databases (SQL Server, MySQL and PostgreSQL). For PHP there are two different code generators, PHP for MySQL and PHP for PostgreSQL, creating source code using the respective database native driver.

There is also an AJAX code generator for RISE. It renders JavaScript source code, that uses jQuery, for accessing JSON enabled web services in Rich Internet applications or AJAX applications. The generated code is compliant with any JSON enabled web service, .NET as well as PHP, generated from the same RISE model.

Major features

1) The utility tool and import functionality works with most ODBC compliant databases. Note, this includes databases for which there are, currently, no code generators.

See also

Related Research Articles

<span class="mw-page-title-main">PostgreSQL</span> Free and open-source object relational database management system

PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.

Structured Query Language (SQL) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). It is particularly useful in handling structured data, i.e., data incorporating relations among entities and variables.

FileMaker is a cross-platform relational database application developed by Claris International, a subsidiary of Apple Inc. It integrates a database engine with a graphical user interface (GUI) and security features, allowing users to visually modify a database. Versions for desktops, servers, iOS and web-delivery have been released.

A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code. DSLs can be further subdivided by the kind of language, and include domain-specific markup languages, domain-specific modeling languages, and domain-specific programming languages. Special-purpose computer languages have always existed in the computer age, but the term "domain-specific language" has become more popular due to the rise of domain-specific modeling. Simpler DSLs, particularly ones used by a single application, are sometimes informally called mini-languages.

Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.

<span class="mw-page-title-main">Mantis Bug Tracker</span> Bug tracking system

Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.

<span class="mw-page-title-main">LAMP (software bundle)</span> Acronym for a common web hosting solution

LAMP is an acronym denoting one of the most common software stacks for the web's most popular applications. Its generic software stack model has largely interchangeable components.

An entity–attribute–value model (EAV) is a data model optimized for the space-efficient storage of sparse—or ad-hoc—property or data values, intended for situations where runtime usage patterns are arbitrary, subject to user variation, or otherwise unforeseeable using a fixed design. The use-case targets applications which offer a large or rich system of defined property types, which are in turn appropriate to a wide set of entities, but where typically only a small, specific selection of these are instantiated for a given entity. Therefore, this type of data model relates to the mathematical notion of a sparse matrix.

ER/Studio is data architecture and database design software developed by IDERA, Inc. ER/Studio is compatible with multiple database platforms and is used to create and manage database designs, as well as to document and reuse data assets. In 2015, Embarcadero Technologies was acquired by database and infrastructure management software company IDERA, Inc. Since the acquisition by IDERA, Inc., ER/Studio has been renamed to ER/Studio Data Architect with updated features.

Qcodo is an open-source PHP web application framework which builds an object-relational model (ORM), CRUD UI pages, and AJAX hooks from an existing data model. It additionally includes a tightly integrated HTML and JavaScript form toolkit which interfaces directly with the generated entities. It is a robust, comprehensive framework which can be utilized by small and large Web applications alike.

A MultiValue database is a type of NoSQL and multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system.

phpCodeGenie is a code generator for web applications. Once the user designs their database tables, phpCodeGenie generates the scripts and programs. It will build data entry forms, insert scripts, database lister scripts, edit record forms, update record scripts, delete confirmation scripts, delete scripts, search forms, search scripts and other frontend/database interaction code.

The following tables compare general and technical information for a number of available database administration tools. Please see individual product articles for further information. This article is neither all-inclusive nor necessarily up to date.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

<span class="mw-page-title-main">Scriptcase</span>

Scriptcase is a Rapid application development platform that works as a code generator for PHP web applications, and is based on the same script language. It is web oriented and can be installed on an intranet or internet server. Developers use a graphical interface to design and generate code. The software was developed by NetMake in 2000 and can be used on Mac, Windows, and Linux operating systems.

<span class="mw-page-title-main">Apache Drill</span> Open-source software framework

Apache Drill is an open-source software framework that supports data-intensive distributed applications for interactive analysis of large-scale datasets. Built chiefly by contributions from developers from MapR, Drill is inspired by Google's Dremel system. Drill is an Apache top-level project. Tom Shiran is the founder of the Apache Drill Project. It was designated an Apache Software Foundation top-level project in December 2016.

<span class="mw-page-title-main">Enterprise Architect (software)</span> Visual modeling and design tool

Sparx Systems Enterprise Architect is a visual modeling and design tool based on the OMG UML. The platform supports: the design and construction of software systems; modeling business processes; and modeling industry based domains. It is used by businesses and organizations to not only model the architecture of their systems, but to process the implementation of these models across the full application development life-cycle.

<span class="mw-page-title-main">DBeaver</span> Multi-platform database administration software

DBeaver is a SQL client software application and a database administration tool. For relational databases it uses the JDBC application programming interface (API) to interact with databases via a JDBC driver. For other databases (NoSQL) it uses proprietary database drivers. It provides an editor that supports code completion and syntax highlighting. It provides a plug-in architecture that allows users to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. This is a desktop application written in Java and based on Eclipse platform.

References

  1. Dave Thomas, interviewed by Bill Venners (2003-10-10). "Orthogonality and the DRY Principle" . Retrieved 2010-10-11.