World Library  
Flag as Inappropriate
Email this Article

Tersus

Article Id: WHEBN0013826750
Reproduction Date:

Title: Tersus  
Author: World Heritage Encyclopedia
Language: English
Subject: Web development, Dataflow programming, List of Eclipse-based software, List of rich Internet application frameworks
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Tersus

Tersus Visual Programming Platform is a general purpose software development platform that enables the development of applications, mainly rich web applications, by drawing flow diagrams instead of writing code. It's dual licensed as open-source and proprietary software.

The Tersus Modeling Language is a visual language for defining user interface, client side behavior and server side processing. The language shares many features of dataflow programming languages.

When used for web development, Tersus can be classified as Client Side + Server Side (using AJAX techniques). The modeled applications are executed by the Tersus Server.

Tersus Studio is an IDE, an extension of the Eclipse platform, used by developers (modelers) to graphically define the functionality of applications.

The platform also contains a visual debugging capability. The Tersus Server can record every step during the application’s execution, and this recording ("trace") can then be played back in the Tersus Studio to view the flow of the application and the value of each data element.

Both the Studio and the Server are available on a variety of platforms, including Microsoft Windows, UNIX, Linux, and Mac OS X. The latest stable version of Tersus is version 2.1.8.2, released in May 2012.

The Tersus Visual Programming Platform version is published under the GPL v2 license.[1] There's also a Tersus Enterprise Platform version under a commercial license providing additional integration features and support.[2]

Concept

An application is defined by a hierarchy of visual models, where high level models are composed of lower level components. The developer (modeler), employing an “infinite drawing board” that displays graphically the whole model hierarchy, starts at a top-level diagram representing the whole system, and then continues with an iterative top-down refinement process, drilling down from each model to specify its components. At the lowest level, a library of atomic building blocks is used, including, among others, data types, GUI elements, mathematical functions, database actions, and document handling actions.

Processes (and in certain cases also display elements) can receive and send out data through input "slots" ("triggers") and output slots ("exits"). The flow of data between processes, as well as the sequencing of processes, is governed by "flows" (visually represented as arrows connecting model elements).

When developing a web application, the high level models define the application's screen layout and GUI, using "display elements" (text displays, links, buttons, tables, images, etc.). Lower level models define the application's logic, using "data elements" and "process elements".

Architecture

The platform includes:

  • Tersus Studio, the IDE used by modelers. It manages projects, each containing the models and resources of one application. The application models are saved as a set of XML files, each containing the details of all models in a certain package within the project.
  • Model Libraries, containing building blocks for assembling applications.
  • Tersus Server, which executes the modeled applications and performs the required database updates. It contains an embedded application server (Tomcat) and an embedded database server (HSQLDB), which allow for immediate testing of the modeled applications. External application servers and database servers can be used to deploy applications operationally.

The Tersus Studio and Tersus Server are implemented in Java, while client side behavior is implemented by Javascript and HTML which are generated by the Tersus Server according to the model.

End-users invoke the applications from their browsers (for web applications), or directly from their mobile devices (e.g. for native iPhone applications).

Features

  • Language independence (model names and GUI can be in any language)
  • Model templates and model prototypes (templates with constraints)
  • User-defined data types (data element with restricted content)
  • Importing WSDL definitions of web services as Tersus building blocks
  • Look and feel customization through CSS
  • Visual debugging (tracing) by playback of application execution
  • Automated testing through the definition of "test suites"

References

External links

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.