Web Applications Versus Conventional Software
By Nosheen Qamar
University of Lahore, Pakistan
 Web Applications Versus Conventional Software
 Web Application Advantages over Desktop Application
 Web Application Disadvantages over Desktop Application
 Web Development Versus Software Development
◦ Application characteristics
◦ Primary technologies used
◦ Approach to quality delivered
◦ Development process drivers
◦ Availability of the application
◦ Customers (stakeholders)
◦ Update rate (maintenance cycles)
◦ People involved in development
◦ Architecture and network
◦ Disciplines involved
◦ Legal, social and ethical issues
◦ Information structuring and design
 Web Application
◦ A Web application (Web app) is an application
program that is stored on a remote server and
delivered over the Internet through a browser
interface.
 Conventional Software/General Software
◦ Software is a general term for the various kinds of
programs used to operate computers and related
devices. Desktop Application also considered as
Conventional Software.
 Since they run inside web browsers, developers do not
need to develop web apps for multiple platforms. For
example, a single application that runs in Chrome will
work on both Windows and OS X. Developers do not need
to distribute software updates to users when the web app
is updated. By updating the application on the server, all
users have access to the updated version.
 A web app may provide a more consistent user
interface across multiple platforms because the
appearance is dependent on the browser rather than the
operating system.
 The data you enter into a web app is processed and saved
remotely. This allows you to access the same data from
multiple devices, rather than transferring files between
computer systems.
 They do not run directly from the operating
system, they have limited access to system
resources, such as the CPU, memory, and the file
system. Therefore, high-end programs, such as
video production and other media apps generally
perform better as desktop applications.
 Web apps are also entirely dependent on the web
browser. If your browser crashes, for example,
you may lose your unsaved progress. Also,
browser updates may cause incompatibilities
with web apps, creating unexpected issues.
 To Identify differences between Web and software
development there are 12 areas, which are as follows:
◦ Application characteristics
◦ Primary technologies used
◦ Approach to quality delivered
◦ Development process drivers
◦ Availability of the application
◦ Customers (stakeholders)
◦ Update rate (maintenance cycles)
◦ People involved in development
◦ Architecture and network
◦ Disciplines involved
◦ Legal, social and ethical issues
◦ Information structuring and design
 Application Characteristics Web applications are created by
integrating numerous distinct elements, such as multimedia files
(e.g., audio, video, 3D objects), HTML/SGML/XML files, graphical
images, mixtures of HTML and programs, and databases.
Components may be integrated in many different ways and
present different quality attributes.
 In addition, their source code may be proprietary or unavailable,
and may reside on and/or be executed from different remote
computers. Web applications are, for the large part, platform-
independent and Web browsers in general provide similar user
interfaces with similar functionality, freeing users from having to
learn distinct interfaces.
 Finally, a noticeable difference between Web applications and
conventional software applications is in the use of navigational
structures. Web applications use a hypermedia paradigm where
content is structured and presented using hyperlinks.
Navigational structures may also need to be
 Web applications are developed using a wide range of
diverse technologies, such as the many flavoured Java
solutions (Java servlets, Enterprise JavaBeans, applets, and
JavaServer Pages), HTML, JavaScript, XML, UML, databases
and much more.
 In addition, there is an increasing use of third-party
components and middleware. Since Web technology is an
area that changes quickly, some authors suggest it may be
difficult for developers and organizations to keep up with
what is currently available.
 The primary technology used to develop conventional
software applications is mostly represented by object-
oriented methods, generators and languages, relational
databases, and CASE tools. The pace with which new
technologies are proposed is slower than that for Web
applications.
 The quality is the principal factor that brings
repeated business. For Web development, quality is
often considered a higher priority than time to
market, with the mantra “later and better” as the
mission statement for Web companies who wish to
remain competitive.
 Within the context of conventional software
development, software contractors are often paid for
their delivered application regardless of its quality.
Return on investment is immediate. Ironically, they
are also often paid for fixing defects in the delivered
application, where these failures principally exist
because the developer did not test the application
thoroughly.
 The dominant development process drivers
for Web companies have three quality criteria
◦ Reliability
◦ Usability
◦ Security
 followed by:
 Availability
 Scalability
 Maintainability
 time to market
 Customers who use the Web expect
applications to be operational throughout the
whole year (24/7/365). Any downtime, no
matter how short, can be detrimental.
 Except for a few application domains (e.g.,
security, safety critical, military, banking)
customers of conventional software
applications do not expect these applications
to be available 24/7/365.
 Web applications can be developed for use within the boundaries
of a single organization (intranet), a number of organizations
(extranets) or for use by people anywhere in the world.
 The implications are that stakeholders may come from a wide
range of groups where some may be clearly identified (e.g.,
employees within an organization) and some may remain
unknown, which is often the case.
 To handle this Web developers are regularly faced with the
challenges.
 Whenever stakeholders are unknown it is difficult to estimate the
number of users an application will service, so applications must
also be scalable.
 In conventional software applications, it is usual for stakeholders
be explicitly identified prior to development.
 Web applications are updated frequently
