+ All Categories
Home > Documents > Web Application Development

Web Application Development

Date post: 07-Jan-2016
Category:
Upload: zahina
View: 22 times
Download: 0 times
Share this document with a friend
Description:
Web Application Development. Course Code : TIJ 3043 Pre Requisite: TD 3013 Database System & Information Retrieval Lecturer : Adib M.Monzer Habbal Ext : 4650 Room : 3072, School of Computing E-mail: [email protected]. Course Assesment. Assignment Mid Term: 15% - PowerPoint PPT Presentation
Popular Tags:
28
Web Application Development Course Code : TIJ 3043 Pre Requisite : TD 3013 Database System & Information Retrieval Lecturer : Adib M.Monzer Habbal Ext : 4650 Room : 3072, School of Computing E-mail: [email protected]
Transcript
Page 1: Web Application Development

Web Application Development

Course Code : TIJ 3043 Pre Requisite: TD 3013 Database System &

Information Retrieval

Lecturer : Adib M.Monzer HabbalExt : 4650Room : 3072, School of Computing

E-mail: [email protected]

Page 2: Web Application Development

Course Assesment

AssignmentMid Term : 15% Lab Test : 10%Assignment : 15% (Group)Project : 20% (Group)

Final Exam : 40 %

Total : 100%

Page 3: Web Application Development

WEB Application Development

TJ 3043

WEB Application Development

Page 4: Web Application Development

Introduction

People are using the web to build things they have not built or written or drawn or communicated anywhere else.

—Tim Berners-Lee

Billions of queries stream across the servers of these Internet services—the aggregate thought stream of humankind, online.

—John Battelle, The Search

Some people take what we contribute and extend it and contribute it back. That's really the basic open source success story.

—David Heinemeier Hansson, interviewed by Chris Karr at www.Chicagoist.com

Page 5: Web Application Development

Review of Network Models

TCP/IP Reference Model Architectures for Network-based Application

Page 6: Web Application Development

Introduction

1-6

Network Components

Networks are complex! many “pieces”:

– hosts– routers– links of various

media– applications– protocols– hardware, software

Question: Is there any hope of organizing structure of

network?

Page 7: Web Application Development

Introduction

1-7

Organization of air travel

a series of steps

ticket (purchase)

baggage (check)

gates (load)

runway takeoff

airplane routing

ticket (complain)

baggage (claim)

gates (unload)

runway landing

airplane routing

airplane routing

Page 8: Web Application Development

Introduction

1-8

ticket (purchase)

baggage (check)

gates (load)

runway (takeoff)

airplane routing

departureairport

arrivalairport

intermediate air-trafficcontrol centers

airplane routing airplane routing

ticket (complain)

