<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Practical Aspects of Rich Internet Application Development and Quality Factors: RIA-based Decision Support System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Wieslaw Pietruszkiewicz</string-name>
          <email>wpietruszkiewicz@wi.zut.edu.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dorota Dzega</string-name>
          <email>ddzega@zpsb.szczecin.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Introduction to Rich Internet Applications</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>West Pomeranian Business School, Faculty of Economics and Information Technology ul. Zolnierska 53</institution>
          ,
          <addr-line>71-210 Szczecin</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>West Pomeranian University of Technology, Faculty of Computer Science and Information Technology ul. Zolnierska 49</institution>
          ,
          <addr-line>71-210 Szczecin</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this article we present the practical aspects of RIA (Rich Internet Application) development and selected quality factors. In the first part of this paper we discus this branch of internet software. Later, analysing users feedback and focusing on software usability, we propose the major quality factors particular to RIA. Evolving these features we compare pros and cons for the most popular technologies. In the next part of article we show the practical aspects of development internet applications by presenting a web-based Decision Support System called TeamCreator, build to support team members selection. The process of development of this application was performed in a manner supporting its quality. The final part of this article contains an analysis of particular risk sources concerned with the development of advanced internet applications and the common pitfalls observed for many projects.</p>
      </abstract>
      <kwd-group>
        <kwd>Web applications</kwd>
        <kwd>Rich Internet Applications</kwd>
        <kwd>Software design</kwd>
        <kwd>Decision Support Systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>communication with server and minimization of page reloads, we also think that
RIAs important advantages over desktop applications are:
– simplicity of installation or even often no installation steps,
– safety for users, because the service is less vulnerable to threats (malware),
– availability for users on any machine connected to Internet,
– independency from the hardware platform or operating system,
– easiness of updates and changes that are immediately available for all users.
However, before deciding to build an application in form of RIA their
disadvantages must be pointed out and understood:
– requirements for additional software (plug–ins/RIA frameworks),
– lower speed than desktop applications, because code is interpreted and
converted into a native code on client machine,
– security restrictions, forbidding access to critical resources,
– rest fully on server and the quality of network connection.</p>
      <p>Nowadays, building web services that use pure HTML sacrifices ergonomics
for the lower costs and simplicity. Therefore, we decided that a form of Rich
Internet Application will be the most appropriate for the developed multi–user
Decision Support System (DSS in abbr.) called TeamCreator. This application
was created to recommend team members for research projects and was
developed in a way ensuring the basic RIA usability factors (discussed later).
2</p>
      <p>Major RIA quality factors and popular RIA
technologies
Analysing the common pitfalls of RIAs development and feedback from users
(during the project described later and the other projects), we gathered a few
major quality factors for RIA technologies, that should offer:
– high speed and a fast start–up time,
– multi–platform support,
– no requirements for any additional plug–ins,
– Rapid Application Development (RAD later) tools,
– easy customisation of GUI components,
– GUI attractiveness,
– visual similarity to desktop applications,
– prototyping capabilities,
– flexibility.</p>
      <p>
        These factor focus on usability, being a part of the software quality (including
also reliability, efficiency or security), but in our opinion increased usability is
a feature distinguishing RIAs. As there are several RIA technologies 3 available
Technology Pros &amp; cons Vendor
AJAX u⊕ladroes not require additional plug–ins, very pop-
⊖ large number of incompatible libraries, the low
speed of development, depends on JavaScript
engine with varying behaviour on different browsers
⊕ based on Flash available on most computers
Flex [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] ⊖ close solution, no available advanced RAD tools Adobe
– apart the one from vendor
OpenLaszlo [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] i⊕n:g,opabenilitsyoutrocecosmolpuitlieonc,odheigthosFpleaesdh oafnpdroAtJotAyXp-, LaszloSystems
based on Flash or JavaScript available on most
computers
⊖: no advanced RAD tools
JavaFX [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] J⊕avfraeeVMRAD tools, uses mature and very popular Sun
⊖ new and still uncommon technology
Flash [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] ⊖⊕ cmloasteudres,olpuotpiounla,rtechnology is oriented on graph- Adobe
ics not programming, hard prototyping
Silverlight [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] ⊖⊕ ucsleossetdoosloslauntidonl a,nrgeuqaugieresssuspppecoiratledplbuyg.–NinETnot Microsoft
available on different platforms
Java [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] u⊕lawrell documented solution, high potential, pop- Sun
⊖ requires JVM, difficult prototyping
HTML
⊕ no requirements for additional plug–ins, client
machine low load
⊖ low speed of application development, slow,
large amount of transmitted data, high server
load, low ergonomics
on market, we analysed them to later choose one technology, the most suiting
the requirements for a RIA–based Decision Supporting System (see Tab. 1).
      </p>
      <p>After technological evaluation of possible solutions, we have selected
