What is this all about?


WidgetServer is a component based, server-side, Java/XML rich-client-framework which enables an application to run as either

- an application with a rich Web client based on AJAX (HTML, XML, CSS, Javascript)
- an application with a simple Web client based on HTML and CSS
- a standalone application with a Swing GUI,
- a client/server application with a thin Swing client,
- or a mobile application on different devices like PDAs or Smartphones


without any change and without loss of functionality!
WidgetServer gives you the choice if you develop a GUI either using

- HTML markup templates,
- a Java API like Swing,
- XML markup
- or any combination.

WidgetServer provides a clean, object-oriented Java programming interface for Web and Swing GUIs. The framework prevents from struggling with browser specific HTML, JavaScript and HTTP requests or from caring about the internals of Swing.
For Swing client/server applications the framework handels the client/server split by using the half-object pattern. Client/server communication including compression and security is covered by the framework also.
Web applications are completely and transparentely AJAX enabled, while the use of this feature remains fully configurable.
A Multi-Channel-Mode enables one server to serve Swing clients and Web clients at the same time.

The framework also covers areas of data-binding, persistence, threading and synchronisation.

The project comes with a WYSIWYG GUI-builder which is completely built on the WidgetServer framework technology. An early version of an eclipse-plugin has been released:


What is different?

- WidgetServer handles various client technologies with a single API
- A powerful, template based rendering engine offers full control over the generated HTML/CSS code, whenever needed
- AJAX is integrated transparentely but can be switched off by configuration completely or for specific (e.g. mobile) browsers only
- Most GUI event types are supported (Action, MouseMove, Click, KeyPressed, DoubleClick, Select, Scroll, Drag, Drop, ...)
- A plugin-concept makes the WidgetServer component-set easy to extend
- WidgetServer is mostly server-side processing. The JavaScript library has only about 1000 lines of code - it is fast and effective

When to use?

WidgetServer's effectiveness in building complex GUIs is a real benefit for rapid requirement capturing, prototyping and agile software development approaches.
Whenever you have to develop complex WEB-GUIs for professional users like Call-Center agents for example, WidgetServer is worth to be taken into consideration.

License

The WidgetServer framework is available in two different versions. A commercial one, which has a highly optimized rendering and communication engine. And an open source version, which offers widely similar functionality but with lower performance. See the feature matrix for the differences. Applications run unchanged with both versions of the framework. So upgrades from the open source to the commercial version and downgrades in the other direction should be possible at any time!

The open source version is released under the terms of the LGPL. All tools and examples like WidgetServer-builder, WidgetServer-deploytool are distributed under the terms of the CPL or at your choice under the terms of the LGPL.

WidgetServer commercial release is distributed free of charge as binary package under a proprietary license, but it is not OpenSource. To enable our customers to get most benefit out of the technology package, we offer several professional services like:

- Training and Coaching
- Consulting on project initialisation and system architecture
- Automated testing
- Individual software development on a fix price basis

Depending on your requirements we offer a source code license and support separately or in combination with our consulting- and project-services.

Fore more information about us and our service-portfolio please refer to:



More

To get a more detailed view on what WidgetServer is and how it can help you to achive your project targets, please visit the objectives page and download the current release here: