- Online Demo
- Java/ExtJS framework -
WebTop Services is a ready to use
Web2.0 development framework designed
to easily deploy rich desktop-like applications inside a Web Desktop.
Sonicle developed this framework while working on a new updated version
of its WebTop collaboration solution, in use by its customers for 10
During the development of the groupware features, the abstraction of
each service allowed for a new design, where the Web Desktop becomes a
container for an arbitrary number of services, and each service is an
application inside a common environment.
WebTop Services becomes a starting point where many aspects of the
application are already managed, so that developers of the services can
focus on their own service features reusing and extending the framework.
The framework is written in Java on the server.
ExtJS has been chosen as the main Ajax library for the browser
JSON is the main client-server data format.
Postgres is the main server database.
Authentication is managed by WebTop, allowing
various schemes to be adopted thanks to a modular library based on JAAS.
WebTop domains may be configured to manage different authentication
schemes (webtop, imap, smb, ssh, etc.).
Upon WebTop authentication, the framework mantains the WebTop session
and profile, creating the necessary service objects available to the
user, both on the server and on the ajax client, preparing the Web
Desktop on the browser with the user locale,
language, theme and preferences.
A service consists of mainly two components: a
Service Java class on
some simple rules and extending the base objects, you will be able to
plug your own service just by packing your service files into a jar,
deploying it in WebTop and describe your service on the database.
The framework server components manage every ajax request through few
main Java servlets. These will find the needed Service instance and use
Java reflection to call the requested method.
No need to write servlets, just write WebTop Services.
As a full citizen of WebTop, your server service class partecipates to
various WebTop automatic activities, such as being polled for
asynchronous events to be presented on the client.
Your client service object is responsible for the rich interface. When
a service is requested by the user, WebTop will make it active and plug
the service interface into the desktop.
The developer need just to implement few ExtJS panels and follow some
As a full citizen of WebTop, your client service object will integrate
in various aspects of the client interface, such as plugging into the
user settings, run managed internal windows, be called upon server side
events, and more.