Building Web Applications and Network Programming - PowerPoint PPT Presentation

1 / 63
About This Presentation
Title:

Building Web Applications and Network Programming

Description:

retrieving and sending data over the network, parsing XML, client-side storage) ... When deciding which accessories to add, be aware of how much time it's going to ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 64
Provided by: coursew
Category:

less

Transcript and Presenter's Notes

Title: Building Web Applications and Network Programming


1
Building Web Applications and Network Programming
Building Web Applications and Network Programming
  • Mr. Julius B. Suralta, MBM
  • Engr. Luis Cadiz
  • Mr. Jonie

2
Topics
  • 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

3
What 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.

4
Web 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.

5
Web 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?

6
Web 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?

7
Types 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.

8
Web Applications consist of
  • Web components (html, cgi, others)
  • Static Resource Files (images)
  • Helper Classes
  • Libraries.

9
Web 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.

10
Web Applications
  • Recommended Text Book
  • Building Web Applications with UML
  • 2nd Edition
  • By Jim Conallen
  • Web Application Evangelist
  • of Rational Software Corp.

11
Application Layer Protocols
Application Layer Protocols
12
Application 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.

13
Application Layer Protocol
14
Application Layer Protocol
15
Application Layer Protocol
16
Application Layer Protocol
17
Application Layer Protocol
18
Application Layer Protocol
19
Application Layer Protocol
20
Application Layer Protocol
21
Application Layer Protocol
22
Application Layer Protocol
23
Application Layer Protocol
24
Application Layer Protocol
25
Application Layer Protocol
26
Application Layer Protocol
27
Application Layer Protocol
28
Application Layer Protocol
29
Application Layer Protocol
30
Application Layer Protocol
31
Application Layer Protocol
32
Application Layer Protocol
33
Application Layer Protocol
34
Application Layer Protocol
35
Application Layer Protocol
36
Application Layer Protocol
37
Application Layer Protocol
38
Application Layer Protocol
39
Application Layer Protocol
40
Application Layer Protocol
41
Application Layer Protocol
42
Application Layer Protocol
43
Principles of Web Engineering
Principles of Web Engineering
44
Concerns 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.

45
Applying 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.

46
WebSite-Waterfall Model
47
WebSite-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

48
WebSite-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.

49
WebSite-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.

50
WebSite-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.

51
WebSite-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.

52
WebSite-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.

53
WebSite-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.

54
WebSite-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.

55
WebSite-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.

56
Database Driven Websites
Database Driven Websites
57
Websites 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.

58
Solutions
  • 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!

59
Using RDBMS and Scripting Language
  • MySQL
  • MS SQL
  • Oracle
  • Sybase
  • Informix
  • Ingress
  • dB
  • Postgree
  • Others
  • PHP
  • ASP
  • Java Script
  • VB Script
  • Others

60
Developer 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

61
Tips 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()

62
Solutions
63
Solutions
Write a Comment
User Comments (0)
About PowerShow.com