Tersus simplifies web application development by using a single visual language for defining user interface, client side behavior and server side processing.
To create web applications with a rich, responsive user interfaces, Tersus employs AJAX techniques "under the hood".
The Tersus Platform
- Tersus Studio, a development environment used by modelers (developers and business experts) to graphically define the functionality of applications. Tersus Studio is an extension of the Eclipse platform;
- Tersus Model Libraries, containing building blocks for assembling applications;
- The Tersus Server, which executes the modeled solutions and performs the required database updates (can run over a J2EE application server).
Creating an application is done by defining a hierarchy of visual models, in which each model may be composed of lower level components. The developer 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. Employing an “infinite drawing board” that displays graphically the whole model hierarchy, it is possible for the developer to fully and precisely specify the required business logic in a visual and intuitive manner.
Deploying the application, once modeled, is immediate. The models, saved as XML files, are read by the Tersus Server, which executes the functionality defined by the models (including user interface, client-side behavior and server-side processing). For debugging and troubleshooting purposes, it is possible to record the full details of the execution.
Maintaining an existing application is done by amending its model – changing the business flow, adding new components, or disabling redundant components. Upon completion of the required modifications, the application can be redeployed immediately.
- Application logic is visually defined by hierarchical model diagrams.
- The models are saved as XML files.
- Tersus Studio is an extension of the Eclipse platform.
- The studio contains an on-line tutorial with pre-prepared sample applications. A future release will also contain on-line help.
- Unified modeling language and modeling tool are used for all system layers: GUI and client-side behavior, business processes, process flow, data, data flow, data transformations & database actions.
- On-line validation of the models provides immediate feedback to the modeler.
- Built-in library of common data types, GUI templates, processes templates and generic application modules.
- Add-on libraries to handle database access, XML documents, Excel files, e-mails, etc.
- Ability to wrap existing code as a Tersus plug-in which can then be used as if it were part of the built-in library.
- Built-in ability to use external Web Services.
- Support for multiple languages (while modeling and in the resulting GUI).
- The model serves as a self documentation of the application (you can also add a free text description of each model).
- Ability to reuse any model in multiple contexts.
- Support for “rolling development” (deferring the implementation of some parts of the solution without compromising the proper model hierarchy).
- Flexible role-based user permission mechanism with arbitrary granularity.
- Support for multiple modelers working on multiple projects (using CVS repositories).
- Libraries, modules and full applications are saved as collections of XML files.
- Tersus Software manages a Model Exchange through which such model collections can be shared. Tersus Software and other contributors can upload model collections to the Model Exchange.
- Users can download libraries or other model collections from the Model Exchange.
- Downloading is either free of for fee, depending on the commercial terms of each contributor.
- Downloaded models can be run as is or be used for building new applications.
Testing and Debugging
- The studio contains an embedded application server (Tomcat) and an embedded database server (HSQL DB), which allow for instantaneous automatic execution of the modeled applications.
- External application server (e.g. Apache Tomcat or a J2EE application server) can be used to deploy applications operationally.
- Independent database servers can also be supported using "plug-in" adapters. An adapter for MySQL is included.
- End-users only need a browser to use the application (Microsoft’s Internet Explorer or the open source Firefox browser).
- When an application is executed, important events and errors are reported to a log file.
- It is possible to record any step of the execution and later trace the details of execution (useful while developing a new solution or for debugging).
- Tracing is displayed graphically on the model diagrams, showing both process flow and data values.
- The user can view the tracing at high-level diagrams only or drill down to any level of the model.
- Tracing can be played forwards (to see the natural execution flow) or backwards (for root cause analysis).
Develop Rich Web & Mobile Applications … and Other Types of Software
But Tersus is a general purpose platform that can be used to develop a variety of software solutions. The Tersus technology has already been used successfully to develop a range of software solutions, from small tactical applications to high-end, mission critical systems.
With Tersus you can develop any of the following:
- Stand-alone applications
- Mobile applications
- Integrated solutions (we call these Appligrations™ = "application of integration")
- Back-office server-side systems (with no GUI or minimal GUI)
- Enterprise 2.0: Client-server web applications with rich browser interface
- Mixture of automatic processing and human interactions
- Asynchronous, event-driven processing (e.g. message based)
- Composite applications assembled from any combination of built-in components, self developed components and Web Services
- Tactical rapidly developed application
- Enterprise scale and distributed systems
- Building and running a first web application within minutes
- Online validation of your application model
- Using external web services as built-in building blocks
- Automatic deployment from the Tersus Studio
- Visual Debugging
- Not only English – support for any language
- Model Exchange for sharing libraries, modules and applications
The documentation section of this site will help you learn more about the Tersus Platform: