Version RC1

Motivation

Web application frameworks are still ineffective and require a lot of effort. According to latest estimates, 70% of programming time is spent on the UI component of web applications. CloudaIDE aim is to cut the time spent on UI development without a steep learning curve.

Overall Architecture

CloudaIDE is a Business Application Framework built on top of GWT. It embraces all layers including the database, the application server, and the client. UI is built with enhanced GWT widgets. Screen interaction follows a modified Oracle Forms behaviour. An user can work with CloudaIDE following the usual Oracle forms habits.

User Interaction is programmed using Mroovka Trigger language. It is a subset of PL/SQL. The idea is to perform all necessary calculations on the client before doing any remote requests. Mroovka Trigger language hides all asynchronous processing from the application programmer. The compiler of Mroovka Trigger language converts it into a Java code that is eventually translated by GWT into JavaScript. It enables the use of GWT by programmers that know nothing about Java. Mroovka Trigger language is database aware. It specifies stored procedure calls the way it is done in Stored Procedure Languages. All translation, synchronization, and remote data delivery is carried out by the system.

CloudaIDE programming tools utilize Eclipse. The primary web application server is Jetty. Database targets are Oracle, FirebirdSQL and PostgresSQL. One of the architectural decisions made is to use a spectrum of "moving parts" which is as small as possible, but not too small. CloudaIDE relies internally on GWT, the Spring dependency injection, Eclipse, CAS and ANTLR. The CloudaIDE programmer does not have to know anything about those tools and is free to choose other components to extend CloudaIDE.