Title: Building Web Applications and Network Programming
1Building Web Applications and Network Programming
Building Web Applications and Network Programming
- Mr. Julius B. Suralta, MBM
- Engr. Luis Cadiz
- Mr. Jonie
2Topics
- Building Web Applications
- Protocols at the Application Layer
- Principles of Web Engineering
- Database-Driven Websites
- Remote Procedure Calls
- Light Weight Distributed Objects
- Role of Middleware
- Enterprise-Wide Web-based Applications
- Network Programming
3What is a Web Applications
- An application software created using the Web for
deployment - Many developers uses the WEB as a
Platform-independent application environment - A dynamic extension of a Web Server
- Examples Reservation System, Online Shopping or
Auction Sites, Games, Multimedia applications,
Calendars, Maps, chat applications, and a lot
more.
4Web Applications background
- Over the past several years a number of different
technologies have targeted application
development on the Web. However, much of the work
in this area has been proprietary and platform
specific. - Web applications typically have some form of
programmatic control, either on the client, on
the server or a combination of both. They may run
within the browser, or within another host
application. - A Web application is typically downloaded on
demand each time it is "executed", allowing a
developer to update the application for all users
when needed. - Web applications are usually smaller than regular
desktop applications, and can have rich graphical
interactive interfaces.
5Web Applications Concerns
- A Web Application must address some of the
following issues - What functionality is needed for Web
applications? - What should a hosting environment provide?
- How much of a Web application should be
declarative? - How much in script?
- How are they related to Web documents, which are
normally static? - Is there a need for a standard set of user
interface controls? - Should these controls use the native platform
look and feel?
6Web Applications Concerns
- What APIs are needed for Web applications (eg.
retrieving and sending data over the network,
parsing XML, client-side storage)? - How should a Web application and its related
resources (e.g. images, sounds) be packaged? - What security issues need to be addressed?
- To what extent can application behavior be
usefully abstracted from platform specific
details of UI controls? - How can the application integrate different
modality interfaces (eg. voice, pen, keystrokes)?
- How to address richer models of interaction
management that go beyond simple event handlers?
7Types of Web Applications
- Presentation-oriented. A presentation-oriented
Web application generates dynamic Web pages
containing various types of markup language
(HTML, XML, and so on) in response to requests. - Service-oriented. A service-oriented Web
application implements the endpoint of a
fine-grained Web service. Service-oriented Web
applications are often invoked by
presentation-oriented applications.
8Web Applications consist of
- Web components (html, cgi, others)
- Static Resource Files (images)
- Helper Classes
- Libraries.
9Web Applications
- Process for creating, deploying and executing a
Web Applications - Develop the Web component code (including
possibly a deployment descriptor). - Build the Web application components along with
any static resources (for example, images) and
helper classes referenced by the component. - Install or deploy the application into a Web
container. - Access a URL that references the Web application.
10Web Applications
- Recommended Text Book
- Building Web Applications with UML
- 2nd Edition
- By Jim Conallen
- Web Application Evangelist
- of Rational Software Corp.
11Application Layer Protocols
Application Layer Protocols
12Application Layer Protocol
- The application layer protocols and standards are
the ways in which different applications (like
e-mail programs, web servers and browsers, etc.)
talk to each other. - By protocols is meant the language used when the
applications talk to each other through the
network.
13Application Layer Protocol
14Application Layer Protocol
15Application Layer Protocol
16Application Layer Protocol
17Application Layer Protocol
18Application Layer Protocol
19Application Layer Protocol
20Application Layer Protocol
21Application Layer Protocol
22Application Layer Protocol
23Application Layer Protocol
24Application Layer Protocol
25Application Layer Protocol
26Application Layer Protocol
27Application Layer Protocol
28Application Layer Protocol
29Application Layer Protocol
30Application Layer Protocol
31Application Layer Protocol
32Application Layer Protocol
33Application Layer Protocol
34Application Layer Protocol
35Application Layer Protocol
36Application Layer Protocol
37Application Layer Protocol
38Application Layer Protocol
39Application Layer Protocol
40Application Layer Protocol
41Application Layer Protocol
42Application Layer Protocol
43Principles of Web Engineering
Principles of Web Engineering
44Concerns about Web Engineering
- Web applications are software artifacts, and as
such can benefit by making use of established
practices stemming from several related
disciplines such as Software Engineering,
Hypermedia, Information Systems and HCI, enabling
creation, management and reuse of structures of
the information space as well as enhancing the
end user experience. - It has its own characteristics which must be
addressed, such as a varied user population, very
short development turnaround times, diverse
runtime environments, accessibility through
multiple devices, etc. - Web Engineering addresses these issues and
focuses on systematic, disciplined and
quantifiable approaches towards the
cost-effective development and evolution of
high-quality, ubiquitously usable Web-based
systems and applications.
45Applying Software Engineering Principles to Web
Site Development Process
- Is called Web Site Waterfall Model
- It uses the iterative and incremental life cycle.
In the iterative lifecycle, every iteration
reproduces a lifecycle on a smaller scale. - The objectives of iteration are established based
on the evaluation of previous iterations. - The iterative lifecycle revisits the various
phases of the WebSite-Waterfall lifecycle several
times.
46WebSite-Waterfall Model
47WebSite-Waterfall Model
- 1. Requirements Definition/Specification
- Requirements definition is the process by which
the needs of the customer are translated into a
clear, detailed specification of what the web
site must do and achieve. - The project specification must be in writing a
verbal agreement is not acceptable. That way,
when the customer changes their mind, you can
renegotiate the work. - The output from this phase is the specification
document. The specification defines what the
project does, not how the project does it
48WebSite-Waterfall Model
- 2. Requirements Analysis
- The development team analyzes the requirements
and specifications document for completeness and
feasibility. - Once everyone agrees on the project
specification, the next step is to analyze how to
do it. The purpose of the analysis is to
determine the scope of the effort. To help
identify what is required for the project, it is
necessary to answer to the following questions - What is the software tools necessary?
- What developer skills are required for the
project? - A functional design document should be generated.
This document consists of the information,
figures and charts so that, when combined with
the specification, someone new to the project can
understand what the project does and how it does
it.
49WebSite-Waterfall Model
- 3. Content Definition
- Developing the content of the web site consists
of identifying the audience, defining the need of
the audience, and developing a statement of
purpose. This purpose should then guide the
development of the content on the web site.
50WebSite-Waterfall Model
- 4. Layout and Navigation Design
- Laying out the navigation within the web site is
key. The user should be directed logically
through the web site so that they always know
where they are going. - The layout and navigation design process
categorize the information and creates a
flowchart, which outlines both the organization
of the web site, and the links, which will exist
within the web site. The structure should
naturally follow the content.
51WebSite-Waterfall Model
- 5. Human Computer Interface Design
- Once it has been decided on the content, the
organization of the web site has been outlined
and navigation of the web site has been completed
next the look of the web site should be
addressed. The first step to designing the
interface is to define what it is the user must
accomplish. After defining the requirements, the
next step is to determine the order a user would
most likely use to accomplish the tasks. This
requires understanding the target audience and
how people want to do things. Once this is
understood, the look and feel of the web site
should be documented - An initial paper design must be generated.
Depending on the complexity of the design an
evaluation should be made on whether it is
necessary to develop a mock-up system that users
may beta test. - The documentation consists of the paper design of
the major user interfaces and a flow diagram
illustration how the interfaces interact with
each other. If the user interface is simple
enough, a text description of the interface is
sufficient for documentation.
52WebSite-Waterfall Model
- 6. Multimedia/Graphics Design
- The multimedia/graphics design involves
representing the accessories that will be added
to the web site. When deciding which accessories
to add, be aware of how much time its going to
take to download. It must be determined if adding
multimedia/graphics to the web site that the
visual aspects of the web site will not distract
users. The multimedia/graphics must be evaluated
so that it is determined that the graphical
content does not interfere with the readability
of text. - A document listing the multimedia/graphics that
will be used on the web site, as well as where it
will be used should be generated.
53WebSite-Waterfall Model
- 7. Implementation Unit Testing
- During this stage, the process of building the
web according to its design is done. The detail
of the operations is implemented. The integration
of the new code with existing code, issued from
previous iterations, is implemented gradually
during the construction. Unit testing procedures
are applied to the prototype. Unit testing
involves verifying that each unit meets its
specification.
54WebSite-Waterfall Model
- 8. Integration Testing
- The individual program units or programs are
integrated and tested as a complete system to
ensure that the web site requirements have been
met. After testing, the web site is delivered to
the customer.
55WebSite-Waterfall Model
- 9. Operations Maintenance
- Normally this is the longest life cycle phase.
Before the software gets deployed to the world,
it must be documented properly. The on-line help
is created and checked against the distribution
web site. Someone needs to use the system aided
only with the on-line help and if a user can
operate the system just from the on-line help,
then it is ready for deployment. - The web site is deployed and put into practical
use. Maintenance involves correcting errors,
which were not discovered in earlier stages of
the life cycle improving the implementation of
the web site and enhancing the services as new
requirements are discovered.
56Database Driven Websites
Database Driven Websites
57Websites concern
- Websites represents the image of the company
- People visits websites looking for new
information - Most widely visited websites are those that
provides real-time information such as CNN and
others - Maintenance to a hundreds of HTML files is a
tedious job - The content and layout of the website must change
every now-and-then. - Users and surfers visits most of the websites
that are dynamics and only once for a static
sites.
58Solutions
- By achieving complete separation between the
site's design and the content we are looking to
present, we can work with each without disturbing
the other. - Instead of writing an HTML file for every page of
your site, we only need to write a page for each
kind of information we want to be able to
present. - Instead of endlessly pasting new content into our
tired page layouts, we create a simple content
management system that allows the us writers to
post new content themselves without a lick of
HTML!
59Using RDBMS and Scripting Language
- MySQL
- MS SQL
- Oracle
- Sybase
- Informix
- Ingress
- dB
- Postgree
- Others
- PHP
- ASP
- Java Script
- VB Script
- Others
60Developer Must Know About
- HTML
- Java Script, Vb Script and Dynamic HTML
- Must master SQL
- Must have knowledge either ASP or PHP
- Must know how to use Apache or MS IIS
61Tips in Building Web Database Driven Applications
with PHP and MySQL
- Learn how to use array in PHP
- Including variables in string
- Use associative arrays to query results
- Beware of common PHP Bugs
- Using the Header() function for one-component
querying - Reload the problem and how to avoid it
- Locking for performance in web database
applications - Developing fast scripts with my_sql_unbuffered_que
ry()
62Solutions
63Solutions