Wednesday, December 8, 2010

Swing applications to web

This is my first post on WEBc Developers Blog :)

Hi All, This is my first post on Developers blog of WEBc Project. I'm proud to be a team member of the such a big and research based project. First of all, I want to say litle bit about me. :)

In my profession, I'm a java based web application developer. But I have a big interest in law-level languages like C and C++. Because those languages are very powerful than high level languages. Currently I'm doing some researches in compilers, web services and middlewares.

These days I'm working on a specific sub project, which wants to display swing based stand-alone applications on web browser and working as real swing application on web. I did a survey about existing developments on this area and I found some proper implementations.

Actually our main target is display swing applications using AJAX/HTML scripts on web browser and handle communications with front-end and back-end using HTTP-Requests and HTTP-Responses. Most important thing is, It must be efficient communication between web browser and server.

There are several projects for this area. Some are open-source and some are proprietary. Ajax Swing is a good commercial product for this. AjaxSwing is supports for the awt and swing based application. this project is based on free, Web-Cream project. It has both free and commercial versions. Using Web-Cream, we can convert awt application to AJAX/HTML based web sites automatically. Most Important thing is, It converts almost all of awt components such as button,table,frames to Ajax/Javascrypt based applications.

Another one of the good project is XML11, An Abstract window protocol. This project is fully opensource project with GPL licence. XML11 is researched by Arno Puder and who is a good researcher on these areas. This project is also using AJAX/Javascript based user interface to display awt applications on user's web browser. The main idea is that a web browser serves as a generic client just like an X-Server can render any user interface. This is bit different from Web-Cream project. Most important thing is, using XML11 protocol to communicate with server.


Architecture of XML11

XML11 has several important components to work successfully .
  • SessionManager
  • Awt Manager
  • Model Manager
  • event Manager
Above components are most important to manage AWT applications as AJAX/Javascript applications on web. you can find out more details from XML11 Documentation.

I found several another solutions called SwingWeb and this also a Opensource project. Bringing to Swing to web is an another solution for this problem. Unfortunately I hadn't enough time to search all those. Next time I will publish a more detailed article.

Cheers.!!