Thursday, 19 January 2017
Oct 21, 2016
The German energy provider Westnetz has chosen ULTRA4 to implement
read more
Jan 01, 2016
ULTRA4  extends its innovative Meeting and Collaboration platform,
read more
Aug 20, 2015
ULTRA4 develops a new credit card workflow system for Airplus ...
read more
May 17, 2013
UltraCore has been
extended by generic
layout-algorithms ...
read more
February 4, 2013
ULTRA4 has been
contracted by one
of the leading German ...
read more
June 20, 2012
ULTRA4 is implementing
an interactive map
application for the ...
read more
June 6, 2012
The cooperation between
Syna Ltd. and ULTRA4 cont.:
logistic planning system...
read more
March 10, 2012
Syna Ltd. has chosen
ULTRA4 to develop a
circuit switching ...
read more
September 1, 2011
ULTRA4's Web conferencing
and Meetings solution
Join2Meet is online...
read more


Please read our articles...

Tag >> Modularity

Modularity, the obstacles

Posted by: Kostas in Modularity on


Our goal has been to achieve real modularity in a web application. This means, the capability to take an implemented module and to directly call and use it, not only inside the same application twice, but also inside another web application.

If you analyze this situation, it is far from trivial. We think therefore, until now, it has never been implemented or achieved. In order to re-use the module of the other application, the following large obstacles arise:

  • The current app tries to access another app with its own user management access control
  • The current app is deployed inside its own context, doesn't have deployed environment available of the other app

To overcome these obstacles, the current application should be able to transparently logon to the other application. It should be possible to hold an active session to that application, so that it gains access rights but also statefull access to this  application.

With modularity at the presentation layer, we mean the capability to re-use a dialog or comibination of dialogs inside the same or another application. The major obstacles/challenges for such functionality are:

  • Presentation layer logic is connected to business logic, which is strongly dependent on its deployment environment
  • How to return control to the caller of the re-usable dialog

With UltraCore, we allready managed to execute logic of one application inside the context of another application. We extended this capability with a so called GUI proxy feature. This means, a certain GUI, receives its events within the current application, but can forward the events to a proxy GUI running inside another application. This completely removes the first obstacle, allowing the GUI events and thus the business logic, to run in the context that it has been made for.

The second obstacle has been overcome by introducing the concept of return points. This can be seen as a stack oriented approach. A caller can register itself as a return point. Then it calls the re-usable GUI logic. This GUI logic doesn't have to know anything about the caller's implementation. It will just return the control to the last registered return point. It can also issue a loose coupled event on the object that will take over the control. In this way also allowing for return of feedback from the dialog. The caller can decide to implement a listener for the result or not.