OpenLaszlo (OL later) as the best meeting our requirements. Originally this
technology was introduced as Laszlo Presentation Server, but in 2004 it was released as
Open Source and its renamed to OpenLaszlo. The following OpenLaszlo features
influenced our choice:
– is available on various Operating Systems and hardware platforms,
– was build with support for application prototyping,
– is visually attractive,
3 While HTML is not a RIA technology, it was a reference point as a basic, pre–RIA
solution.
– has wide capabilities,
– offers many GUI components,
– rarely does need to install additional software on client machine, as OL
compiles into Flash or JavaScript,
– is an open source solution – for a scientific project it was highly possible that
some components had to be tailored to custom demands.</p>
      <p>
        The OpenLaszlo architecture was presented on Fig. 1. This technology
provides two ways to supply RIA service i.e. “J2EE deployment” and “SOLO
deployment” [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The first one requires a web applications container (Tomcat in
OpenLaszlo installation packs) on production server. The queries relating to the
OpenLaszlo application are being processed by the J2EE server. In this case, it is
possible to incorporate all features provided by the J2EE server e.g. SOAP
service. In the second variant i.e. “SOLO deployment” OL application is compiled
by the developer to a Flash clip or AJAX site and later placed on an ordinary
HTTP server. Obviously this variant is simpler to use on most of Web servers,
but it is impossible to use special J2EE features within.
      </p>
      <p>From a programmer’s perspective, the design of OpenLaszlo applications is
based on LZX language, being a combination of XML similiar to XUL/XAML
(relating to the GUI) languages and ECMAScript – JavaScript/ActionScript (to
create program code). It is important that LZX language allows quick creation
of application skeleton. However, a significant drawback of this technology is a
lack of advanced RAD tools (comparing to Java RADs), that would support the
developer after skeleton construction. The OL possibilities are enhanced by large
number of GUI components (see Fig. 2). Programming in LZX can by supported
by any XML tool, but there exist OpenLaszlo plug–ins to NetBeans and Eclipse.
3</p>
      <p>
        Development of RIA–based Decision Support System
During a research project over a method of team selection for scientific projects
we have used OpenLaszlo to build a Decision Support System (DSS in abbr.) –
TeamCreator. This application is a multi–user web–based system and its core,
being a team efficiency model and optimizing algorithm, came from [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>From the technical point of view, TeamCreator is a RIA running on two
servers and client browser equipped with Flash plug–in. The first server is HTTP
server (Apache was used) and the second one is a database server (MySQL was
used). However, it is possible to use other serves e.g. IIS server as HTTP server
and PostgresSQL as database server. The deployment diagram was presented in
Fig. 3.</p>
      <p>The client part consists is “index.php” file with an embedded OpenLaszlo
application compiled to Flash “team.swf”. These files are used as GUI, while
client asynchronously communicates with “interface.php” file that serves as
an interface to server engine. The core of the system is in “system.php” file that
uses Pear DB as an interface to communicate with database server.</p>
      <p>The database structure was presented on Fig. 4. The tables were designed to
store data necessary to ensure the basic systems functionality:
– performing user tests such as personality profile test, team role, team culture
and ambition test,
– gathering information about users skills,
– gathering information about projects requirements,
– perform teams control,
– selection of team members,
– administration functions,
– reports generation.</p>
      <p>The whole application was divided onto eight modules (Fig. 5), each was
responsible for handling a logically coherent use–cases. The split onto modules
was important for the application development, giving a chance to break it into
smaller units, which improved the process of creating, testing and introduced a
better code organization.</p>
      <p>The important step in each software project is a selection of proper life cycle
model. For this software, being a part of wider research project, the selected
solution had to meet the key requirements:
– high flexibility,
– low effort of software modification,
– reduced excessive planning for functionality requiring prior research,
– analysis of users’ feedback,
– frequent verification of the software functionality.</p>
      <p>
        It was also essential, that the quality factors of developed system will be ensured.
Thus, analysing these requirements and possible life cycle solutions we have
selected evolutionary prototyping. This life cycle model is considered to be useful
in situation where requirements are changing rapidly and users feedback must
be frequently evaluated [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In the described project, the process of application
developed was supported by groups of students, testing RIA after each step of
functionality extension. All problems were reported to instructor and later to
the developing team, influencing the next development steps.
      </p>
      <p>The access to TeamCreator had to be possible from any web browser equipped
with Flash plug–in. Therefore, practically usage of TeamCreator was not
dependent on a hardware platform, operating system or web browser. We have tested it
on Firefox, Internet Explorer, Opera and Safari browser, as well as on Windows
and Linux OS. The application hasn’t shown any platform specific problems.
The appearance of presented DSS in Firefox 3 was shown on Fig. 6 (this screen
capture is in the original form/language and was shown for GUI presentation
purpose only). The majority of testing users highly appreciated that the used
components in GUI were equivalent to the desktop ones. It the result, web–
based system was not only easy to operate, but reminded a traditional desktop
application.</p>
      <p>During TeamCreator development we have observed some OpenLaszlo
weaknesses e.g. as a still emerging technology LZX language contained significant
errors (which were eliminated with frequent releases of OL). Moreover, we have
observed important decrease in application performance with increase of its
complexity. This problem was reduced by OL 4.2 release, that offered SWF9 support
significantly increasing OL speed.</p>
      <p>Despite these problems, the functionality, visual appeal and LZX language,
supporting prototyping, kept our positive opinion about OpenLaszlo technology.
It become a popular Open Source RIA technology and receives strong support
of large developers community.</p>
    </sec>
    <sec id="sec-2">
      <title>Sources of Risk for RIA development</title>
      <p>
        Like all software projects also RIA development incorporates common risk sources,
but there exists a group of sources particular to RIA. Due to it, some researchers
focus on problems and risks connected with RIAs e.g. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] divided the design
of RIA onto four stages: data modelling, business logic modelling, presentation
modelling, and communication modelling and introduced particular issues for
each stage. As it is a wide topic, we would like to signalize only a few observed
factors, that in our opinion are very important and may cause projects to be
more exposed on risk.
      </p>
      <p>The first of them is RIA oversizing i.e. web–services are build in size exceeding
real requirements. Some desktop applications are said to be bloatware, but their
over–sizing do not influence speed so much as we can observe for RIAs. The larger
RIA is, the more data it must transfer and the more computer resources it uses.
As RIA applications aren’t compiled to native code and don’t use resources so
optimally, they are more heavy (in terms of speed not bytes) piece of software
than comparable desktop application. Hence, if development does not take that
into account, this mistake can lead to creation of slow application with a long
start–up time and that will be opposite to users expectations. Of course, this
threat is also important to desktop applications, but its significance is multiplied
for RIAs.</p>
      <p>Another important factor is preferably not to require any additional
software available on users machine. Even if RIA uses technologically advanced and
brilliant solution, it may not be successful when the most of its potential users
will have to download and install additional, uncommon plug–ins. Therefore
some vendors base their technologies on popular plug–ins e.g. Flex was based
on Flash; OpenLaszlo was based on Flash or JavaScript; JavaFX was based on
Sun JRE. Probably the future RIA technologies will not be focused on delivery
of new plug–ins, but rather on shifting RIA languages to the fourth generation
of programming languages.</p>
      <p>It must be also remembered that skinning capabilities for RIA technologies
should not be overused, as the visual attractiveness transforms into a eye–candy
e.g. too extensive use of animation is a common mistake in Flash based systems.
These technologies were invented to support creation of customised web–based
applications. The visual design of such application should be consistent in all
their parts. While the visual appeal helps in causing a positive impression, but
the most important features attracting users are the content and functionality.</p>
      <p>The last important factor, that in our opinion must be remembered during
RIA development, is to supply project with more resources than comparable
desktop projects. It’s a result of RIA complexity, where often many different
technologies are being used, required skills and environment are less
homogeneous than for non–RIA projects. It terms of software engineering it can be said
e.g. that one hypothetic function–point requires more work time for RIA than
for desktop application.
5</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>The development of RIAs should be performed in a manner ensuring the major
RIA quality factors. Analysing the quality factors we have focused on software
usability, that in our opinion might positively distinguish these web–based
applications. Fulfilling the usability factors the developed web–based software will
be ergonomic, user–friendly and portable.</p>
      <p>The distance between functionality of traditional desktop applications and
RIA is decreasing. However, the advanced web–applications are exposed on new
sources of risk. In this article we have presented risk source that in our
opinion are the most important ones. Finally, the scale, usability and ergonomics of
Decision Support System described herein prove that RIA offers possibility to
build advanced and user friendly web applications. As it was presented during
system’s introduction its design was focused on application quality and
evolutionary prototyping, selected as a life cycle model, gave an ability to introduce
user’s remarks to the system.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Newman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinberg</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomas</surname>
          </string-name>
          ,
          <source>J.:Enterprise 2.0 Implementation. McGrawHill Professional</source>
          , New York (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Casarez</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cripe</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sini</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weckerle</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Reshaping Your Business with Web 2.0: Using the New Collaborative Technologies to Lead Business Transformation</article-title>
          .
          <string-name>
            <surname>McGraw-Hill</surname>
            <given-names>Professional</given-names>
          </string-name>
          , New York (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>3. Adobe - Flex 3, http://www.adobe.com/products/flex</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <article-title>OpenLaszlo - the premier platform for rich internet applications</article-title>
          , http://www. openlaszlo.org
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>JavaFX - Rich Internet Applications Development - RIAs Java</surname>
            <given-names>FX</given-names>
          </string-name>
          , http:// javafx.com
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Animation software,
          <source>multimedia software - Adobe Flash CS4 Professional</source>
          , http: //www.adobe.com/products/flash
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>The</given-names>
            <surname>Official Microsoft Silverlight Site</surname>
          </string-name>
          , http://silverlight.net
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. java.com: Java + You, http://java.com</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carlson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MacEwen</surname>
          </string-name>
          , G.:
          <article-title>Laszlo in Action</article-title>
          . Manning Publications Company, Greenwich (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Olejniczak</surname>
          </string-name>
          , W.:
          <string-name>
            <surname>Team-Culture-Project. Wydawnictwo Zachodniopomorskiej Szkoy Biznesu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Szczecin</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>McConnell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Rapid Development: Taming Wild Software Schedules</article-title>
          . Microsoft Press, Redmond(
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Preciado</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Linaje</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Comai</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanchez-Figueroa</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Designing Rich Internet Applications with Web Engineering Methodologies</article-title>
          .
          <source>In: 9th IEEE International Workshop on Web Site Evolution</source>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>30</lpage>
          , Paris (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>