Automatic Conversion of Desktop Applications To Java Web Technology
Automatic Conversion of Desktop Applications To Java Web Technology
Abstract. This paper analyses the problem of based software development has been proven as
automatic conversion of legacy desktop applications useful technique to develop an application. However,
to Java web applications with emphasis on how such the development of a framework itself is considered
conversion methodology can help in migration of complex due to its large size and the vague
legacy desktop developers to modern web requirements. [3]
development. Authors explain how automatic
converter can enable desktop developers to start
delivering new web applications immediately without 2 Desktop vs Web Development
knowing complex web technologies.
Finally, the paper will show that after conversion Before the World Wide Web was established, desktop
of legacy applications to web technology, it is also applications ran locally on computers and users had to
possible to enrich converted applications with modern manage their installation for any update, download,
web and business functionalities. installation, etc. Later, accessibility through the web
began to be used to develop applications that support
Keywords. Desktop2web converter, business web business processes – those applications are called
application, web framework, Java web development, business web applications.
rapid application development (RIA), desktop Web application is a client-server application that
application, migration, converter, conversion, uses a web browser as its client program. It delivers
automatic code generation interactive services through web servers distributed
over the Internet (or intranet). A web application can
present dynamically tailored content based on request
1 Introduction parameters, tracked user behaviors, and security
considerations. [4]
Authors of this paper explored the benefits of
automatic conversion in the process of migrating
legacy desktop applications and legacy developers to
web development. The migration refers to teams that
develop desktop applications, either having graphical
user interface (GUI) or text mode user interface
(TUI), but want to develop in a web environment.
When considering strategies of legacy system
modernization to web development, it is important to
preserve advantages of the legacy system, such as its
high business value and good quality code, but also to
take care of other issues like maintenance and
upgrading. The most appropriate strategy that meets
these objectives is the migration strategy.
The migration strategy is the approach that moves
the entire legacy system and its core framework to the
new environment while preserving the original Figure 1. Technical difference between desktop and
system's data and functionality. [2] web development
Authors propose Evolution Framework as a
concrete Java web framework that must exist for the
purpose of the automatic conversion. Framework-
The biggest difference between developing user and a desktop application), is one of the most
desktop and web applications is in the way the user popular technologies for web applications. [4]
interface is built and how it works, as seen in Fig. 1. Creating a user interface in a way that complete
Many authors argue the importance of user interface code is written from scratch is appropriate for small
design within the overall application development. [6] web applications, but for enterprise applications
[7] which consist of hundreds or thousands of different
forms such development is a very slow process prone
2.1 The architecture of desktop user to errors and, in the end, very expensive and hard to
learn. Significant improvements in software
interface development efficiency are achieved by automatic
code generation which ultimately results in higher
User interfaces for enterprise desktop applications are
productivity and uniformly high quality. [1]
designed in a visual editor provided by some of the
desktop technology: Visual Basic, Delphi, Visual C++
or some 4GL tools like Panther (Prolifics).
When it comes to writing the code for the form, 3 Business aspects of migration to
developer's code typically handles events on the form. web development
The very first event that developer handles is usually
the one that happens when the form is displayed to the During the process of migration there are certain
user for the first time and the developer wants to business aspects that must be considered by
initialize it. Later on, the user will click on a button, development department and its management:
or double-click a row in the grid, or press a keyboard Aspect 1: a protection of business know-how.
shortcut, and the code should handle these events Outsourcing partners is a common case during the
interacting with a database or external services in a process of migration, but outsourcing the
multi-tier systems. development of business functionalities implies
giving away knowledge about company processes and
2.2 Characteristics of web user interface plans. Therefore, it is important to protect the
business know-how.
When developing web applications, designing the Aspect 2: a protection of existing workforce. The
user interface is much more complex. Developing a existing development team has many advantages that
web-based user interface can be quite tedious, it is a a company wants to retain:
distributed program which has to run in a hostile - they have a huge business know-how gained through
environment. The web application user interface is the many years of working in the company,
way through which the web user communicates to the - they have a good relationship and communication
web system. Web applications are essentially client- with application users across the company,
server applications - there is always a web client. [8] - they are the only ones who are versed in existing
When web applications are developed with web business applications and can fix or upgrade them
framework that doesn't provide a visual editor, quickly,
programmers have to write the form layout character - they are very efficient in desktop development and
by character, tag by tag, using HTML, CSS and excellent as a team.
JavaScript code. Some web frameworks do provide Aspect 3: continuous delivery. As company
visual editors that generate HTML code, but they are processes are evolving, the existing development team
just partly helping to make HTML code while has to maintain current enterprise applications and
programmer still needs to touch up generated HTML spend time on upgrading them constantly. This means
code manually and after bigger manual changes some they don't have enough time to learn new complex
visual editors cannot load modified HTML pages web technologies from scratch. This brings into
again. question the need to learn web technologies quickly
Another important aspect of web development is and start delivering new web applications without
communication. Web architecture requires the use of slowing down current development and delivery.
HTTP to send an initial form layout to a web browser. Hiring new people is often not an option because it
Then, when a user clicks a button, AJAX technology represents an additional cost.
has to be used in the web browser to call the event Aspect 4: reuse of existing applications. Over time,
code on the web server to interact with the database. current enterprise desktop applications is difficult to
Finally, developers have to return the update maintain because the old technical knowledge will be
information from the web server to the web browser lost and old software or old hardware support will be
to update form layout, e.g. the data grid with new data discontinued. Usually, there are thousands of desktop
rows or input fields with new values. AJAX forms in action. Some applications are still being
(Asynchronous JavaScript and XML), which supports upgraded very often and the migration process must
an immediate dynamic interaction between a user and allow to continue improving and upgrading them on
a web application (similar to the interaction between a web technology.
Aspect 5: a complete framework for the efficient
development. It is recommended that web
development framework is powerful, built for
enterprise environment and has a visual editor for
forms. Also, if framework includes popular features
that are required for modern enterprise web
applications, this additionally contributes to the
efficiency of development. These days users demand
not just grids with data and forms with input fields but
also document management, workflow and task
management features, reporting to different file
formats such as PDF or Excel, integration with e-mail
and web applications which must also work on mobile
devices and tablets.
Aspect 6: focus on solving business issues, not
technical issues. Business programmers must be
focused on solving business issues and not on solving
technical problems in the web environment. The web
framework must hide the complexity of web
architecture and web technologies. Figure 2. Evolution Framework tools
References
Figure 10. Converted form layout in Evolution [1] Burke P. and Sweany P., Automatic Code
Framework's visual editor Generation Through Model-Driven Design, 20th
System and Software Technology Conference,
Las Vegas NV, 2008.