without specific releases and with
maintenance cycles of days or even hours.
 In addition, their content and functionality
may also change significantly from one
moment to another.
 The maintenance cycle for conventional
software applications complies with a more
rigorous process.
 Web applications can be created by
◦ Artists (Graphic Designers, Web Designers, Micromedia Experts
etc.)
◦ Writers (Content Writers, Blog Writers, Creative Writers)
◦ Coders (Simple HTML code or many commercially available
Libraries, Plateforms or Web authoring tools like Macromedia
Dreamweaver, Microsoft Frontpage etc.)
◦ Web Developers/Programmers
◦ Librarians (To use online libraries)
◦ Database Designers/Administrators
◦ Project managers
◦ Network security experts,
◦ Test/Usability experts.
 Conversely, the development of conventional software
remains dominated by IT professionals, where a sound
knowledge of programming, database design, and project
management is necessary.
 Web applications are typically developed using a
simple client–server architecture (two-tier),
represented by Web browsers on client
computers connecting to a Web server hosting
the Web application, to more sophisticated
configurations such as three-tier or even n-tier
architectures.
 Conventional software applications either run in
isolation on a client machine or use a two-tier
architecture whenever applications use data from
database systems installed on a separate server.
 A team of people with a wide range of skills and
expertise in different areas (Software
Engineering, Hypermedia Engineering,
Requirement Engineering, Information
Engineering, Graphic design, network
management) is required to develop large and
complex Web applications adequately.
 Building a conventional software application
involves contributions from a smaller number of
disciplines, these include software engineering,
requirements engineering and usability
engineering.
 The Web as a distributed environment enables a
vast amount of structured (e.g., database
records) and unstructured (e.g., text, images,
audio) content to be easily available to a
multitude of users worldwide. So there is chance
of dishonest actions, such as copying content
from Web applications without acknowledging
the source, distributing information about
customers without their consent, infringing
copyright and intellectual property rights, and
even, in some instances, identity theft.
 Conventional software applications also share a
similar fate to that of Web applications, although
to a smaller extent.
 As previously mentioned, Web applications have structured and
unstructured content.
 In addition, the design of a Web application, unlike that of
conventional software applications, includes the organization of
content into navigational structures by means of hyperlinks.
These structures provide users with easily navigable Web
applications. Well-designed applications should allow for
suitable navigation structures, as well as the structuring of
content.
 Another difference between Web and conventional applications is
that Web applications often contain a variety of specific file
formats for multimedia content (e.g., graphics, sound and
animation). These files must be integrated into any current
configuration management system, and need to be organized.
 Conventional software applications present structured content
that uses file or database systems.

Web Engineering - Web Applications versus Conventional Software

  • 1.
    Web Applications VersusConventional Software By Nosheen Qamar University of Lahore, Pakistan
  • 2.
     Web ApplicationsVersus Conventional Software  Web Application Advantages over Desktop Application  Web Application Disadvantages over Desktop Application  Web Development Versus Software Development ◦ Application characteristics ◦ Primary technologies used ◦ Approach to quality delivered ◦ Development process drivers ◦ Availability of the application ◦ Customers (stakeholders) ◦ Update rate (maintenance cycles) ◦ People involved in development ◦ Architecture and network ◦ Disciplines involved ◦ Legal, social and ethical issues ◦ Information structuring and design
  • 3.
     Web Application ◦A Web application (Web app) is an application program that is stored on a remote server and delivered over the Internet through a browser interface.  Conventional Software/General Software ◦ Software is a general term for the various kinds of programs used to operate computers and related devices. Desktop Application also considered as Conventional Software.
  • 4.
     Since theyrun inside web browsers, developers do not need to develop web apps for multiple platforms. For example, a single application that runs in Chrome will work on both Windows and OS X. Developers do not need to distribute software updates to users when the web app is updated. By updating the application on the server, all users have access to the updated version.  A web app may provide a more consistent user interface across multiple platforms because the appearance is dependent on the browser rather than the operating system.  The data you enter into a web app is processed and saved remotely. This allows you to access the same data from multiple devices, rather than transferring files between computer systems.
  • 5.
     They donot run directly from the operating system, they have limited access to system resources, such as the CPU, memory, and the file system. Therefore, high-end programs, such as video production and other media apps generally perform better as desktop applications.  Web apps are also entirely dependent on the web browser. If your browser crashes, for example, you may lose your unsaved progress. Also, browser updates may cause incompatibilities with web apps, creating unexpected issues.
  • 6.
     To Identifydifferences between Web and software development there are 12 areas, which are as follows: ◦ Application characteristics ◦ Primary technologies used ◦ Approach to quality delivered ◦ Development process drivers ◦ Availability of the application ◦ Customers (stakeholders) ◦ Update rate (maintenance cycles) ◦ People involved in development ◦ Architecture and network ◦ Disciplines involved ◦ Legal, social and ethical issues ◦ Information structuring and design
  • 7.
     Application CharacteristicsWeb applications are created by integrating numerous distinct elements, such as multimedia files (e.g., audio, video, 3D objects), HTML/SGML/XML files, graphical images, mixtures of HTML and programs, and databases. Components may be integrated in many different ways and present different quality attributes.  In addition, their source code may be proprietary or unavailable, and may reside on and/or be executed from different remote computers. Web applications are, for the large part, platform- independent and Web browsers in general provide similar user interfaces with similar functionality, freeing users from having to learn distinct interfaces.  Finally, a noticeable difference between Web applications and conventional software applications is in the use of navigational structures. Web applications use a hypermedia paradigm where content is structured and presented using hyperlinks. Navigational structures may also need to be
  • 8.
     Web applicationsare developed using a wide range of diverse technologies, such as the many flavoured Java solutions (Java servlets, Enterprise JavaBeans, applets, and JavaServer Pages), HTML, JavaScript, XML, UML, databases and much more.  In addition, there is an increasing use of third-party components and middleware. Since Web technology is an area that changes quickly, some authors suggest it may be difficult for developers and organizations to keep up with what is currently available.  The primary technology used to develop conventional software applications is mostly represented by object- oriented methods, generators and languages, relational databases, and CASE tools. The pace with which new technologies are proposed is slower than that for Web applications.
  • 9.
     The qualityis the principal factor that brings repeated business. For Web development, quality is often considered a higher priority than time to market, with the mantra “later and better” as the mission statement for Web companies who wish to remain competitive.  Within the context of conventional software development, software contractors are often paid for their delivered application regardless of its quality. Return on investment is immediate. Ironically, they are also often paid for fixing defects in the delivered application, where these failures principally exist because the developer did not test the application thoroughly.
  • 10.
     The dominantdevelopment process drivers for Web companies have three quality criteria ◦ Reliability ◦ Usability ◦ Security  followed by:  Availability  Scalability  Maintainability  time to market
  • 11.
     Customers whouse the Web expect applications to be operational throughout the whole year (24/7/365). Any downtime, no matter how short, can be detrimental.  Except for a few application domains (e.g., security, safety critical, military, banking) customers of conventional software applications do not expect these applications to be available 24/7/365.
  • 12.
     Web applicationscan be developed for use within the boundaries of a single organization (intranet), a number of organizations (extranets) or for use by people anywhere in the world.  The implications are that stakeholders may come from a wide range of groups where some may be clearly identified (e.g., employees within an organization) and some may remain unknown, which is often the case.  To handle this Web developers are regularly faced with the challenges.  Whenever stakeholders are unknown it is difficult to estimate the number of users an application will service, so applications must also be scalable.  In conventional software applications, it is usual for stakeholders be explicitly identified prior to development.
  • 13.
     Web applicationsare updated frequently without specific releases and with maintenance cycles of days or even hours.  In addition, their content and functionality may also change significantly from one moment to another.  The maintenance cycle for conventional software applications complies with a more rigorous process.
  • 14.
     Web applicationscan be created by ◦ Artists (Graphic Designers, Web Designers, Micromedia Experts etc.) ◦ Writers (Content Writers, Blog Writers, Creative Writers) ◦ Coders (Simple HTML code or many commercially available Libraries, Plateforms or Web authoring tools like Macromedia Dreamweaver, Microsoft Frontpage etc.) ◦ Web Developers/Programmers ◦ Librarians (To use online libraries) ◦ Database Designers/Administrators ◦ Project managers ◦ Network security experts, ◦ Test/Usability experts.  Conversely, the development of conventional software remains dominated by IT professionals, where a sound knowledge of programming, database design, and project management is necessary.
  • 15.
     Web applicationsare typically developed using a simple client–server architecture (two-tier), represented by Web browsers on client computers connecting to a Web server hosting the Web application, to more sophisticated configurations such as three-tier or even n-tier architectures.  Conventional software applications either run in isolation on a client machine or use a two-tier architecture whenever applications use data from database systems installed on a separate server.
  • 16.
     A teamof people with a wide range of skills and expertise in different areas (Software Engineering, Hypermedia Engineering, Requirement Engineering, Information Engineering, Graphic design, network management) is required to develop large and complex Web applications adequately.  Building a conventional software application involves contributions from a smaller number of disciplines, these include software engineering, requirements engineering and usability engineering.
  • 17.
     The Webas a distributed environment enables a vast amount of structured (e.g., database records) and unstructured (e.g., text, images, audio) content to be easily available to a multitude of users worldwide. So there is chance of dishonest actions, such as copying content from Web applications without acknowledging the source, distributing information about customers without their consent, infringing copyright and intellectual property rights, and even, in some instances, identity theft.  Conventional software applications also share a similar fate to that of Web applications, although to a smaller extent.
  • 18.
     As previouslymentioned, Web applications have structured and unstructured content.  In addition, the design of a Web application, unlike that of conventional software applications, includes the organization of content into navigational structures by means of hyperlinks. These structures provide users with easily navigable Web applications. Well-designed applications should allow for suitable navigation structures, as well as the structuring of content.  Another difference between Web and conventional applications is that Web applications often contain a variety of specific file formats for multimedia content (e.g., graphics, sound and animation). These files must be integrated into any current configuration management system, and need to be organized.  Conventional software applications present structured content that uses file or database systems.