280 likes | 489 Views
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: adib@uum.edu.my. Course Assesment. Assignment Mid Term : 15%
E N D
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: adib@uum.edu.my
Course Assesment • Assignment Mid Term : 15% • Lab Test : 10% Assignment : 15% (Group) Project : 20% (Group) • Final Exam : 40 % Total : 100%
WEB Application Development TJ 3043 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
Review of Network Models • TCP/IP Reference Model • Architectures for Network-based Application
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? Network Components Introduction
ticket (complain) baggage (claim) gates (unload) runway landing airplane routing ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing airplane routing Organization of air travel • a series of steps Introduction
ticket ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing ticket (complain) baggage (claim gates (unload) runway (land) airplane routing baggage gate airplane routing airplane routing takeoff/landing airplane routing departure airport intermediate air-traffic control centers arrival airport Layering of airline functionality Layers: each layer implements a service • via its own internal-layer actions • relying on services provided by layer below Introduction
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 Introduction
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
Application Layer Transport Layer Network Layer Data Link Layer TCP/IP Reference Model
TCP/IP Reference Model • 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
Data Link Layer • The Data Link layer interfaces the TCP/IP protocol stack to the physical network. • contains communication technologies for a local network.
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.
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.
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.
Application Layer • 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 • 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.
Architectures for Network-based Application • Client/server architecture (e.g. WWW) • Peer-to-peer architecture (e.g. Napster)
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
Peer-to-peer architecture 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 • 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
Peer-to-peer architecture 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
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