Web Technologies Js Notes
Web Technologies Js Notes
Web Technologies Js Notes
S.Jaswanthi
Assistant Professor
K.G.R.L P.G College
Bhimavaram
UNIT I
Networking Protocols and OSI Model: Protocols in Computer Communications,
the OSI Model, OSI Layer Functions.
Internetworking Concepts, Devices, Basics, History and Architecture:
Internetworking, Problems in Internetworking, Dealing with Incompatibility Issues,
A Virtual Network, Internetworking Devices, Repeaters, Bridges, Routers,
Gateways, A Brief History of the Internet, Growth of the Internet, Internet topology,
Internal Architecture of an ISP
TCP/IP Part I (Introduction to TCP/IP, IP, ARP, RARP, ICMP):TCP/IP Basics,
Why IP Addresses? Logical Addresses,TCP/IP Example, the Concept of IP Address,
Address Resolution Protocol (ARP), Reverse ARP, Internet Control Message
Protocol (ICMP), Datagram, Fragmentation and Reassembly.
UNIT II
UNIT IV
Text Book:
Web Technologies: TCP/IP to Internet Application Architectures-TATA McGraw
Hill Publications - Achyut S Godbole, AtulKahate.
There are various types of protocols that support a major and compassionate role
in communicating with different devices across the network. These are:
*****
There are the seven OSI layers. Each layer has different functions. A list of seven
layers are given below:
1. Physical Layer
2. Data-Link Layer
3. Network Layer
4. Transport Layer
5. Session Layer
6. Presentation Layer
7. Application Layer
Line Configuration: It defines the way how two or more devices can be
connected physically.
Data Transmission: It defines the transmission mode whether it is
simplex, half-duplex or full-duplex mode between the two devices on the
network.
Topology: It defines the way how network devices are arranged.
2.Data-Link Layer:
This layer is responsible for the error-free transfer of data frames.
It defines the format of the data on the network.
It provides a reliable and efficient communication between two or more
devices.
It is mainly responsible for the unique identification of each device that
resides on a local network.
It contains two sub-layers:
Framing: The data link layer translates the physical's raw bit stream into
packets known as Frames. The Data link layer adds the header and trailer
to the frame. The header which is added to the frame contains the hardware
destination and source address.
Physical Addressing: The Data link layer adds a header to the frame that
contains a destination address. The frame is transmitted to the destination
address mentioned in the header.
Flow Control: Flow control is the main functionality of the Data-link
layer. It is the technique through which the constant data rate is maintained
on both the sides so that no data get corrupted. It ensures that the
3.Network Layer:
4.Transport Layer:
5.Session Layer:
It is a layer 3 in the OSI model.
The Session layer is used to establish, maintain and synchronizes the
interaction between communicating devices.
6.Presentation Layer:
A Presentation layer is mainly concerned with the syntax and semantics of
the information exchanged between the two systems.
It acts as a data translator for a network.
This layer is a part of the operating system that converts the data from one
presentation format to another format.
The Presentation layer is also known as the syntax layer.
7.Application Layer:
An application layer serves as a window for users and application
processes to access network service.
It handles issues such as network transparency, resource allocation, etc.
An application layer is not an application, but it performs the application
layer functions.
This layer provides the network services to the end-users.
*****
Internetworking:
Internet is defined as an Information super Highway, to access information over
the web. However, It can be defined in many ways as follows:
Internet is a world-wide global system of interconnected computer
networks.
Internet uses the standard Internet Protocol (TCP/IP).
Every computer in internet is identified by a unique IP address.
IP Address is a unique set of numbers (such as 110.22.33.114) which
identifies a computer location.
A special computer DNS (Domain Name Server) is used to give name to
the IP Address so that user can locate a computer by a name.
For example, a DNS server will resolve a
name http://www.tutorialspoint.com to a particular IP address to
uniquely identify the computer on which this website is hosted.
Internet is accessible to every user all over the world.
Evolution
The concept of Internet was originated in 1969 and has undergone several
technological & Infrastructural changes as discussed below:
The origin of Internet devised from the concept of Advanced Research
Project Agency Network (ARPANET).
ARPANET was developed by United States Department of Defense.
Basic purpose of ARPANET was to provide communication among the
various bodies of government.
Initially, there were only four nodes, formally called Hosts.
In 1972, the ARPANET spread over the globe with 23 nodes located at
different countries and thus became known as Internet.
2. The ever-rising demand for bandwidth: Consumers are hungry for more
bandwidth, and that increasing hunger isn’t going to wane for a long time.
Consumers want higher-definition movies, faster and more frequent points of
information retrieval, and more advanced user interfaces for their favorite apps
and websites. That results in a projected 30-40 percent annual increase in
bandwidth demand for the next several years—and somebody needs to design an
infrastructural network capable of supporting that.
4. Cybercriminal access: It’s a good thing that the internet is as widely available
as it is, but that also means it’s available to hackers and cybercriminals—and
wider access means more potential targets. There’s no way to eliminate
cybercrime, as improving technological defenses simply results in more
innovative hacking to get around them. However, we can better educate
consumers and give them the resources necessary to protect themselves—even
with simple measures, like choosing stronger passwords.
*****
A Virtual Network:
Virtual networking enables communication between multiple
computers, virtual machines (VMs), virtual servers, or other devices across
different office and data center locations. While physical networking connects
computers through cabling and other hardware, virtual networking extends these
capabilities by using software management to connect computers and servers
over the Internet. It uses virtualized versions of traditional network tools, like
switches and network adapters, allowing for more efficient routing and
easier network configuration changes.
The main function of the modem is to convert digital signal into analog and vice
versa. Modem is a combination of two devices modulator and demodulator.
The modulator converts digital data into analog data when the data is being sent
by the computer. The demodulator converts analog data signals into digital data
when it is being received by the computer.
RJ45 Connector:- RJ45 is the acronym for Registered Jack 45. RJ45
connector is an 8-pin jack used by devices to physically connect
to Ethernet based local area networks (LANs). Ethernet is a technology that
defines protocols for establishing a LAN. The cable used for Ethernet LANs are
twisted pair ones and have RJ45 connector pins at both ends. These pins go into
the corresponding socket on devices and connect the device to the network.
Ethernet Card:- Ethernet card, also known as network interface card (NIC),
is a hardware component used by computers to connect to Ethernet LAN and
communicate with other devices on the LAN. The earliest Ethernet cards were
external to the system and needed to be installed manually. In modern computer
systems, it is an internal hardware component. The NIC has RJ45 socket where
network cable is physically plugged in.
Ethernet card speeds may vary depending upon the protocols it supports. Old
Ethernet cards had maximum speed of 10 Mbps. However, modern cards
support fast Ethernets up to a speed of 100 Mbps. Some cards even have
capacity of 1 Gbps.
On receiving a packet, it checks the destination address and transmits the packet
to the correct port. Before forwarding, the packets are checked for collision and
other network errors. The data is transmitted in full duplex mode
Data transmission speed in switches can be double that of other network devices
like hubs used for networking. This is because switch shares its maximum speed
with all the devices connected to it. This helps in maintaining network speed
even during high traffic. In fact, higher data speeds are achieved on networks
through use of multiple switches.
Wi-Fi Card:- Wi-Fi is the acronym for wireless fidelity. Wi-Fi technology is
used to achieve wireless connection to any network. Wi-Fi card is a card used to
connect any device to the local network wirelessly. The physical area of the
network which provides internet access through Wi-Fi is called Wi-Fi hotspot.
Hotspots can be set up at home, office or any public space. Hotspots themselves
are connected to the network through wires.
Advantages of Repeaters:
Repeaters are simple to install and can easily extend the length or the
coverage area of networks.
They are cost effective.
Repeaters don’t require any processing overhead. The only time they need
to be investigated is in case of degradation of performance.
They can connect signals using different types of cables.
Uses of Bridge:
Bridges connects two or more different LANs that has a similar protocol
and provides communication between the devices (nodes) in them.
By joining multiple LANs, bridges help in multiplying the network
capacity of a single LAN.
Since they operate at data link layer, they transmit data as data frames. On
receiving a data frame, the bridge consults a database to decide whether to
pass, transmit or discard the frame.
Types of Routers:
A variety of routers are available depending upon their usages. The main types of
routers are −
WEB TECHNOLOGIES (JASWANTHI) Page 25
Wireless Router: They provide WiFi connection WiFi devices like laptops,
smartphones etc. They can also provide standard Ethernet routing. For indoor
connections, the range is 150 feet while its 300 feet for outdoor connections.
Broadband Routers: They are used to connect to the Internet through
telephone and to use voice over Internet Protocol (VoIP) technology for
providing high-speed Internet access. They are configured and provided by the
Internet Service Provider (ISP).
Core Routers: They can route data packets within a given network, but cannot
route the packets between the networks. They helps to link all devices within a
network thus forming the backbone of network. It is used by ISP and
communication interfaces.
Edge Routers: They are low-capacity routers placed at the periphery of the
networks. They connect the internal network to the external networks, and are
suitable for transferring data packets across networks. They use Border
Gateway Protocol (BGP) for connectivity. There are two types of edge routers,
subscriber edge routers and label edge routers.
Brouters:Brouters are specialised routers that can provide the functionalities
of bridges as well. Like a bridge, brouters help to transfer data between
networks. And like a router, they route the data within the devices of a
network.
*****
Gateways:
A gateway is a network node that forms a passage between two networks
operating with different transmission protocols. The most common type of
gateways, the network gateway operates at layer 3, i.e. network layer of the OSI
(open systems interconnection) model. However, depending upon the
functionality, a gateway can operate at any of the seven layers of OSI model. It
acts as the entry – exit point for a network since all traffic that flows across the
networks should pass through the gateway. Only the internal traffic between the
nodes of a LAN does not pass through the gateway.
For the United States Department of Defense, the funding of the design of
the Advanced Research Projects Agency Network (ARPANET) was began by
ARPA. In 1969, the network began to develop on the basis of the developed
designs in the 1960s.
*****
Growth of the Internet:
Since its creation in 1983, the Internet has grown exponentially in terms of
numbers of networks connected to it. By 1985, 100 networks, both public domain
and commercial utilizing TCP/IP protocol suite became available. By 1987, the
number had grown to two hundred; in 1989, it exceeded five hundred and by the
end of 1991, the Internet had grown to include some 5,000 networks in over 36
countries, serving over 700,000 host computers used by over 4,000,000 people.
Traffic and capacity of the public Internet grew at rates of about 100% per
year in the early 1990s. There was then a brief period of explosive growth in
1995 and 1996. During those two years, traffic grew by a factor of about 100,
which is about 1,000% per year. In 1997, it appeared that traffic growth has
slowed down to about 100% per year and reports, such as U. S. Department of
Commerce's The Emerging Digital Economy, which claim 1,000% growth rates
for the Internet, appear to be inaccurate today, since they are based on a brief
period of anomalously rapid growth a short while ago. Still, even a doubling each
year is fantastically fast by the standards of the communications industry. If
traffic on the Internet continues to double each year, data should exceed voice on
U. S. long distance networks around the year 2002.
*****
Internet topology:
A Network Topology is the arrangement with which computer systems or
network devices are connected to each other. Topologies may define both
physical and logical aspect of the network. Both logical and physical topologies
could be same or different in a same network.
Point-to-Point:-
Bus Topology:-
Both ends of the shared channel have line terminator. The data is sent in only
one direction and as soon as it reaches the extreme end, the terminator removes
the data from the line.
Star Topology:-
All hosts in Star topology are connected to a central device, known as hub
device, using a point-to-point connection. That is, there exists a point to point
connection between hosts and hub. The hub device can be any of the following:
As in Bus topology, hub acts as single point of failure. If hub fails, connectivity
of all hosts to all other hosts fails. Every communication between hosts, takes
Ring Topology:-
In ring topology, each host machine connects to exactly two other machines,
creating a circular network structure. When one host tries to communicate or
send message to a host which is not adjacent to it, the data travels through all
intermediate hosts. To connect one more host in the existing structure, the admi
nistrator may need only one more extra cable.
Failure of any host results in failure of the whole ring.Thus, every connection in
the ring is a point of failure. There are methods which employ one more backup
ring.
Mesh Topology:-
Hosts in Mesh topology also work as relay for other hosts which do not have
direct point-to-point links. Mesh technology comes into two types:
Full Mesh: All hosts have a point-to-point connection to every other host
in the network. Thus for every new host n(n-1)/2 connections are required.
It provides the most reliable network structure among all network
topologies.
Partially Mesh: Not all hosts have point-to-point connection to every
other host. Hosts connect to each other in some arbitrarily fashion. This
topology exists where we need to provide reliability to some hosts out of
all.
Also known as Hierarchical Topology, this is the most common form of network
topology in use presently.This topology imitates as extended Star topology and
inherits properties of bus topology.
This topology divides the network in to multiple levels/layers of network.
Mainly in LANs, a network is bifurcated into three types of network devices.
The lowermost is access-layer where computers are attached. The middle layer
is known as distribution layer, which works as mediator between upper layer and
lower layer. The highest layer is known as core layer, and is central point of the
network, i.e. root of the tree from which all nodes fork.
Daisy Chain:-
This topology connects all the hosts in a linear fashion. Similar to Ring
topology, all hosts are connected to two hosts only, except the end hosts.Means,
if the end hosts in daisy chain are connected then it represents Ring topology.
Each link in daisy chain topology represents single point of failure. Every link
failure splits the network into two segments.Every intermediate host works as
relay for its immediate hosts.
Hybrid Topology:-
A network structure whose design contains more than one topology is said to be
hybrid topology. Hybrid topology inherits merits and demerits of all the
incorporating topologies.
These ISPs are at the top of the hierarchy and they have a global reach they do
not pay for any internet traffic through their network instead lower-tier ISPs
have to pay a cost for passing their traffic from one geolocation to another
which is not under the reach of that ISPs. Generally, ISPs at the same level
connect to each other and allow free traffic passes to each other. Such ISPs are
called peers. Due to this cost is saved. They build infrastructure, such as the
These ISPs are service provider who connect between tier 1 and tier 3 ISPs.
They have regional or country reach and they behave just like Tier-1 ISP for
Tier-3 ISPs.
Examples:
Examples of tier 2 ISPs:
Vodafone,
Easynet,
BT
Tier-3 ISP:
These ISPs are closest to the end users and helps them to connect to the internet
by charging some money. These ISPs work on purchasing model. These ISPs
have to pay some cost to Tier-2 ISPs based on traffic generated.
Examples:
Examples of Tier-3 ISPs:
Comcast,
Deutsche Telekom,
Verizon Communications
*****
TCP/IP Basics:
The TCP/IP model was developed prior to the OSI model.
The TCP/IP model is not exactly similar to the OSI model.
The TCP/IP model consists of five layers: the application layer, transport
layer, network layer, data link layer and physical layer.
The first four layers provide physical standards, network interface,
internetworking, and transport functions that correspond to the first four
layers of the OSI model and these four layers are represented in TCP/IP
model by a single layer called the application layer.
TCP/IP is a hierarchical protocol made up of interactive modules, and each
of them provides specific functionality.
Internet Layer:-
*****
Why IP Addresses?
Each address is a string of numbers separated by periods. There are four numbers
in total and each number can range between 0 and 255. An example of an IP
address would be: 506.457.14.512
If your computer is connected to both your local network and the internet, then it
will have two IP addresses. You’ll have a private IP address locally, and a public
IP address on the internet.
WEB TECHNOLOGIES (JASWANTHI) Page 36
A private IP address is used to connect your computer or device to your home
or business network. This address is normally assigned by your network router.
There are a few ways to discover your private IP address. For example, on
Windows you can type ipconfig on the command prompt. Similarly, Mac users
can type the command ifconfig in the Terminal app.
Your public IP address is used to connect your home or business network to the
internet. This address is assigned by your internet service provider (ISP).
If you have a WordPress website, it will also have a public IP address. You can
learn its address by visiting your hosting provider or checking the email they sent
you when you signed up.
Alternatively, you can use WhatIsMyIP’s DNS Lookup tool. Once you type in
your website’s URL the website will display its IP address.
*****
Logical Addresses:
An IPv4 address is a 32-bit address that uniquely and universally defines the
connection of a device (for example, a computer or a router) to the Internet. They
are unique so that each address defines only one connection to the Internet. Two
devices on the Internet can never have the same IPV4 address at the same time.
On the other hand, if a device operating at the network layer has m connections to
the Internet, it needs to have m addresses, for example, a router.
The IPv4 addresses are universal in the sense that the addressing system must be
accepted by any host that wants to be connected to the Internet. That means
global addressing.
Address Space:-
IPv4 has a certain address space. An address space is the total number of
addresses used by the protocol. If a protocol uses N bits to define an address, the
address space is 2N
IPv4 uses 32-bit address format, which means that the address space is 232 or
4,294,967,296
Notations:-
1. Binary notation
2. Dotted decimal notation
1) Binary Notation:-
In binary notation, the IPv4 address is displayed as 32 bits. Each octet is often
referred to as a byte. So it is common to hear an IPv4 address referred to a 4-byte
address. The following is an example of an IPv4 address in binary
notation: 01110111 10010101 00000001 00000011
2) Dotted-Decimal Notation:-
IPV4 addresses are usually written in decimal form with a decimal point (dot)
separating the bytes since it’s more compatible. The following is an
example: 119.149.1.3 (above one and this one is same just different notation)
*****
1. Its IP address
2. A subnet mask, so it can determine what addresses are part of its subnet
3. The IP address of a DNS server, so it can translate application layer addresses
into IP addresses
4. The IP address of an IP gateway (commonly called a router) leading outside of
its subnet, so it can route messages addressed to computers outside of its subnet
(this presumes the computer is using static routing and there is only one
connection from it to the outside world through which all messages must flow; if
it used dynamic routing, some routing software would be needed instead)
These four pieces of information are the minimum required. A server would also
need to know its application layer address.
In this section, we use the simple network shown in Figure 5.13 to illustrate how
TCP/IP works. This figure shows an organization that has four LANs connected
by a BN. The BN also has a connection to the Internet. Each building is
configured as a separate subnet. For example, Building A has the 128.192.98.x
subnet, whereas Building B has the 128.192.95.x subnet. The BN is its own
subnet: 128.192.254.x. Each building is connected to the BN via a router that has
two IP addresses and two data link layer addresses, one for the connection into
the building and one for the connection onto the BN. The organization has
several Web servers spread throughout the four buildings. The DNS server and
the router onto the Internet are located directly on the BN itself. For simplicity,
we will assume that all networks use Ethernet as the data link layer and will only
focus on Web requests at the application layer.
In the sections below, we describe how messages are sent through the
network. For the sake of simplicity, we will initially ignore the need to
establish and close TCP connections. Once you understand the basic
concepts, we will then add these in to complete the example.
The first version of IP (Internet Protocol) was IPv4. After IPv4, IPv6 came into
the market, which has been increasingly used on the public internet since 2006.
The development of the protocol gets started in 1974 by Bob Kahn and Vint
Cerf. It is used in conjunction with the Transmission Control Protocol (TCP), so
they together named the TCP/IP.
After IPv4, the second major version of the internet protocol was IPv6, which
was version 6. It was officially declared by the IETF in 1998. The main reason
behind the development of IPv6 was to replace IPv4. There is a big difference
between IPv4 and IPv6 is that IPv4 uses 32 bits for addressing, while IPv6 uses
128 bits for addressing.
Function:
The main function of the internet protocol is to provide addressing to the hosts,
encapsulating the data into a packet structure, and routing the data from source to
the destination across one or more IP networks. In order to achieve these
functionalities, internet protocol provides two major things which are given
below.
o Format of IP packet
o IP Addressing system
IP packet:
Before an IP packet is sent over the network, two major components are added in
an IP packet, i.e., header and a payload.
Source IP address: The source is the one who is sending the data.
Destination IP address: The destination is a host that receives the data from
the sender.
Header length
There is a total of 14 fields exist in the IP header, and one of them is optional.
*****
Types of ARP:-
There are four types of Address Resolution Protocol, which is given below:
o Proxy ARP
o Gratuitous ARP
o Reverse ARP (RARP)
o Inverse ARP
1.Proxy ARP - Proxy ARP is a method through which a Layer 3 devices may
respond to ARP requests for a target that is in a different network from the
sender. The Proxy ARP configured router responds to the ARP and map the
MAC address of the router with the target IP address and fool the sender that it is
reached at its destination.
2.Gratuitous ARP - Gratuitous ARP is an ARP request of the host that helps to
identify the duplicate IP address. It is a broadcast request for the IP address of the
router. If an ARP request is sent by a switch or router to get its IP address and no
ARP responses are received, so all other nodes cannot use the IP address
allocated to that switch or router. Yet if a router or switch sends an ARP request
for its IP address and receives an ARP response, another node uses the IP address
allocated to the switch or router.
There are some primary use cases of gratuitous ARP that are given below:
o The gratuitous ARP is used to update the ARP table of other devices.
o It also checks whether the host is using the original IP address or a
duplicate one.
When a new system is set up or any machine that has no memory to store the IP
address, then the user has to find the IP address of the device. The device sends a
RARP broadcast packet, including its own MAC address in the address field of
both the sender and the receiver hardware. A host installed inside of the local
network called the RARP-server is prepared to respond to such type of broadcast
packet. The RARP server is then trying to locate a mapping table entry in the IP
to MAC address. If any entry matches the item in the table, then the RARP server
sends the response packet along with the IP address to the requesting computer.
4.Inverse ARP (InARP) - Inverse ARP is inverse of the ARP, and it is used to
find the IP addresses of the nodes from the data link layer addresses. These are
mainly used for the frame relays, and ATM networks, where Layer 2 virtual
circuit addressing are often acquired from Layer 2 signaling. When using these
virtual circuits, the relevant Layer 3 addresses are available.
*****
Reverse ARP:
Reverse Address Resolution Protocol (RARP) is a network-specific standard
protocol. It is described in RFC 903. Some network hosts, such as a diskless
workstation, do not know their own IP address when they are booted. To
determine their own IP address, they use a mechanism similar to ARP, but now
the hardware address of the host is the known parameter, and the IP address is the
queried parameter.
The reverse address resolution is performed the same way as the ARP address
resolution. The same packet format is used for the ARP.
An exception is the operation code field that now takes the following values−
ARP only assumes that every host knows the mapping between its own
hardware address and protocol address. RARP requires one or more server
hosts in the network to maintain a database of mapping between hardware
address and protocol address so that they will be able to reply to requests
from client hosts.
Due to the size of this database, part of the server function is usually
implemented outside the adapter−s microcode, with optionally a small
cache in the microcode. The microcode part is then only responsible for
reception and transmission of the RARP frames, the RARP mapping itself
being taken care of by server software running as a normal process on the
host machine.
The nature of this database also requires some software to create and
update the database manually.
If there are multiple RARP servers in the network, the RARP requests only
uses the first RARP reply received in response to its broadcast RARP
request and discards the others.
*****
The ICMP stands for Internet Control Message Protocol. It is a network layer
protocol. It is used for error handling in the network layer, and it is primarily used
on network devices such as routers. As different types of errors can exist in the
network layer, so ICMP can be used to report these errors and to debug those
errors.
For example, some sender wants to send the message to some destination, but the
router couldn't send the message to the destination. In this case, the router sends
the message to the sender that I could not send the message to that destination.
Messages:-
The message format has two things; one is a category that tells us which type of
message it is. If the message is of error type, the error message contains the type
and the code. The type defines the type of message while the code defines the
subtype of the message.
Type: It is an 8-bit field. It defines the ICMP message type. The values
range from 0 to 127 are defined for ICMPv6, and the values from 128 to 255
are the informational messages.
Code: It is an 8-bit field that defines the subtype of the ICMP message
Checksum: It is a 16-bit field to detect whether the error exists in the
message or not.
*****
Datagram, Fragmentation and Reassembly:
Datagram:-
In a connectionless communication systems, datagram refers to the smallest unit
via which data is transmitted. Datagrams are data packets which contain adequate
header information so that they can be individually routed by all intermediate
network switching devices to the destination. These networks are called datagram
networks since communication occurs via datagrams. They exist in packet
switching networks.
Features of Datagram Networks
Datagram switching is done at the network layer of the communication
system.
Fragmentation:-
Since there are 16 bits for total length in IP header so, maximum size of IP
datagram = 216 – 1 = 65, 535 bytes.
It is done by network layer at the destination side and is usually done at routers.
Source side does not require fragmentation due to wise (good) segmentation by
transport layer i.e. instead of doing segmentation at transport layer and
fragmentation at network layer, the transport layer looks at datagram data limit
and frame data limit and does segmentation in such a way that resulting data can
easily fit in a frame without the need of fragmentation.
Receiver identifies the frame with the identification (16 bits) field in IP header.
Each fragment of a frame has same identification number.
Receiver identifies sequence of frames using the fragment offset(13 bits) field in
IP header
An overhead at network layer is present due to extra header introduced due to
fragmentation.
Fields in IP header for fragmentation –
Identification (16 bits) – use to identify fragments of same frame.
Fragment offset (13 bits) – use to identify sequence of fragments in the frame. It
generally indicates number of data bytes preceeding or ahead of the fragment.
Maximum fragment offset possible = (65535 – 20) – 1 = 65514
*****
Basics of TCP:
The TCP/IP model was developed prior to the OSI model.
The TCP/IP model is not exactly similar to the OSI model.
The TCP/IP model consists of five layers: the application layer, transport
layer, network layer, data link layer and physical layer.
The first four layers provide physical standards, network interface,
internetworking, and transport functions that correspond to the first four
layers of the OSI model and these four layers are represented in TCP/IP
model by a single layer called the application layer.
TCP/IP is a hierarchical protocol made up of interactive modules, and each
of them provides specific functionality.
Internet Layer:-
*****
*****
Relationship between TCP and IP:
The TCP/IP model is the default method of data communication on the Internet.
It was developed by the United States Department of Defense to enable the
accurate and correct transmission of data between devices. It breaks messages
into packets to avoid having to resend the entire message in case it encounters a
problem during transmission. Packets are automatically reassembled once they
reach their destination. Every packet can take a different route between the source
and the destination computer, depending on whether the original route used
becomes congested or unavailable.
A good example of how this works in practice is when an email is sent using
SMTP from an email server. To start the process, the TCP layer in the server
divides the message into packets, numbers them, and forwards them to the IP
layer, which then transports each packet to the destination email server. When
packets arrive, they are handed back to the TCP layer to be reassembled into the
original message format and handed back to the email server, which delivers the
message to a user’s email inbox.
The TCP/IP model defines how devices should transmit data between them and
enables communication over networks and large distances. The model represents
how data is exchanged and organized over networks. It is split into four layers,
which set the standards for data exchange and represent how data is handled and
packaged when being delivered between applications, devices, and servers.
1. Datalink layer:- The datalink layer defines how data should be sent, handles the
physical act of sending and receiving data, and is responsible for transmitting
data between applications or devices on a network. This includes defining how
data should be signaled by hardware and other transmission devices on a
*****
Ports and Sockets:
Ports:- A port is a physical docking point using which an external device can be
connected to the computer. It can also be programmatic docking point through
which information flows from a program to the computer or over the Internet.
A network port which is provided by the Transport Layer protocols of Internet
Protocol suite, such as Transmission Control Protocol (TCP) and User Diagram
Protocol (UDP) is a number which serving endpoint communication between two
computers.
To determine what protocol incoming traffic should be directed to, different port
numbers are used. They allow a single host with a single IP address to run
network services. Each port number have a distinct service, and for each host can
have 65535 ports per IP address. Internet Assigned Numbers Authority
(IANA) is responsible for managing the uses of these ports. There are three
categories for ports by IANA −
23 TCP Telnet
Socket Types:- There are four types of sockets available to the users. The first
two are most commonly used and the last two are rarely used.
Processes are presumed to communicate only between sockets of the same type
but there is no restriction that prevents communication between sockets of
different types.
Stream Sockets − Delivery in a networked environment is guaranteed. If you
send through the stream socket three items "A, B, C", they will arrive in the
same order − "A, B, C". These sockets use TCP (Transmission Control
Protocol) for data transmission. If delivery is impossible, the sender receives
an error indicator. Data records do not have any boundaries.
Datagram Sockets − Delivery in a networked environment is not guaranteed.
They're connectionless because you don't need to have an open connection as
in Stream Sockets − you build a packet with the destination information and
send it out. They use UDP (User Datagram Protocol).
Raw Sockets − These provide users access to the underlying communication
protocols, which support socket abstractions. These sockets are normally
datagram oriented, though their exact characteristics are dependent on the
interface provided by the protocol. Raw sockets are not intended for the
general user; they have been provided mainly for those interested in
developing new communication protocols, or for gaining access to some of the
more cryptic facilities of an existing protocol.
Sequenced Packet Sockets − They are similar to a stream socket, with the
exception that record boundaries are preserved. This interface is provided only
as a part of the Network Systems (NS) socket abstraction, and is very
important in most serious NS applications. Sequenced-packet sockets allow
the user to manipulate the Sequence Packet Protocol (SPP) or Internet
Datagram Protocol (IDP) headers on a packet or a group of packets, either by
writing a prototype header along with whatever data is to be sent, or by
specifying a default header to be used with all outgoing data, and allows the
user to receive the headers on incoming packets.
*****
Active OPEN: A client process using TCP takes the “active role” and
initiates the connection by actually sending a TCP message to start the
connection (a SYN message).
A passive OPEN can in fact specify that the server is waiting for an
active OPEN from a specific client, though not all TCP/IP APIs support this
capability. More commonly, a server process is willing to accept connections
from all comers. Such a passive OPEN is said to be unspecified.
Both the client and the server create the TCB for the connection at the time that
they perform the OPEN. The client already knows the IP addresses and port
numbers for both the client process and the server process it is trying to reach, so
it can use these to uniquely identify the connection and the TCB that goes with it.
For the server, the concept of a TCB at this stage of the game is a bit more
complex. If the server is in fact waiting for a particular client, it can identify the
connection using its own socket and the socket of the client for which it is
waiting. Normally, however, the server doesn't know what client is trying to
reach it. In fact, it could be contacted by more than one client nearly at the same
time.
In this case, the server creates a TCB with an unspecified (zero) client socket
number, and waits for an active OPEN to be received. It then binds the socket
number of the client to the TCB for the passive OPEN as part of the connection
process. To allow it to handle multiple incoming connections, the server process
may in fact perform several unspecified passive OPENs simultaneously.
*****
WEB TECHNOLOGIES (JASWANTHI) Page 58
TCP connections:
Establishing a TCP connection requires that both the client and server participate
in what is known as a three-way handshake. The process can be broken down as
follows:
1. A client sends the server a SYN packet—a connection request from its
source port to a server’s destination port.
2. The server responds with a SYN/ACK packet, acknowledging the receipt
of the connection request.
3. The client receives the SYN/ACK packet and responds with an ACK
packet of its own.
*****
What Makes TCP Reliable?
TCP provides for the recovery of segments that get lost, are damaged, duplicated
or received out of their correct order. TCP is described as a 'reliable' protocol
because it attempts to recover from these errors.
The sequencing is handled by labling every segment with a sequence number.
These sequence numbers permit TCP to detect dropped segments. TCP also
requires that an acknowledge message be returned after transmitting data.
To verify that the segments are not damaged, a CRC check is performed on every
segment that is sent, and every segment that is received. Because every packet
has a time to live field, and that field is decremented during each forwarding
cycle, TCP must re-calculate the CRC value for the segment at each hop.
Segments that do not match the CRC check are discarded.
*****
TCP Packet Format:
TCP wraps each data packet with a header containing 10 mandatory fields
totaling 20 bytes (or octets). Each header holds information about the connection
and the current data being sent.
*****
Persistent TCP Connections:
Persistent connections provide a mechanism by which a client and a server can
signal the close of a TCP connection. This signaling takes place using
the Connection1 header field. Once a close has been signaled, the client must not
send any more requests on that connection. Prior to persistent connections, a
separate TCP connection was established to fetch each URL, increasing the load
on HTTP servers and causing congestion on the Internet. The use of inline
images and other associated data often require a client to make multiple requests
of the same server in a short amount of time. Persistent HTTP connections have a
number of advantages:
By opening and closing fewer TCP connections, CPU time is saved in routers
and hosts (clients, servers, proxies, gateways, tunnels, or caches), and memory
used for TCP protocol control blocks can be saved in hosts.
HTTP requests and responses can be pipelined in a connection. Pipelining
allows a client to make multiple requests without waiting for each response,
allowing a single TCP connection to be used much more efficiently, with much
lower elapsed time.
Network congestion is reduced by reducing the number of packets caused by
TCP opens (three-way handshakes' cost), and by allowing TCP sufficient time
to determine the congestion state of the network.
*****
User Datagram Protocol:
The User Datagram Protocol (UDP) is simplest Transport Layer communication
protocol available of the TCP/IP protocol suite. It involves minimum amount of
communication mechanism. UDP is said to be an unreliable transport protocol
but it uses IP services which provides best effort delivery mechanism.
In UDP, the receiver does not generate an acknowledgement of packet received
and in turn, the sender does not wait for any acknowledgement of packet sent.
This shortcoming makes this protocol unreliable as well as easier on processing.
Features:-
UDP application:-
Source port – The port of the device sending the data. This field can be set to
zero if the destination computer doesn’t need to reply to the sender.
WEB TECHNOLOGIES (JASWANTHI) Page 62
Destination port – The port of the device receiving the data. UDP port numbers
can be between 0 and 65,535.
Length – Specifies the number of bytes comprising the UDP header and the
UDP payload data. The limit for the UDP length field is determined by the
underlying IP protocol used to transmit the data.
Checksum – The checksum allows the receiving device to verify the integrity
of the packet header and payload. It is optional in IPv4 but was made mandatory
in IPv6.
*****
Difference between UDP and TCP:
As we know that both TCP (Transmission Control Protocol) and UDP (User
Datagram Protocol) are the most widely used Internet protocols among which
TCP is connection oriented − once a connection is established, data can be sent
bidirectional. UDP is a simpler, connectionless Internet protocol. Multiple
messages are sent as packets in chunks using UDP. Now on the basis of features
of attributes we can distinguish between TCP and UDP
Following are the important differences between TCP and UDP.
*****
DNS is a TCP/IP protocol used on different platforms. The domain name space is
divided into three different sections: generic domains, country domains, and
inverse domain.
Generic Domains:-
Label Description
The format of country domain is same as a generic domain, but it uses two-
character country abbreviations (e.g., us for the United States) in place of three
character organizational abbreviations.
Inverse Domain:-
The inverse domain is used for mapping an address to a name. When the server
has received a request from the client, and the server contains the files of only
authorized clients. To determine whether the client is on the authorized list or not,
it sends a query to the DNS server and ask for mapping an address to the name.
Working of DNS:
*****
Electronic Mail (Email):
Email messages are conveyed through email servers; it uses multiple protocols
within the TCP/IP suite. For example, SMTP is a protocol, stands for simple mail
Although most of the webmail servers automatically configure your mail account,
therefore, you only required to enter your email address and password. However,
you may need to manually configure each account if you use an email client like
Microsoft Outlook or Apple Mail. In addition, to enter the email address and
password, you may also need to enter incoming and outgoing mail servers and
the correct port numbers for each one.
The email was developed to support rich text with custom formatting, and the
original email standard is only capable of supporting plain text messages. In
modern times, email supports HTML
In 1971, as a test e-mail message, Ray Tomlinson sent the first e-mail to himself.
This email was contained the text "something like QWERTYUIOP." However,
the e-mail message was still transmitted through ARPANET, despite sending the
e-mail to himself. Most of the electronic mail was being sent as compared to
postal mail till 1996.
*****
Objectives of FTP
Although transferring files from one system to another is very simple and
straightforward, but sometimes it can cause problems. For example, two systems
may have different file conventions. Two systems may have different ways to
represent text and data. Two systems may have different directory structures. FTP
protocol overcomes these problems by establishing two connections between
hosts. One connection is used for data transfer, and another connection is used for
the control connection.
Mechanism of FTP:
The above figure shows the basic model of the FTP. The FTP client has three
components: the user interface, control process, and data transfer process. The
server has two components: the server control process and the server data transfer
process.
1.Control Connection: The control connection uses very simple rules for
communication. Through control connection, we can transfer a line of command
or line of response at a time. The control connection is made between the control
processes. The control connection remains connected during the entire interactive
FTP session.
2.Data Connection: The Data Connection uses very complex rules as data types
may vary. The data connection is made between data transfer processes. The data
connection opens when a command comes for transferring the files and closes
when the file is transferred.
FTP Clients:
Advantages of FTP:
Speed: One of the biggest advantages of FTP is speed. The FTP is one of
the fastest way to transfer the files from one computer to another computer.
Efficient: It is more efficient as we do not need to complete all the
operations to get the entire file.
Security: To access the FTP server, we need to login with the username
and password. Therefore, we can say that FTP is more secure.
Disadvantages of FTP:
The standard requirement of the industry is that all the FTP transmissions
should be encrypted. However, not all the FTP providers are equal and not
all the providers offer encryption. So, we will have to look out for the FTP
providers that provides encryption.
FTP serves two operations, i.e., to send and receive large files on a
network. However, the size limit of the file is 2GB that can be sent. It also
doesn't allow you to run simultaneous transfers to multiple receivers.
Passwords and file contents are sent in clear text that allows unwanted
eavesdropping. So, it is quite possible that attackers can carry out the brute
force attack by trying to guess the FTP password.
It is not compatible with every system.
*****
Trivial File Transfer Protocol (TFTP):
TFTP Server is used for simple file transfer (typically for boot-loading remote
devices).
The TFTP Server can also be used to upload HTML pages onto the HTTP
Server or to download log files to a remote PC. In this case, the File System
Component must be used, and the HTTP Server must be properly configured.
2.Access Interface shows how to filter out hosts, which are not allowed to
connect to the TFTP Server.
3.File System Interface gives you details about the functions that are used to
read/write data on the TFTP server's storage device.
TFTP Client:--
TFTP Client is used to connect to a TFTP Server for simple file transfer.
A TFTP Client can exchange files with a TFTP Server. File delete, file move,
and file rename are not impossible, because the TFTP protocol does not support
these file operations in general.
2.User Callback: describes the operation of a TFTP client session and how an
event notification is sent to the user application.
*****
In this article I'm going to look at the journey the World Wide Web's gone
through to become the powerhouse that it is today and establish what we can
learn from the past.
In order to understand the history of the World Wide Web it's important to
understand the differences between the World Wide Web and The Internet. Many
people refer to them as the same thing, but in fact, although the end result is the
common perception of most everyday users, they are very different.
The internet is a series of huge computer networks that allows many computers to
connect and communicate with each other globally. Upon the internet reside a
series of languages which allow information to travel between computers. These
are known as protocols. For instance, some common protocols for transferring
emails are IMAP, POP3 and SMTP. Just as email is a layer on the internet, the
World Wide Web is another layer which uses different protocols.
The building blocks of the Web are web pages which are formatted in HTML and
connected by links called "hypertext" or hyperlinks and accessed by HTTP.
These links are electronic connections that link related pieces of information so
that users can access the desired information quickly. Hypertext offers the
advantage to select a word or phrase from text and thus to access other pages that
provide additional information related to that word or phrase.
Small websites store all of their WebPages on a single server, but big websites or
organizations place their WebPages on different servers in different countries so
that when users of a country search their site they could get the information
quickly from the nearest server.
Browsing:
A browser is a software program that is used to explore, retrieve, and display the
information available on the World Wide Web. This information may be in the
form of pictures, web pages, videos, and other files that all are connected via
hyperlinks and categorized with the help of URLs (Uniform Resource
Identifiers). For example, you are viewing this page by using a browser.
Features of Web Browser:- Most Web browsers offer common features such as:
1. Refresh button: Refresh button allows the website to reload the contents
of the web pages. Most of the web browsers store local copies of visited
pages to enhance the performance by using a caching mechanism.
Sometimes, it stops you from seeing the updated information; in this case,
by clicking on the refresh button, you can see the updated information.
2. Stop button: It is used to cancel the communication of the web browser
with the server and stops loading the page content. For example, if any
malicious site enters the browser accidentally, it helps to save from it by
clicking on the stop button.
3. Home button: It provides users the option to bring up the predefined home
page of the website.
4. Web address bar: It allows the users to enter a web address in the address
bar and visit the website.
5. Tabbed browsing: It provides users the option to open multiple websites
on a single window. It helps users to read different websites at the same
time. For example, when you search for anything on the browser, it
*****
Locating Information on the Internet:
Four Steps to Locating Information on the Internet
Step One:
Define and refine the research question
Narrow the topic to several specific questions
Keep refining research questions. It is easy to get off on a side track and waste
time on topics that are related, but don't really address the question that you are
researching
Graphic organizers and outlines are useful
Develop a list of key words for your research questions
Step Two
Locate Sources: using search engines listed below
Utilize Multiple web pages – 3 required for presentation
Going on the Internet:
o First choice: www.google.com www.av.com
o Second Choice: www.yahoo.com or www.wikipedia.org
o Third Choice: www.dogpile www.mamma.com
www.yahooligans.com
o Look first for good sources, don't just start taking notes from the first
thing that you find. Reading the website information is a must. Do not
just copy and paste. Know your topic information inside and out before
you present.
Step Three
Check the source of the information that you find:
Who posted this information?
Is this a reliable source?
Is this a biased source?
Is this site trying to sell you something?
Always confirm information found on this page with another source on or off
the Internet.
Copy and paste the Web address (URL) so you can credit the source
information in your work. You must have all URLs on a reference slide listed
for any information, pictures, and sound files you used in your presentation.
*****
HTML:
HTML stands for Hyper Text Markup Language. It is a formatting language
used to define the appearance and contents of a web page. It allows us to
organize text, graphics, audio, and video on a web page.
Key Points:
The word Hypertext refers to the text which acts as a link.
The word markup refers to the symbols that are used to define structure of
the text. The markup symbols tells the browser how to display the text and
are often called tags.
The word Language refers to the syntax that is similar to any other
language.
HTML was created by Tim Berners-Lee at CERN.
HTML Versions
The following table shows the various versions of HTML:
Version Year
XHTML 2000
HTML5 2012
HTML Tags:- Tag is a command that tells the web browser how to display the
text, audio, graphics or video on a web page.
Key Points:
Tags are indicated with pair of angle brackets.
They start with a less than (<) character and end with a greater than (>)
character.
The tag name is specified between the angle brackets.
Most of the tags usually occur in pair: the start tag and the closing tag.
The start tag is simply the tag name is enclosed in angle bracket whereas
the closing tag is specified including a forward slash (/).
Some tags are the empty i.e. they don’t have the closing tag.
Tags are not case sensitive.
The starting and closing tag name must be the same. For example <b>
hello </i> is invalid as both are different.
If you don’t specify the angle brackets (<>) for a tag, the browser will treat
the tag name as a simple text.
The tag can also have attributes to provide additional information about
the tag to the browser.
Basic tags
The following table shows the Basic HTML tags that define the basic web page:
Tag Description
Browser Vendor
Safari Apple
K-meleon K-meleon
Architecture:- There are a lot of web browser available in the market. All of
them interpret and display information on the screen however their capabilities
and structure varies depending upon implementation. But the most basic
component that all web browser must exhibit are listed below:
Controller/Dispatcher
Interpreter
Client Programs
Controller works as a control unit in CPU. It takes input from the keyboard or
mouse, interpret it and make other services to work on the basis of input it
receives.
Interpreter receives the information from the controller and execute the
instruction line by line. Some interpreter are mandatory while some are optional
For example, HTML interpreter program is mandatory and java interpreter is
optional.
Client Program describes the specific protocol that will be used to access a
particular service. Following are the client programs tat are commonly used:
HTTP
SMTP
FTP
NNTP
POP
Scripting Languages:-
*
Multimedia:
Multimedia comes in many different formats. It can be almost anything you can
hear or see, like images, music, sound, videos, records, films, animations, and
more.
Web pages often contain multimedia elements of different types and formats.
Browser Support:-
The first web browsers had support for text only, limited to a single font in a
single color.
Later came browsers with support for colors, fonts, images, and multimedia!
Multimedia Formats:-
The most common way to discover the type of a file, is to look at the file
extension.
more in HTML.
by HTML.
Supported by HTML.
*****
Local Login:-
When a user logs into a local computer, then it is known as local login.
When the workstation running terminal emulator, the keystrokes entered by the
user are accepted by the terminal driver. The terminal driver then passes these
characters to the operating system which in turn, invokes the desired application
program.
However, the operating system has special meaning to special characters. For
example, in UNIX some combination of characters have special meanings such
as control character with "z" means suspend. Such situations do not create any
problem as the terminal driver knows the meaning of such characters. But, it can
cause the problems in remote login.
Remote login:-
The user sends the keystrokes to the terminal driver, the characters are then
sent to the TELNET client. The TELNET client which in turn, transforms the
characters to a universal character set known as network virtual terminal
characters and delivers them to the local TCP/IP stack
The commands in NVT forms are transmitted to the TCP/IP at the remote
machine. Here, the characters are delivered to the operating system and then
pass to the TELNET server. The TELNET server transforms the characters
which can be understandable by a remote computer. However, the characters
cannot be directly passed to the operating system as a remote operating
system does not receive the characters from the TELNET server. Therefore it
requires some piece of software that can accept the characters from the
TELNET server. The operating system then passes these characters to the
appropriate application program.
The network virtual terminal is an interface that defines how data and
commands are sent across the network.
In today's world, systems are heterogeneous. For example, the operating system
accepts a special combination of characters such as end-of-file token running a
DOS operating system ctrl+z while the token running a UNIX operating system
is ctrl+d.
*****
Features:-
****
*****
Types of E Commerce:
Generally speaking, when we think of e-commerce, we think of an online
commercial transaction between a supplier and a client. However, and although
this idea is right, we can be more specific and actually divide e-commerce into
six major types, all with different characteristics.
1. Business-to-Business (B2B)
2. Business-to-Consumer (B2C)
3. Consumer-to-Consumer (C2C)
4. Consumer-to-Business (C2B).
5. Business-to-Administration (B2A)
6. Consumer-to-Administration (C2A)
These types of relationships can be easier and more dynamic, but also
more sporadic or discontinued. This type of commerce has developed greatly, due
to the advent of the web, and there are already many virtual stores and malls on
the Internet, which sell all kinds of consumer goods, such as computers, software,
books, shoes, cars, food, financial products, digital publications, etc.
Both models involving Public Administration (B2A and C2A) are strongly
associated to the idea of efficiency and easy usability of the services provided to
citizens by the government, with the support of information and communication
technologies.
*****
Approaches for Developing E Commerce Solutions:
1.Increase eCommerce Search Usability:-
To optimize the UX of your online store even more, organize your web store for
these two main groups of potential customers:
The second category is potential customers who just want to browse through the
online store and compare items. They will use navigation menus and move
between product categories and pages. To make their experience smooth,
organize the menu bar and categories in intuitive easy-to-use sections.
Showing good viewable thumbnails in the search results page will help users find
the desired product in one click and get a better idea of what you are offering.
Additionally, make your product descriptions concise and straight to the point.
Avoid fluff and create a comprehensive list of features and benefits. Your target
customers want to know everything about a potential purchase and how this
product would help them and improve their everyday life, and keep this a
consistent theme in your eCommerce digital strategy.
59% of online shoppers believe that it is easier to find more interesting products
on personalized online retail stores”, invespcro.com, Online Shopping
Personalization – Statistics and Trends
This allows visitors to concentrate on the category that they are most
interested in and shop without any distractions, which means a better customer
experience for them and an improved conversion rate for you.
To do this, you first need to understand your customers – their wants, needs, and
pain points as well as their customer journey. It’s essential that you know your
target market well, and in particular how they consume content and what kind of
information they need depending on each stage of their journey.
To ensure you focus your eCommerce business strategy on the right areas, do
tests with headlines, measure how well different types of content work, which
generates the most traffic to your online store, and which of them led to the most
sales.
If your target audience are millennials we have great ideas on how you can attract
them to your eCommerce website.
Here’s a little bonus for readers that own a WooCommerce shop – check Tyche
Softwares’ Abandoned Cart Pro Plugin for minimizing cart abandonment rates.
Include sign-up fields at the end of your blog posts or buying guides. If the
visitors enjoyed the content you provided them, they will be happy to keep in
touch and get information about news, discounts, and promotions and thus be
willing to leave their email.
Social networks such as Instagram, Snapchat, and Pinterest, are usually best for
an eCommerce marketing strategy focused on selling products, however, don’t
underestimate Twitter and Facebook as more than 75% of all internet users are
also there.
*****
Purchaser systems (buy-side solutions): In this case, the purchaser defines the
conditions such as prices and quantities for their procurement process. If, for
example, large industrial companies have a need for spare parts, a call for tender
can be posted through the e-procurement system. A number of suppliers have the
possibility to obtain the contract for the production of these parts via the system.
*****
PROCESS MODEL:-
POLICY MODEL:-
TACTICAL MODEL:-
An organization operating within the Tactical model will have recognised the
importance of procurement and it will be seen as a distinct function. Reliable
procurement processes will exist to ensure that procurement activity is carried out
in accordance with standard practices across the agency and there will be
established methods of mandating approved procurement practices that reduce
‘maverick’ spend and other anomalous buying behaviour. Procurement policies
will be established across all major aspects of procurement. The language and
STRATEGIC MODEL:-
*****
E-Procurement Solutions:
E-reverse auctioning – Surplus goods and services are usually auctioned off by
a business to other buying organizations. The buying organizations submit bids to
the selling organization for the purchase of goods. The auction operates in an
upward or a downward pricing mechanism. A reverse auction operates in the
opposite fashion where a buying organization asks for goods and services it
requires from a number of suppliers. E-reverse auctioning is the reverse
auctioning function done through Internet technology. E-reverse auctioning
focuses on the price of goods and services auctioned, other factors like the
quality, reputation of suppliers, etc. are taken care of by the preceding phases
E-informing – The informing process is not directly associated with the steps of
the procurement process. E-informing is concerned with the gathering and
distributing purchasing information from and to internal and external parties with
the help of Internet technology. Publishing purchasing management information
on an extranet that is accessible to internal clients and suppliers is a type of e-
informing. The data gathered by e-informing software is used for purchasing
intelligence and spend control management.
*****
Trading Models:
E-commerce business models can generally be categorized into the following
categories.
*****
Buyer Side Purchasing:
A business involved in buy-side activities will purchase stocks, bonds, and other
financial products based on the needs and strategy of their company's or client's
portfolio. The buy-side activity takes place in many settings not limited to the
financial institutions mentioned above. They also include trusts, equity funds,
and high-net-worth individuals.
The whole point of buy-side investing is to create value for a firm's clients. They
do this by identifying and purchasing underpriced assets that they believe will
appreciate over time. Since the buy-side involves buying large blocks of market
securities, the most prestigious companies often have a great deal of market
power. These market titans are also closely watched by investors and the media.
*****
*
WEB TECHNOLOGIES (JASWANTHI) Page 105
Customer Relationship Management (CRM):-
Customer relationship management (CRM) is the combination of practices,
strategies and technologies that companies use to manage and analyze customer
interactions and data throughout the customer lifecycle. The goal is to improve
customer service relationships and assist in customer retention and drive sales
growth. CRM systems compile customer data across different channels, or points
of contact, between the customer and the company, which could include the
company's website, telephone, live chat, direct mail, marketing materials
and social networks. CRM systems can also give customer-facing staff members
detailed information on customers' personal information, purchase history,
buying preferences and concerns.
Components of CRM:-
At the most basic level, CRM software consolidates customer information and
documents it into a single CRM database so business users can more easily
access and manage it.
Over time, many additional functions have been added to CRM systems to make
them more useful. Some of these functions include recording various customer
interactions over email, phone, social media or other channels; depending on
system capabilities, automating various workflow automation processes, such as
tasks, calendars and alerts; and giving managers the ability to track performance
and productivity based on information logged within the system.
Shopping Cart:-
This is an integral part of any eCommerce store, the shopping cart. This is where
your end consumers store their products to continue with the checkout process. A
flexible cart allows both the guest user and registered user to checkout. In
comparison, the guest checkout does not require the user to sign up on the site,
hence making the process faster.
Security:-
This feature is one of the most important feature as it ensures that no crucial data
such as credit card information is saved and for all prepaid shipments the
checkout is carried out through a secure payment gateway. The passwords are
hashed and not stored in a readable format. All web pages should be protected by
SSL. The servers are secure and protected using state of the art services.
Scalable Infrastructure:-
Your hosting infrastructure should be able to scale as you get more and more
traffic. A higher latency leads to drops in transaction rates and leads to loss of
marketing dollars. CDN should be used to improve the website’s performance
and to manage the products online. It also provides excellent uptime, ensuring
that the website is readily available everywhere and at any time.
Mobile Compatibility:-
Great eCommerce websites usually offer three types of solutions for mobile
compatibility. First is ensuring that the mobile view is responsive and properly
accommodated according to the device. The WAP is a mobile-specific template
which optimizes the website in size and generates less loading time. API’s for
building mobile apps is essential since everyone now likes to browse via phones.
It is one of the most relevant features of eCommerce websites as it drives
engagement and visits on a relatively large channel.
Reports and Analytics:-
The reports should be available as exports which contain detailed information
regarding the orders, customer database, and product reports in terms of
catalogue. It is quite useful for analyzing the growth of the business. The
websites should be pre-integrated with marketing tools and analytics to better
market the brand and read reports about the performance of the store.
Logistics integration:-
Integrating logistics services allows not only seamless shipping but also ensures
that the merchant and the consumer get real time courier updates along with order
tracking capability. This allows the user to manage shipments from the same
panel instead of approaching the courier partners separately.
Shiprocket is a platform that can help you with shipping across 26000+ pin
codes, at the cheapest rates starting from Rs. 22/500g. The best part is that
Shiprocket has integrations with 17+ courier partners. This gives you a wider pin
Scripting Languages:-
1.Messy Code:-
Broken links are links on your site that don’t work, whether they are links
directing visitors to a page off of your website or that exists on your website.
When you click on a broken link, you’ll be taken to a 404 page, which displays a
message indicating that the page could not be found. There are several issues
with having broken links. Visitors will be frustrated if they click on a link and it
doesn’t take them to where they’re expecting to go. This reflects poorly on your
site and on your brand. If you can’t maintain your website, how can visitors be
expected to trust in the quality of your brand?
Broken links also indicate to Google and other search engines that you’re not
keeping your website up to date. This can hurt your search engine rankings.
When your rankings decline, so will your website’s exposure, resulting in fewer
visitors.
Slow loading times can absolutely kill the website experience of your visitors.
Few people have the patience to wait more than a few seconds for a page to load–
especially when they’ve become so accustomed to how quickly other high-
quality websites load. If your site won’t load, they can find a site that will.
If that wasn’t bad enough, losing visitors as a result of slow loading times will
cause your bounce rate to spike. The bounce rate is a metric referring to how
many people leave your page without engaging further. A high bounce rate will
hurt your search engine rankings.
5. Cluttered Homepage:-
Your homepage is the introduction to not just your website, but to your business.
As such, you need to make sure it leaves a good first impression on new visitors.
One of the more common mistakes businesses make on their homepage is trying
to present too much information. This causes it to become cluttered. A cluttered
homepage can be overwhelming and difficult to read, making it hard for visitors
to find what they’re looking for.
*****
Tiers:
In client server computing, the clients requests a resource and the server provides
that resource. A server may serve multiple clients at the same time while a client
is in contact with only one server.
The different structures for two tier and three tier are given as follows –
Two - Tier Client/Server Structure:-
The two tier architecture primarily has two parts, a client tier and a server tier.The
client tier sends a request to the server tier and the server tier responds with the
desired information.
An example of a two tier client/server structure is a web server. It returns the
required web pages to the clients that requested them.
An illustration of the two-tier client/server structure is as follows −
If the client nodes are increased beyond capacity in the structure, then the
server is not able to handle the request overflow and performance of the
system degrades.
Three - Tier Client/Server Structure:-
The three tier architecture has three layers namely client, application and data
layer. The client layer is the one that requests the information. In this case it
could be the GUI, web interface etc. The application layer acts as an interface
between the client and data layer. It helps in communication and also provides
security. The data layer is the one that actually contains the required data.
An illustration of the three-tier client/server structure is as follows −
The three tier structure provides much better service and fast performance.
The structure can be scaled according to requirements without any
problem.
Data security is much improved in the three tier structure.
Disadvantages of Three - Tier Client/Server Structure
A major disadvantage of the three-tier client/server structure is −
*****
WEB TECHNOLOGIES (JASWANTHI) Page 115
The Concept of a Tier:
The web tier consists of components that handle the interaction between clients
and the business tier. Its primary tasks are the following:
*****
A Concept of Microsoft and Java Technologies:
Concept of Microsoft:-
Company origins:-
Microsoft's roots go back at least as far as 1975, when the first commercially
available personalcomputer appeared on the cover of Popular
Electronics magazine. The Altair 8800 was a rudimentary system, but it found a
market for home-based computers and created a new demand for software to use
with these systems.
Bill Gates and his friend Paul Allen immediately saw the potential. Gates
contacted the manufacturer Micro Instrumentation and Telemetry Systems
(MITS) and offered to write a program for the new computer. Gates and Allen
created an interpreter for BASIC -- then a mainframe programming language -- to
use with the Altair.
Microsoft Office:-
Building on the success of its operating systems, Microsoft moved into the
development of productivity software.
In the Java programming language, all source code is first written in plain text
files ending with the .java extension. Those source files are then compiled
into .class files by the javac compiler. A .class file does not contain code that is
native to your processor; it instead contains bytecodes — the machine language
of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your
application with an instance of the Java Virtual Machine.
WEB TECHNOLOGIES (JASWANTHI) Page 117
An overview of the software development process:-
Through the Java VM, the same application is capable of running on multiple
platforms.
*****
A webpage may contain text, links for other pages, graphics, videos, etc.
Moreover, it is mainly used to provide information to the user in text, images, etc.
The WWW or Internet contains millions of web pages, and daily, a lot is being
added. Tim Berners-Lee developed the first webpage.
Let's understand some basic terms that are used with Webpage:
It connects to a web server on the internet and requests a page that the user
wants to view; once it finds that page, it displays it on its device.
WEB TECHNOLOGIES (JASWANTHI) Page 119
It can interpret the set of HTML tags within a page to display the page in the
correct format.
*****
Static Web Pages:
Static web pages are also known as flat or stationary web page. They are loaded
on the client’s browser as exactly they are stored on the web server. Such web
pages contain only static information. User can only read the information but
can’t do any modification or interact with the information.
Static web pages are created using only HTML. Static web pages are only used
when the information is no more required to be modified.
*****
Plug-ins:
A plug-in is piece of code written in a standard JavaScript file. These files
provide useful jQuery methods which can be used along with jQuery library
methods.
There are plenty of jQuery plug-in available which you can download from
repository link at https://jquery.com/plugins.
<body>
.............................
</body>
</html>
*****
Introduction to Frames and Forms:
Frames:-
HTML frames are used to divide your browser window into multiple sections
where each section can load a separate HTML document. A collection of frames
in the browser window is known as a frameset. The window is divided into
frames in a similar way the tables are organized: into rows and columns.
Disadvantages of Frames:-
There are few drawbacks with using frames, so it's never recommended to use
frames in your webpages −
Some smaller devices cannot cope with frames often because their screen
is not big enough to be divided up.
Creating Frames:-
To use frames on a page we use <frameset> tag instead of <body> tag. The
<frameset> tag defines, how to divide the window into frames.
The rows attribute of <frameset> tag defines horizontal frames and cols attribute
defines vertical frames. Each frame is indicated by <frame> tag and it defines
which HTML document shall open into the frame.
Note − The <frame> tag deprecated in HTML5. Do not use this element.
Example:-
Following is the example to create three horizontal frames −
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
Forms:-
HTML Forms are required, when you want to collect some data from the site
visitor. For example, during user registration you would like to collect
information such as name, email address, credit card, etc.
There are different types of form controls that you can use to collect data using
HTML form −
This control is used for items that require only one line of user input, such as
search boxes or names. They are created using HTML <input> tag.
Example
Here is a basic example of a single-line text input used to take first name and last
name −
<!DOCTYPE html>
<html>
<head>
<title>Text Input Control</title>
</head>
<body>
<form >
First name: <input type = "text" name = "first_name" />
<br>
Last name: <input type = "text" name = "last_name" />
</form>
</body>
</html>
This is also a single-line text input but it masks the character as soon as a user
enters it. They are also created using HTML <input>tag but type attribute is set
to password.
Example
Here is a basic example of a single-line password input used to take user
password −
<!DOCTYPE html>
<html>
<head>
<title>Password Input Control</title>
</head>
<body>
</html>
This is used when the user is required to give details that may be longer than a
single sentence. Multi-line input controls are created using HTML <textarea>
tag.
Example
Here is a basic example of a multi-line text input used to take item description −
<!DOCTYPE html>
<html>
<head>
<title>Multiple-Line Input Control</title>
</head>
<body>
<form>
Description : <br />
<textarea rows = "5" cols = "50" name = "description">
Enter description here...
</textarea>
</form>
</body>
</html>
Checkbox Control:-
Checkboxes are used when more than one option is required to be selected. They
are also created using HTML <input> tag but type attribute is set to checkbox..
Example
Here is an example HTML code for a form with two checkboxes −
<head>
<title>Checkbox Control</title>
</head>
<body>
<form>
<input type = "checkbox" name = "maths" value = "on"> Maths
<input type = "checkbox" name = "physics" value = "on"> Physics
</form>
</body>
</html>
Radio buttons are used when out of many options, just one option is required to
be selected. They are also created using HTML <input> tag but type attribute is
set to radio.
Example
Here is example HTML code for a form with two radio buttons −
<!DOCTYPE html>
<html>
<head>
<title>Radio Box Control</title>
</head>
<body>
<form>
<input type = "radio" name = "subject" value = "maths"> Maths
<input type = "radio" name = "subject" value = "physics"> Physics
</form>
</body>
</html>
A select box, also called drop down box which provides option to list down
various options in the form of drop down list, from where a user can select one
or more options.
Example
Here is example HTML code for a form with one drop down box
<!DOCTYPE html>
<html>
<head>
<title>Select Box Control</title>
</head>
<body>
<form>
<select name = "dropdown">
<option value = "Maths" selected>Maths</option>
<option value = "Physics">Physics</option>
</select>
</form>
</body>
</html>
If you want to allow a user to upload a file to your web site, you will need to use
a file upload box, also known as a file select box. This is also created using the
<input> element but type attribute is set to file.
Example
Here is example HTML code for a form with one file upload box −
<!DOCTYPE html>
<html>
<head>
<title>File Upload Box</title>
</head>
<body>
</html>
Button Controls:-
There are various ways in HTML to create clickable buttons. You can also
create a clickable button using <input>tag by setting its type attribute to button.
Hidden form controls are used to hide data inside the page which later on can be
pushed to the server. This control hides inside the code and does not appear on
the actual page. For example, following hidden form is being used to keep
current page number. When a user will click next page then the value of hidden
control will be sent to the web server and there it will decide which page will be
displayed next based on the passed current page.
Example
Here is example HTML code to show the usage of hidden control −
<!DOCTYPE html>
<html>
<head>
<title>File Upload Box</title>
</head>
<body>
<form>
<p>This is page 10</p>
<input type = "hidden" name = "pagename" value = "10" />
<input type = "submit" name = "submit" value = "Submit" />
<input type = "reset" name = "reset" value = "Reset" />
</form>
</body>
</html>
*****
Dynamic pages usually contain application programs for different services and
require server-side resources like databases. A database allows the page creator to
separate the website’s design from the content to be displayed to users. Once they
upload content into the database, it is retrieved by the website in response to a
user request.
When the webserver receives a user request for a dynamic page, it does not send
the page directly to the requesting browser as it would do with a static page.
Instead, it passes the page to the application server which then completes three
activities:
*****
CLIENT-SIDE SCRIPTING:-
Web pages that change in response to an action within that web page, such as a
mouse or a keyboard action, use client-side scripting.
Scripting languages such as JavaScript and Flash allow a web page to respond to
client-side events.
SERVER-SIDE SCRIPTING:-
Web pages that change when a web page is loaded or visited use server-side
scripting. Server-side content is content that's generated when a web page is
loaded. For example, login pages, forums, submission forms, and shopping carts,
all use server-side scripting since those web pages change according to what is
submitted to it.
Scripting languages such as PHP, ASP, ASP.NET, JSP, ColdFusion and Perl
allow a web page to respond to submission events.
*****
A client-side dynamic web page processes the web page using HTML
scripting running in the browser as it loads. JavaScript and other scripting
languages determine the way the HTML in the received page is parsed into
the Document Object Model, or DOM, that represents the loaded web page. The
same client-side techniques can then dynamically update or change the DOM in
the same way. Even though a web page can be dynamic on the client-side, it can
still be hosted on a static hosting service such as GitHub Pages or Amazon S3 as
long as there isn’t any server-side code included.
*****
DHTML stands for Dynamic Hypertext Markup language i.e., Dynamic HTML.
The DHTML application was introduced by Microsoft with the release of the
4th version of IE (Internet Explorer) in 1997.
o HTML 4.0
o CSS
o JavaScript
o DOM.
HTML 4.0:-
CSS:-
CSS stands for Cascading Style Sheet, which allows the web users or developers
for controlling the style and layout of the HTML elements on the web pages.
JavaScript:-
DOM:-
Uses of DHTML:-
o It is used for designing the animated and interactive web pages that are
developed in real-time.
o DHTML helps users by animating the text and images in their documents.
o It allows the authors for adding the effects on their pages.
o It also allows the page authors for including the drop-down menus or
rollover buttons.
Features of DHTML:-
Its simplest and main feature is that we can create the web page
dynamically.
Dynamic Style is a feature, that allows the users to alter the font, size, color,
and content of a web page.
It provides the facility for using the events, methods, and properties. And,
also provides the feature of code reusability.
It also provides the feature in browsers for data binding.
Using DHTML, users can easily create dynamic fonts for their web sites or
web pages.
With the help of DHTML, users can easily change the tags and their
properties.
The web page functionality is enhanced because the DHTML uses low-
bandwidth effect.
*****
Common Gateway Interface (CGI):
The Common Gateway Interface, or CGI, is a set of standards that define how
information is exchanged between the web server and a custom script.
The CGI specs are currently maintained by the NCSA and NCSA defines CGI is
as follows −
The Common Gateway Interface, or CGI, is a standard for external gateway
programs to interface with information servers such as HTTP servers.
The current version is CGI/1.1 and CGI/1.2 is under progress.
Web Browsing:-
To understand the concept of CGI, lets see what happens when we click a hyper
link to browse a particular web page or URL.
Before you proceed with CGI Programming, make sure that your Web Server
supports CGI and it is configured to handle CGI Programs. All the CGI
Programs be executed by the HTTP server are kept in a pre-configured directory.
This directory is called CGI Directory and by convention it is named as /cgi-bin.
By convention PERL CGI files will have extention as .cgi.
#!/usr/bin/perl
print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<title>Hello Word - First CGI Program</title>';
print '</head>';
print '<body>';
*****
ASP stands for Active Server Page. ASP was developed by Microsoft to allow
programmers to create a dynamic website. It is the first server side script engine
and now has been superseded by ASP.NET. ASP is an HTML page that includes
one or more scripts. Scripts are processed by an ASP interpreter on a web server
by using input requested for a page to access data from a database before
delivering it to the receiver.
ASP: Application Service Provider:- ASP also stands for Application Service
Provider. An ASP is business providing internet applications and other related
services to their customers across a wide area network.
*****
Basics of ASP Technology:
ASP.NET is a web development platform, which provides a programming
model, a comprehensive software infrastructure and various services required to
build up robust web applications for PC, as well as mobile devices.
ASP.NET works on top of the HTTP protocol, and uses the HTTP commands
and policies to set a browser-to-server bilateral communication and cooperation.
ASP.NET is a part of Microsoft .Net platform. ASP.NET applications are
compiled codes, written using the extensible and reusable components or objects
present in .Net framework. These codes can use the entire hierarchy of classes in
.Net framework.
The ASP.NET application codes can be written in any of the following
languages:
C#
Visual Basic.Net
Jscript
J#
ASP.NET is used to produce interactive, data-driven web applications over the
internet. It consists of a large number of controls such as text boxes, buttons, and
labels for assembling, configuring, and manipulating code to create HTML
pages.
ASP.NET web forms extend the event-driven model of interaction to the web
applications. The browser submits a web form to the web server and the server
returns a full markup page or HTML page in response.
All client side user activities are forwarded to the server for stateful processing.
The server processes the output of the client actions and triggers the reactions.
Now, HTTP is a stateless protocol. ASP.NET framework helps in storing the
information regarding the state of the application, which consists of:
Page state
Hello World!
*****
A New Framework:-
If you are using ASP.NET core for .Net Development for a long time or
enthusiastic about it, then you might be aware that Microsoft already announced a
new framework named ASP.NET Core 1.0 to build cloud-based, Internet-
connected applications but it came as a surprise to the renowned
developers. ASP.NET Core is a cross-platform, high-performance and
lightweight framework with which you can build IoT apps, development tools on
Windows, Linux & macOS and deploy to the cloud.
Nowadays, trends revolving around Big data & IoT is not new. With Big Data
present in the picture, it became easy for the industry to store huge amounts of
data on the cloud that can be accessed easily from any place and it helped the
analytics to take proper decisions in real-time depending on the organized data.
Now, the interesting part is that ASP.NET platform allows the industry to take
advantage of IoT and Big Data technologies. IIS or Internet Information Server is
one of the most powerful web servers from Microsoft that is used to host
ASP.NET web applications and the combination of both can deliver a highly
scalable solution which is indeed an advantage for any business!
Cloud Service:-
Cloud service became popular in recent times because of its storage property. A
huge amount of data can be stored and accessed from anywhere around the world
and that too, anytime! With an increasing trend of business to shift towards cloud,
Microsoft developed Azure, an operating system for the cloud to play with big
data and provide a complete analytics solution. Through Azure, the .NET
application whose business logic is based on ASP .NET can be deployed on the
cloud that has been developed using ASP .NET MVC front-end.
Talking About Key Trends for ASP.Net, With the latest releases of the software
and .NET technologies in the market, .NET is becoming a popular choice of the
framework because it provides flexible business application within budget.
Whether you are developing dynamic websites or mobile apps or business
intelligence applications- reliable & scalable ASP .NET is your best solution in
2018!
*****
JVMs are available for many hardware and software platforms (i.e. JVM is
platform dependent).
What is JVM
1. A specification where working of Java Virtual Machine is specified. But
implementation provider is independent to choose the algorithm. Its
implementation has been provided by Oracle and other companies.
2. An implementation Its implementation is known as JRE (Java Runtime
Environment).
3. Runtime Instance Whenever you write java command on the command
prompt to run the java class, an instance of JVM is created.
What it does
Loads code
Verifies code
Executes code
Provides runtime environment
Memory area
Class file format
Register set
Garbage-collected heap
Fatal error reporting etc.
JVM Architecture:
2) Class(Method) Area:-
Class(Method) Area stores per-class structures such as the runtime constant pool,
field and method data, the code for methods.
3) Heap:-
Java Stack stores frames. It holds local variables and partial results, and plays a
part in method invocation and return.
Each thread has a private JVM stack, created at the same time as thread.
PC (program counter) register contains the address of the Java virtual machine
instruction currently being executed.
7) Execution Engine:-
It contains:
A virtual processor
Interpreter: Read bytecode stream then execute the instructions.
Just-In-Time(JIT) compiler: It is used to improve the performance. JIT
compiles parts of the byte code that have similar functionality at the same
time, and hence reduces the amount of time needed for compilation. Here, the
term "compiler" refers to a translator from the instruction set of a Java virtual
machine (JVM) to the instruction set of a specific CPU.
*****
Using Servlets, you can collect input from users through web page forms,
present records from a database or another source, and create web pages
dynamically.
Java Servlets often serve the same purpose as programs implemented using the
Common Gateway Interface (CGI). But Servlets offer several advantages in
comparison with the CGI.
Performance is significantly better.
Servlets execute within the address space of a Web server. It is not
necessary to create a separate process to handle each client request.
Servlets are platform-independent because they are written in Java.
Java security manager on the server enforces a set of restrictions to protect
the resources on a server machine. So servlets are trusted.
The full functionality of the Java class libraries is available to a servlet. It
can communicate with applets, databases, or other software via the
sockets and RMI mechanisms that you have seen already.
Applications of Servlet:-
Read the explicit data sent by the clients (browsers). This includes an
HTML form on a Web page or it could also come from an applet or a
custom HTTP client program.
Read the implicit HTTP request data sent by the clients (browsers). This
includes cookies, media types and compression schemes the browser
understands, and so forth.
Process the data and generate the results. This process may require talking
to a database, executing an RMI or CORBA call, invoking a Web service,
or computing the response directly.
JavaServer Pages often serve the same purpose as programs implemented using
the Common Gateway Interface (CGI). But JSP offers several advantages in
comparison with the CGI.
Performance is significantly better because JSP allows embedding
Dynamic Elements in HTML Pages itself instead of having separate CGI
files.
JSP are always compiled before they are processed by the server unlike
CGI/Perl which requires the server to load an interpreter and the target
script each time the page is requested.
JavaServer Pages are built on top of the Java Servlets API, so like Servlets,
JSP also has access to all the powerful Enterprise Java APIs,
including JDBC, JNDI, EJB, JAXP, etc.
JSP pages can be used in combination with servlets that handle the
business logic, the model supported by Java servlet template engines.
Finally, JSP is an integral part of Java EE, a complete platform for enterprise
class applications. This means that JSP can play a part in the simplest
applications to the most complex and demanding.
Applications of JSP:-
As mentioned before, JSP is one of the most widely used language over the web.
I'm going to list few of them here:
Applications of Servlet:-
Read the explicit data sent by the clients (browsers). This includes an HTML
form on a Web page or it could also come from an applet or a custom HTTP
client program.
Read the implicit HTTP request data sent by the clients (browsers). This
includes cookies, media types and compression schemes the browser
understands, and so forth.
Process the data and generate the results. This process may require talking to a
database, executing an RMI or CORBA call, invoking a Web service, or
computing the response directly.
Send the explicit data (i.e., the document) to the clients (browsers). This
document can be sent in a variety of formats, including text (HTML or XML),
binary (GIF images), Excel, etc.
Send the implicit HTTP response to the clients (browsers). This includes
telling the browsers or other clients what type of document is being returned
(e.g., HTML), setting cookies and caching parameters, and other such tasks.
*****
Java Sever pages (JSP):
Java Server Pages (JSP) is a server-side programming technology that enables
the creation of dynamic, platform-independent method for building Web-based
applications. JSP have access to the entire family of Java APIs, including the
JDBC API to access enterprise databases. This tutorial will teach you how to use
Java Server Pages to develop your web applications in simple and easy steps.
JavaServer Pages often serve the same purpose as programs implemented using
the Common Gateway Interface (CGI). But JSP offers several advantages in
comparison with the CGI.
Performance is significantly better because JSP allows embedding
Dynamic Elements in HTML Pages itself instead of having separate CGI
files.
Applications of JSP:-
As mentioned before, JSP is one of the most widely used language over the web.
I'm going to list few of them here:
JSP vs. Active Server Pages (ASP)
The advantages of JSP are twofold. First, the dynamic part is written in Java, not
Visual Basic or other MS specific language, so it is more powerful and easier to
use. Second, it is portable to other operating systems and non-Microsoft Web
servers.
JSP vs. Pure Servlets
It is more convenient to write (and to modify!) regular HTML than to have
plenty of println statements that generate the HTML.
JSP vs. Server-Side Includes (SSI)
SSI is really only intended for simple inclusions, not for "real" programs that use
form data, make database connections, and the like.
JSP vs. JavaScript
JavaScript can generate HTML dynamically on the client but can hardly interact
with the web server to perform complex tasks like database access and image
processing etc.
JSP vs. Static HTML
Regular HTML, of course, cannot contain dynamic information.
*****
*****
Java Applets:
An applet is a Java program that runs in a Web browser. An applet can be a
fully functional Java application because it has the entire Java API at its
disposal.
There are some important differences between an applet and a standalone Java
application, including the following −
An applet is a Java class that extends the java.applet.Applet class.
A main() method is not invoked on an applet, and an applet class will not
define main().
Applets are designed to be embedded within an HTML page.
When a user views an HTML page that contains an applet, the code for the
applet is downloaded to the user's machine.
A JVM is required to view an applet. The JVM can be either a plug-in of
the Web browser or a separate runtime environment.
The JVM on the user's machine creates an instance of the applet class and
invokes various methods during the applet's lifetime.
Applets have strict security rules that are enforced by the Web browser.
The security of an applet is often referred to as sandbox security,
comparing the applet to a child playing in a sandbox with various rules
that must be followed.
Request information about the author, version, and copyright of the applet
Request a description of the parameters the applet recognizes
Initialize the applet
Destroy the applet
Start the applet's execution
Stop the applet's execution
The Applet class provides default implementations of each of these methods.
Those implementations may be overridden as necessary.
The "Hello, World" applet is complete as it stands. The only method overridden
is the paint method.
*****
java.applet.Applet
java.awt.Graphics
Without those import statements, the Java compiler would not recognize the
classes Applet and Graphics, which the applet class refers to.
*****
JavaBeans Properties:-
A JavaBean property is a named attribute that can be accessed by the user of the
object. The attribute can be of any Java data type, including the classes that you
define.
A JavaBean property may be read, write, read only, or write only. JavaBean
properties are accessed through two methods in the JavaBean's implementation
class −
getPropertyName()
1
For example, if property name is firstName, your method name would
be getFirstName() to read that property. This method is called accessor.
setPropertyName()
2 For example, if property name is firstName, your method name would
be setFirstName() to write that property. This method is called mutator.
JavaBeans Example
public StudentsBean() {
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public int getAge(){
return age;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public void setAge(Integer age){
this.age = age;
}
}
Accessing JavaBeans
The useBean action declares a JavaBean for use in a JSP. Once declared, the
bean becomes a scripting variable that can be accessed by both scripting
elements and other custom tags used in the JSP. The full syntax for the useBean
tag is as follows −
<jsp:useBean id = "bean's name" scope = "bean's scope" typeSpec/>
*****
Step 2 − Select the Microsoft Picture Clip Control and click OK.
RMI Registry
RMI registry is a namespace on which all server objects are placed. Each time
the server creates an object, it registers this object with the RMIregistry
(using bind() or reBind() methods). These are registered using a unique name
known as bind name.
To invoke a remote object, the client needs a reference of that object. At that
time, the client fetches the object from the registry using its bind name
(using lookup() method).
The following illustration explains the entire process −
COM DCOM
It stands for Component Object Model. It stands for Distributed Component Object
Model.
COM is a set of components tools which DCOM runs on the given server.
are executed on client-side environment.
*****
An Overview of EDI:
EDI stands for Electronic Data Interchange. EDI is an electronic way of
transferring business documents in an organization internally, between its
various departments or externally with suppliers, customers, or any subsidiaries.
In EDI, paper documents are replaced with electronic documents such as word
documents, spreadsheets, etc.
EDI Documents
Invoices
Purchase orders
Shipping Requests
Acknowledgement
Business Correspondence letters
Financial information letters
For example, a car manufacturer (e.g. BMW) buys parts from a load of different
companies. It then needs to distribute manufactured cars to auto-dealers — only
some of which are under the direct control of BMW. Each of those purchase
orders and invoices could be done manually (printing out orders, manually re-
entering data, email or mailing invoice etc.). Or it could just be done
electronically and automatically using EDI.
*****
Understanding EDI:
Electronic data interchange (EDI) is the digital exchange of business documents
between companies using computers, replacing old school faxing and mailing
methods. Standard documents exchanged through EDI include purchase orders,
invoices, and shipping documents. EDI is used in a variety of industries by more
than 100,000 companies, most of whom require their trading partners also to
adopt EDI to ensure continuity, collaboration, and the standardization or ordering
and communication.
Electronic data interchange is now widely used both in the United States and
globally, based on a number of standards that have been enacted that provide
basic guidelines for its use. The two standards bodies that are most frequently
associated with Electronic Data Interchange are the ANSI X12 standard, used
primarily in the US, and the UN EDIFACT standard that is used outside of the
United States.
Automated Communication
To truly understand EDI, you need to break down each step in the exchange
process. How EDI differs from traditional communication between businesses
lies within how information is transferred. EDI is a computer-to-computer
exchange, without the need for any manual input. It aims to completely replace
the time-consuming nature of mail, fax, or even electronic mail.
When humans intervene in a communication process, it inevitably slows the
exchange process while increasing the risk of error. With each supplier and client
having unique requirements when it comes to conducting business, trying to
remember small nuances can be impossible. EDI uses this data to seamlessly
ensure all business requirements are met in order for companies, suppliers,
manufacturers, and merchants can meet all expectations.
A traditional ordering process is a long and arduous process, that looks something
like this:
1. A buyer fills out a purchasing order and then faxes or mails it to a supplier.
Data Exchange Standards facilitate the sharing of structured data across different
information systems. Data Exchange Standards are optimized to represent CDISC
content, and flexible enough to be used by information systems that haven’t
implemented the Foundational Standards (e.g., legacy data, academic studies).
Time delays: Delays are caused primarily by two factors. Paper documents
may take days to transport from one location to another. In addition, manual
processing delays are caused by the need to key, file, retrieve, and compare
data.
Labor costs: In non-EDI systems, manual processing is required for data
keying, document storing and retrieving, sorting, matching, reconciling,
envelope stuffing, stamping, signing, etc. While automated equipment can
help with some of these processes, most managers will agree that labor costs
for document processing represents a significant proportion of
their overhead. In general, labor-based processes are much more expensive
than non-labor-intensive operations involving computers and
telecommunications.
Errors: Because information is keyed multiple times and documents are
transported, stored, and retrieved by people, non-EDI systems tend to be error
prone.
Uncertainty: Uncertainty exists in two areas. First, paper transportation and
other manual processing delays mean that the time the document is received
is uncertain. Once a transaction is sent, the sender does not know when the
transaction will be received nor when it will be processed. Second, the sender
does not even know whether the transaction has been received at all nor
whether the receiver agrees with what was sent in the transaction.
High Inventories: Because of time delays and uncertainties in non EDI
processing, inventories are often higher than necessary. Lead times with
paper processing are long. In a manufacturing firm, it may be virtually
*****
Financial EDI:
EDI technology is used in the Finance/Banking Industry to improve operational
efficiency and reduce transaction costs across the supply chain, comprising of
Manufacturers, Suppliers, Customers, and Logistics providers, Retailers,
Wholesalers etc. Financial EDI allows for funds to be transferred electronically
between financial institutions - EDT (Electronic Data Transfer). EDT enables
employers to directly deposit payroll cheques, consumer accounts can be directly
debited and businesses can pay government taxes electronically.
Examples of organizations using EDI in the Finance/Banking Industry:-
Standard Bank, FNB, Absa, KPMG, Pricewaterhouse Coopers, Ernst & Young,
Deloitte, Alexander Forbes, Capitec Bank, Santam Limited, Hollard Insurance
Group, Allan Gray.
*****
EDI and the Internet:
There are a number of key points in the definition that makes EDI a unique form
of business data electronically transmitted. Interorganizational means that EDI
technology can be used for electronic processing and the communication of
information between trading partners. Intraorganizational is the use of EDI within
an organization to support internal business processes between individuals and
departments. Computer-to-computer indicates a direct link between computer
systems. Business documentation implies the use of official paper to support
transaction flow. For example, items such as customer name, product number,
quantity, unit price, and total value can be structured into an invoice or a
purchase order document. Structured means that there should be no discrepancies
between the data in a purchase order and the data in an invoice because of the
agreed upon method used in presenting the data. Computer processable
format means that the data must be in some pre-established structured format and
can be read and understood by the computer without human interpretation.
This definition distinguishes EDI from other forms of e-commerce because of its
structured format of data. Paper documents, e-mails, and faxes do not have a
Figure 2 illustrates the four major groups of EDI applications that can be used in
a hotel business environment. Trade data interchange (TDI) is the electronic
transfer of trading documents such as purchase orders, invoices and
acknowledgements between hotels and their trading partners. Financial electronic
data interchange (FEDI) is the electronic transmission of payments deposits and
remittance information between a payer, payee and their respective banks
(Pushkin & Morris, 1997). Electronic funds transfer (EFT) is an automatic
transfer of debits and credits between banks, in which funds flow directly from
the payer's banks to the payee's bank. Value added banks (VAB) are banks that
act as communications and network intermediaries for their customers,
combining both TDI and FEDI services.
FIGURE 2 Four major groups as EDI applications that can be used in a hotel.
*****
SGML is based on the idea that documents have structural and other semantic
elements that can be described without reference to how such elements should be
displayed. The actual display of such a document may vary, depending on the
output medium and style preferences. Some advantages of documents based on
SGML are:
The language that this Web browser uses, Hypertext Markup Language (HTML),
is an example of an SGML-based language. There is a document type definition
for HTML (and reading the HTML specification is effectively reading an
expanded version of the document type definition). In today's distributed
networking environment, many documents are being described with the
Extensible Markup Language (XML) which is a data description language (and a
document can be viewed as a collection of data) that uses SGML principles.
*****
XML Usage:-
What is Markup?
XML is a markup language that defines set of rules for encoding documents in a
format that is both human-readable and machine-readable. So what exactly is a
markup language? Markup is information added to a document that enhances its
meaning in certain ways, in that it identifies the parts and how they relate to each
other. More specifically, a markup language is a set of symbols that can be
XML has a variety of uses for Web, e-business, and portable applications.
The following are some of the many applications for which XML is useful:
Web publishing: XML allows you to create interactive pages, allows the
customer to customize those pages, and makes creating e-commerce
applications more intuitive. With XML, you store the data once and then
render that content for different viewers or devices based on style sheet
processing using an Extensible Style Language (XSL)/XSL
Transformation (XSLT) processor.
Web searching and automating Web tasks: XML defines the type of
information contained in a document, making it easier to return useful
results when searching the Web:
For example, using HTML to search for books authored by Tom Brown is
likely to return instances of the term 'brown' outside of the context of
author. Using XML restricts the search to the correct context (for example,
the information contained in the <author> tag) and returns only the
information that you want. By using XML, Web agents and robots
(programs that automate Web searches or other tasks) are more efficient
and produce more useful results.
*****
Along with the numerous benefits, mobile phones also have various limitations.
Let's discuss the limitations of using mobile phones in detail.
Distraction:-
Ear problems:-
While listening to songs, watching movies, or calling for a long time with
headphones or headset can damage the listening potential of an individual. It has
been seen in researches that using headphones with the louder hearing sound
seriously disturbs the capability of ears to hear voice properly.
Although mobiles are helpful in various aspects, it is one of the biggest thing
responsible for the wastage of time. Most students and teenagers are affected by
it. Students want to play games, watching movies, listening songs, and other
kinds of entertainment that waste their precious time.
Cyberbullying:-
Cyberbullying means to send, post, or share negative, false, and harmful content
about someone else. Research shows that most students and teenagers got
cyberbullied. Cyberbullying puts someone's life in danger.
Security issues:-
These are the common issues that happen with mobile users. iPhone IOS is little
bit secure but in android phones breaching someone's privacy and data is easier
for hackers. Security issues are the dangerous effects of using mobile phones for
people. People faced a lot of problems due to security issues, such as loss of
money, image, reputation, and others.
Loss of study:-
Health problems:-
Excessive use of mobile phones causes the health problems such as swelling of
the eyes and other eyesight problems. Mobile phones include mental disorders
such as Anger, depression, anxiety, tension, and others.
Using the mobile phone in an excessive amount badly affects the sleeping
routine. People use mobile even during sleeping time. At night, some people
stuck on their mobile phone's screen that disturbed their sleeping routine a lot.
Accidents:-
People stuck in their mobiles, even walking on roads, or driving a car. Using a
mobile phone while driving causes accidents and puts the lives of others at risk. It
is very dangerous to use mobile while driving, as mobile users while driving can
injure them and can kill other people by accidents.
Although mobiles connect the people from a distance and we can communicate
with them easily, but if we do not use it properly, it can create distance from
friends, relatives, family members that are close to us. It is observed many times
that the members of a family are sitting in a restaurant and stuck to their phones
and not talking with each other.
*****
The emergence of WAP:
Most of the wireless networks are supported by WAP, as well as TDMA, CDMA,
and GSM. Also, all operating systems can support a wireless application
protocol. It enables access to the internet in mobile devices and uses the mark-up
language like WML, which stands for Wireless Markup Language that is referred
to as XML 1.0 application. WAP offers the facility to connect interactive wireless
devices (like mobile phones) to the internet and enhances wireless specification
interoperability.
The WAP CSS (cascading style sheet) makes capable of developers to format
screen sizes in order to mobile device adaptability. When the WAP CSS content
is used, then reformatting is not required. It controls page layout compatibility
with different mobile device's display screens.Hello Java Program for Beginners
The transport layer handles the physical network issues, by which wireless
gateways can be easily accessed by global wireless operations. A WAP gateway
is a server, which provides the facility to access the wireless network. The WAP
Forum offers specification development, WAP tool testing and also provides
support for all mobile services. Now, the WAP Forum is referred to as the Open
Mobile Alliance.
WAP Model:-
In the mobile device, the user opens the web browser and access the website and
visit webpages accordingly. The mobile device forwards the URL request to a
WAP gateway through the network using the WAP protocol. Then, the WAP
gateway refers to this request over the internet after translating it into a
conventional HTTP URL request. The specified Web server accepts the request
and processes the request. Then, it returns the response to the mobile device in
the WML file through the WAP gateway that will be displayed in the web
browser on the device.
Application Layer:-
Wireless Application Environment (WAE). This layer is of most interest to
content developers because it contains among other things, device specifications,
and the content development programming languages, WML, and WMLScript.
Session Layer:-
Wireless Session Protocol (WSP). Unlike HTTP, WSP has been designed by the
WAP Forum to provide fast connection suspension and reconnection.
Transaction Layer:-
Wireless Transaction Protocol (WTP). The WTP runs on top of a datagram
service, such as User Datagram Protocol (UDP) and is part of the standard suite
of TCP/IP protocols used to provide a simplified protocol suitable for low
bandwidth wireless stations.
Security Layer:-
Wireless Transport Layer Security (WTLS). WTLS incorporates security
features that are based upon the established Transport Layer Security (TLS)
protocol standard. It includes data integrity checks, privacy, service denial, and
authentication services.
Transport Layer:-
Wireless Datagram Protocol (WDP). The WDP allows WAP to be bearer-
independent by adapting the transport layer of the underlying bearer. The WDP
presents a consistent data format to the higher layers of the WAP protocol stack,
thereby offering the advantage of bearer independence to application developers.
Note that the mobile network bearers in the lower part of the figure above are
not part of the WAP protocol stack.
*****
With the network carrier layer, the Wireless Datagram Protocol functions in
conjunction and presents a constant data format to higher layers of WAP protocol
stack.
*****
Concerns about WAP and its Future:
The future of WAP depends largely on whether consumers decide to use WAP
devices to access the Web, and also on whether a new technology comes along
that would require a different infrastructure than WAP.
On the consumer side, the factors largely involve the limitations of WAP and of
handheld devices, the low bandwidth, the limited input ability, and the small
screens all require users to adapt from their regular Web-browsing expectations.
In the next few years, mobile phones will start to benefit from very high
bandwidth capabilities. The 2.5G/3G systems will allow much higher capacity
and data rates, than can be offered by the restricted bandwidth currently
available.
Alternatives to WAP:
Double-barreled Critical Path Software Inc. rolled out an upgraded version of its
server designed to help service providers and businesses deliver two-way text
messaging to users.
Substitute for WAP Officials with the San Francisco company said InVoke
SMS (Short Message Service) Server 4.0 will give customers an alternative to
WAP (Wireless Application Protocol) technologies.
New e-mail client Among InVokes features are a new IMAP4 e-mail client, a
wireless messaging technology for non-WAP devices that mirrors what a user
gets using a desktop and a software developers kit.
Ease of use Users can send messages across SMS carriers and access e-mail.
InVoke Server 4.0 is available now, with pricing averaging $2.50 per subscriber.
*****