baggage (claim

gates (unload)

runway (land)

airplane routing

ticket

baggage

gate

takeoff/landing

airplane routing

Layering of airline functionality

Layers: each layer implements a service– via its own internal-layer actions– relying on services provided by layer below

Page 9: Web Application Development

Introduction

1-9

Why layering?

Dealing with complex systems: explicit structure allows identification, relationship of

complex system’s pieces

modularization eases maintenance, updating of system– change of implementation of layer’s service

transparent to rest of system– e.g., change in gate procedure doesn’t affect rest

of system

Page 10: Web Application Development

TCP/IP Reference Model

The TCP/IP reference model is the network model used in the current Internet architecture.

It has its origins back in the 1960's with the grandfather of the Internet, the ARPANET.

This was a research network sponsored by the Department of Defense in the United States. The following were seen as major design goals:

– ability to connect multiple networks together seamlessly – ability for connections to remain intact as long as the source

and destination machines were functioning – to be built on flexible architecture

Page 11: Web Application Development

Data Link Layer

Network Layer

Transport Layer

Application Layer

TCP/IP Reference Model

Page 12: Web Application Development

•Application or Process Layer – concerned with how data at both ends is handled. •Transport Layer – manages flow of data •Internet Layer – consists of several protocols, primary protocol is IP (providing hierarchical addressing scheme •Data Link (or Network Interface) Layer – manages transmission of data within the network •Physical Layer – not really defined, TCP/IP leaves the physical connection to manage itself

TCP/IP Reference Model

Page 13: Web Application Development

TCP/IP Reference Model

Page 14: Web Application Development

TCP/IP Reference Model

Page 15: Web Application Development

Data Link Layer

The Data Link layer interfaces the TCP/IP protocol stack to the physical network.

contains communication technologies for a local network.

Page 16: Web Application Development

Network Layer

The job of the network layer is connects local networks, thus establishing the Internet.

The layer injects packets into any network and have them travel independently to the destination.

The layer defines IP (Internet Protocol) for its official packet format and protocol.

Packet routing is a major job of this protocol.

Page 17: Web Application Development

Transport Layer

The transport layer is the interface between the application layer and the complex hardware of the network.

It is designed to allow peer entities on the source and destination hosts to carry on conversations.

Data may be user data or control data. Two modes are available, full-duplex and half duplex.

– In full-duplex operation, both sides can transmit and receive data simultaneously, whereas in half duplex, a side can only send or receive at one time.

Page 18: Web Application Development

Application Layer

The original TCP/IP specification described a number of different applications that fit into the top layer of the protocol stack. These applications include: – HTTP– FTP– SMTP – DNS.

Page 19: Web Application Development

HTTP (Hypertext Transfer Protocol)– HTTP is an application protocol for distributed, collaborative,

hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.

– The standards development of HTTP was coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C),

FTP (File Transfer Protocol) – a protocol that was originally designed to promote the sharing of files

among computer users. – It shields the user from the variations of file storage on different

architectures and allows for a reliable and efficient transfer of data.

Application Layer

Page 20: Web Application Development

SMTP (Simple Mail Transport Protocol) – protocol used to transport electronic mail from one computer to

another through a series of other computers along the route.

DNS (Domain Name System) – resolves the numerical address of a network node into its

textual name or vice-versa. – It would translate www.yahoo.com to 204.71.177.71 to allow

the routing protocols to find the host that the packet is destined for.

Application Layer

Page 21: Web Application Development

Architectures for Network-based Application

Page 22: Web Application Development

Architectures for Network-based Application

Client/server architecture (e.g. WWW) Peer-to-peer architecture (e.g. Napster)

Page 23: Web Application Development

Benefits of the client/server architecture

Effective model for information sharing– Server makes information available for multiple clients– Clients are sure to receive the most up to date information– Server technology can be changed (e.g. a database change)

without effecting clients Clients can be dispersed geographically Server maintenance is easier since if all clients are

connecting to one place. WWW is the universal client/server architecture

– Zero/easy installation

Page 24: Web Application Development

Often referred to simply as peer-to-peer, or abbreviated P2P, peer-to-peer architecture is a type of network in which each workstation has equivalent capabilities and responsibilities.

This differs from client/server architectures where some computers are dedicated to serving the others.

Peer-to-peer networks are generally simpler but they usually do not offer the same performance under heavy loads.

Peer-to-peer architecture

Page 25: Web Application Development

Peer-to-peer architecture

Inherently fault tolerant and more suitable for distributed computing

Lower cost, community-based approach– Sharing of information among friends and family

members

Applications– Collaboration / file sharing– Sharing of music

Page 26: Web Application Development

An important goal in peer-to-peer networks is that all clients provide resources, including bandwidth, storage space, and computing power.

Thus, as nodes arrive and demand on the system increases, the total capacity of the system also increases

Peer-to-peer architecture

Page 27: Web Application Development

Benefits of the peer-to-peer architecture

No central bottle neck, leading to increased robustness (e.g. resistant to denial of service attacks) and scalability

Clients can be dispersed geographically However, there are challenges to maintenance

and operations, e.g.– Finding information– Maintaining consistency among different files

Page 28: Web Application Development

Q & A


Recommended