You are on page 1of 15

Page No: 1

BEGUM ROKEYA UNIVERSITY, RANGPUR.

ASSIGNMENT ON TECHNOLOGIES FOR WEB APPLICATIONS

SUBMITTED BY SUBMITTED TO
SUBMITTED TO
Group-02
Group-04 PRODIP KUMAR
PRODIP KUMAR SARKAR
SARKAR
Members: Assistant Professor,
Assistant Professor,
Ahsan
Abul Khayer Habib 1306015
Md. Masud 1306007 Department of
Department of Computer
Computer Science
Science &
&
Md. Ariful Hasan
Md. Badsha Nuruzzaman Shahin 1306009
(ID 1306018)
Md. Hasan Ali Emon
Dipu Kumar Mohanto (ID 1306026 1306028)
Engineering,
Engineering,
Md. Abdul Mamun 1209003
Md. Abdullahil Kafi (ID 1209005 ) Begum Rokeya
Begum Rokeya University,
University, Rangpur.
Rangpur.
Md.
Md. Shehab Mehedi Ratul
Mahmood Hasan Nayem 1209022
(ID 1209034)
Soyeb Ahmed 1209064
Mintu Roy (ID 1209048 )
Session:
Session: 2013-2014
2013-2014
rd nd
4
4rd Year
Year 2
2nd Semester
Semester
Department
Department of of Computer
Computer Science
Science &
&
Engineering,
Engineering,

Technologies for Web Applications

Date of Submission: 5/11/20


Page No: 2

Markup Language:

Hypertext

Hypertext is a cross referencing tool which connects the links to other text using hyperlinks.
Hypertext is non-linear and multi sequential and it is different from our normal text. By the
help of hypertext one organized way is achieved to present information. This makes the user
to move from one part of the information to another part of the information which is in same
page or any other page. It makes the documentation simple by providing a way of easy
accessible to the end user.

Hypermedia :

Hypermedia is the extension of Hypertext which includes multiple forms of media such as
text, graphics, audio or video etc rather than only text based like hypertext. It provides a
facility to connect the web pages to create a network with multimedia elements with a simple
click for a better multimedia experience. Hypermedia allows links to be integrate in
multimedia elements like images and videos and when we click on that it takes us to that
page.

Client / Server Communication on the Web

SMTP – Simple Mail Transfer Protocol:

Date of Submission: 5/11/20


Page No: 3

What is SMTP?
SMTP is part of the application layer of the TCP/IP protocol. Using a process called "store
and forward," SMTP moves your email on and across networks. It works closely with
something called the Mail Transfer Agent (MTA) to send your communication to the right
computer and email inbox.

SMTP spells out and directs how your email moves from your computer's MTA to an MTA
on another computer, and even several computers. Using that "store and forward" feature
mentioned before, the message can move in steps from your computer to its destination. At
each step, Simple Mail Transfer Protocol is doing its job. Lucky for us, this all takes place
behind the scenes, and we don't need to understand or operate SMTP.

SMTP at work.
SMTP provides a set of codes that simplify the communication of email messages between
email servers (the network computer that handles email coming to you and going out). It's a
kind of shorthand that allows a server to break up different parts of a message into categories
the other server can understand. When you send a message out, it's turned into strings of text
that are separated by the code words (or numbers) that identify the purpose of each section.

SMTP provides those codes, and email server software is designed to understand what they
mean. As each message travels towards its destination, it sometimes passes through a number
of computers as well as their individual MTAs. As it does, it's briefly stored before it moves
on to the next computer in the path. Think of it as a letter going through different hands as it
winds its way to the right mailbox.

SMTP is able to transfer only text—it isn't able to handle fonts, graphics, attachments, etc.—
maybe that's why it's called simple. Fortunately, Multipurpose Internet Mail Extensions were
created to lend a hand. MIME encodes all the non-text content into plain text. In that
transformed format, SMTP is coaxed into transferring the data.

SMTP Protocol 

The SMTP model is of two type :

1. End-to- end method


2. Store-and- forward method

The end to end model is used to communicate between different organizations whereas the
store and forward method are used within an organization. A SMTP client who wants to send
the mail will contact the destination’s host SMTP directly in order to send the mail to the
destination. The SMTP server will keep the mail to itself until it is successfully copied to the
receiver’s SMTP. 

Date of Submission: 5/11/20


Page No: 4

The client SMTP is the one which initiates the session let us call it as the client- SMTP and

the server SMTP is the one which responds to the session request and let us call it as receiver-

SMTP. The client- SMTP will start the session and the receiver-SMTP will respond to the

request. 

Model of SMTP system 

In the SMTP model user deals with the user agent (UA) for example Microsoft Outlook,

Netscape, Mozilla, etc. In order to exchange the mail using TCP, MTA is used. The users

sending the mail do not have to deal with the MTA it is the responsibility of the system

admin to set up the local MTA. The MTA maintains a small queue of mails so that it can

schedule repeat delivery of mail in case the receiver is not available. The MTA delivers the

mail to the mailboxes and the information can later be downloaded by the user agents.

Both the SMTP-client and SMTP-server should have 2 components:

1. User agent (UA)


2. Local MTA

Date of Submission: 5/11/20


Page No: 5

Communication between sender and the receiver : 

The senders, user agent prepare the message and send it to the MTA. The MTA functioning is

to transfer the mail across the network to the receivers MTA. To send mail, a system must

have the client MTA, and to receive mail, a system must have a server MTA. 

SENDING EMAIL: 

Mail is sent by a series of request and response messages between the client and a server. The

message which is sent across consists of a header and the body. A null line is used to

terminate the mail header. Everything which is after the null line is considered as the body of

the message which is a sequence of ASCII characters. The message body contains the actual

information read by the receipt. 

RECEIVING EMAIL: 

The user agent at the server-side checks the mailboxes at a particular time of intervals. If any

information is received it informs the user about the mail. When the user tries to read the mail

it displays a list of mails with a short description of each mail in the mailbox. By selecting

any of the mail user can view its contents on the terminal.

Some SMTP Commands:

 HELO – Identifies the client to the server, fully qualified domain name, only
sent once per session
 MAIL – Initiate a message transfer, fully qualified domain of originator
 RCPT – Follows MAIL, identifies an addressee, typically the fully qualified
name of the addressee and for multiple addressees use one RCPT for each
addressee
 DATA – send data line by line

Date of Submission: 5/11/20


Page No: 6

RTSP – Real Time Streaming Protocol  

Real Time Streaming Protocol (RTSP) is an application-level network communication system

that transfers real-time data from multimedia to an endpoint device by communicating

directly with the server streaming the data.

The protocol establishes and controls the media stream between client devices and servers by

serving as a network remote control for time-synchronized streams of continuous media, such

as audio and video. It does not stream the multimedia itself but communicates with the server

that streams the multimedia data. When a user pauses a video he is streaming, for example,

RTSP conveys the user's request to pause the video to the video streaming server.

How RTSP works

When a user or application attempts to stream video from a remote source, the client device

sends an RTSP request to the server to determine the available options, such as pause, play

and record. The server then returns a list of the types of requests it can accept through RTSP.

Once the client knows how to make a request, it transmits a media description request to the

streaming server, and the server responds with a description of the media. From there, the

client sends a setup request, and the server responds with information about the transport

mechanism. Once the setup process is complete, the client initiates the streaming process by

telling the server to send the bitstream -- a binary sequence -- using the transport mechanism

specified in the setup request.

Why it's important

RTSP started as a way to allow users to play audio and video straight from the internet, rather
than having to download media files to their devices. The protocol has been applied for
various uses, including internet camera sites, online education and internet radio.

Date of Submission: 5/11/20


Page No: 7

RTSP uses the same concepts as basic HTTP, which makes it easily compatible with existing

HTTP networks. The protocol also allows for a great deal of flexibility. Clients can request

the features they want to use in an effort to find out if the media server supports them.

Likewise, whoever owns the media can deliver media streams from multiple servers. The

protocol is also designed to accommodate for future growth of the media so the media creator

can amend the protocol moving forward if necessary.

Key components

RTSP has a number of key components, including:

 Options: An options request is sent to the server to determine the request types

that the media server supports.

 Describe: A describe request includes a URL and describes the replay data.

 Setup: A setup request describes how to transport the bitstream.

 Teardown: A teardown request ends the streaming media session.

 Redirect: A redirect request tells the client to connect to a different media server.

 Play: The play request starts the specified media.

 Pause: The pause request freezes the specified media until the user presses play.

 Record: The record request starts a recording of the media.

 Set_Parameter: Set_Parameter can test whether the client or server is active. It

also reveals the values of the presentation or stream guidelines that the Uniform

Resource Identifier (URI), which contains the characters that identify the

resource, provides.

Date of Submission: 5/11/20


Page No: 8

Session Tracking 

Session Tracking is a way to maintain state (data) of an user. It is also known as session

management in servlet.

Http protocol is a stateless so we need to maintain state using session tracking techniques.

Each time user requests to the server, server treats the request as the new request. So we need

to maintain the state of an user to recognize to particular user.

HTTP is stateless that means each request is considered as the new request. It is shown in the

figure given below:

Session Tracking Techniques

There are four techniques used in Session tracking:

1. Cookies
2. Hidden Form Field
3. URL Rewriting
4. HttpSession

Date of Submission: 5/11/20


Page No: 9

Client-side Technologies and Server-side Technologies:


Client-side means that the action takes place on the user's (the client's) computer. Server-
side means that the action takes place on a web server. ... For this reason, most things that can
be accomplished using JavaScript can be done without needing access to a web server.

Helpers and Plug-ins 

A helper application is a separate application program that is invoked by the browser. It is


simply a program that can understand and interpret files which the browser cannot handle by
itself. Almost any program can be configured to act as a helper application for the browser.
Examples of helper applications include Telnet and Excel.

The browser forks a separate process which starts the helper application. The helper
application runs outside of the browser window. So, an advantage of helper applications over
plug-ins is multitasking between a helper application and the browser window. If the browser
is closed down, the helper application lives on.

Helper applications cannot display the contents of a file in the context of a Web page. If the
file being read is a graphic, the helper application displays only the image, not the image
embedded in the Web page. Another difference is that the browser has no control over the
behavior of the helper application. The browser only has the ability to start the helper
application and display the appropriate file.

A plug-in is an application program invoked by the browser. It is a dynamic code module


designed to extend the capabilities of the browser by integrating a third party application
program into the browser. Thus, a plug-in is part of the browser binary tree and runs inside
the browser window. It cannot live on its own.

When plug-ins are installed they automatically tell the browser what file extensions they
work with. Normally, there is no configuration involved with plug-ins, only installation.
Because plug-ins are part of the browser binary tree they are platform specific. Therefore the
correct version must be downloaded for plug-ins to work properly. Examples of plug-ins
include RealAudio and Shockwave.

The integration of plug-ins into the browser is transparent to the user. Plug-ins simply open
up and become active whenever the browser needs them. When the browser starts up, it
checks for installed components. Perhaps you have seen the message "Loading plug-ins"
when the browser starts up. If the browser receives a Web page that requires the use of a
plug-in, the browser loads that plug-in. From that point on the browser should behave as if
the plug-in is part of the browser itself. When you leave that particular Web page, the
browser will discard the plug-in and free up all the memory it used.

So a helper application has a mind of its own, and a plug-in is literally plugged into the
browser.

Java Applets 

Date of Submission: 5/11/20


Page No: 10

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.
 Other classes that the applet needs can be downloaded in a single Java Archive (JAR)
file.

Life Cycle of an Applet


Four methods in the Applet class gives you the framework on which you build any serious
applet −
 init − This method is intended for whatever initialization is needed for your applet. It
is called after the param tags inside the applet tag have been processed.
 start − This method is automatically called after the browser calls the init method. It
is also called whenever the user returns to the page containing the applet after having
gone off to other pages.
 stop − This method is automatically called when the user moves off the page on
which the applet sits. It can, therefore, be called repeatedly in the same applet.
 destroy − This method is only called when the browser shuts down normally.
Because applets are meant to live on an HTML page, you should not normally leave
resources behind after a user leaves the page that contains the applet.
 paint − Invoked immediately after the start() method, and also any time the applet
needs to repaint itself in the browser. The paint() method is actually inherited from
the java.awt.

ActiveX Controls 

Date of Submission: 5/11/20


Page No: 11

ActiveX controls are small apps that allow websites to provide content such as videos and
games. They also let you interact with content like toolbars and stock tickers when you
browse the web. However, these apps can sometimes malfunction, or give you content that
you don't want. In some cases, these apps might be used to collect info from your PC,
damage info on your PC, install software on your PC without your agreement, or let someone
else control your PC remotely.

Document-specific Technologies 

SVG – Scalable Vector Graphics


SVG is a platform for two-dimensional graphics. It has two parts: an XML-based file format
and a programming API for graphical applications. Key features include shapes, text and
embedded raster graphics, with many different painting styles. It supports scripting through
languages such as ECMAScript and has comprehensive support for animation.
SVG is used in many business areas including Web graphics, animation, user interfaces,
graphics interchange, print and hardcopy output, mobile applications and high-quality design.
SVG is a royalty-free vendor-neutral open standard developed under the W3C Process. It has
strong industry support; Authors of the SVG specification include Adobe, Agfa, Apple,
Canon, Corel, Ericsson, HP, IBM, Kodak, Macromedia, Microsoft, Nokia, Sharp and Sun
Microsystems. SVG viewers are deployed to over 100 million desktops, and there is a broad
range of support in many authoring tools.
SVG builds upon many other successful standards such as XML (SVG graphics are text-
based and thus easy to create), JPEG and PNG for image formats, DOM for scripting and
interactivity, SMIL for animation and CSS for styling.
SVG is interoperable. The W3C release a test suite and implementation results to ensure
conformance.

HTML:
HTML stands for Hypertext Markup Language. It allows the user to create and structure
sections, paragraphs, headings, links and blockquotes for web pages and applications.
HTML is not a programming language, meaning it doesn’t have the ability to create dynamic
functionality. Instead, it makes it possible to organize and formate documents, similarity to
Microsoft Word.
When working with HTML, we use simple code structures (tags and attributes) to mark up a
website page. For example, we can create a paragraph by placing the enclosed text within a
starting <p> and closing </p> paragraph.
<p> This is how you add a paragraph </p> 

Scalable Vector Graphics (SVG) : Scalable Vector Graphics (SVG) is an XML based markup
language for describing two dimensional based vector graphics. SVG is essentially to
graphics what HTML is to text.
HTML says “Here are some instructions on how to generate this text.” and SVG says “Here
are some instructions on how to create shapes to generate this graphic.”
SVGs are meant to be used on the web. They can be sprinkled alongside your HTML on any
web application.
The outermost element of a SVG is svg element.
<svg> </svg>
Date of Submission: 5/11/20
Page No: 12

This element serves as the container for our graphic that will render within the web page.
There are two attributes that we need to add to this element. The first is xlmns with a value of
"http://www.w3.org/2000/svg". 

<svg xmlns="http://www.w3.org/2000/svg"> </svg>

SMIL (Synchronized Multimedia Integration Language) :


SMIL (Synchronized Multimedia Integration Language), is a language that allows Web site
creators to be able to easily define and synchronize multimedia elements (video, sound, still
images) for Web presentation and interaction. On today's Web, although you can send
moving and still images and sound to a Web user, each element is separate from the others
and can't be coordinated with other elements without elaborate programming. SMIL
(pronounced "smile") lets site creators send multiple movies, still images, and sound
separately but coordinate their timing. Each media object is accessed with a unique Uniform
Resource Locator (URL) which means that presentations can be made of objects arriving
from more than one place and that objects can easily be reused in multiple presentations.

SMIL also lets the "producer" store a media object in multiple versions, each with a different
bandwidth so that a lower-bandwidth version of a Web page can be sent to users who need it.
SMIL also accommodates multiple language versions of soundtracks.

SMIL statements are simple and can be entered with a text editor similar to those used to
create Hypertext Markup Language (HTML) pages. A presentation can be described using
only three Extensible Markup Language (XML) elements. It's intended that SMIL will be
usable by anyone who can use HTML.

XML (Extensible Markup Language):


Extensible Markup Language (XML) is used to describe data. The XML standard is a
flexible way to create information formats and electronically share structured data via the
public Internet, as well as via corporate networks.
XML code, a formal recommendation from the World Wide Web Consortium (W3C), is
similar to Hypertext Markup Language (HTML). Both XML and HTML contain markup
symbols to describe page or file contents. HTML code describes Web page content (mainly
text and graphic images) only in terms of how it is to be displayed and interacted with.
XML data is known as self-describing or self-defining, meaning that the structure of the data
is embedded with the data, thus when the data arrives there is no need to pre-build the
structure to store the data; it is dynamically understood within the XML. The XML format
can be used by any individual or group of individuals or companies that want to share
information in a consistent way. XML is actually a simpler and easier-to-use subset of the
Standard Generalized Markup Language (SGML), which is the standard to create a document
structure.
An XML document is considered to be "well formed" if its format complies with the XML
specification, if it is properly marked up, and if elements are properly nested. XML also
supports the ability to define attributes for elements and describe characteristics of the
elements in the beginning tag of an element.
For example, XML documents can be very simple, such as the following:

<?xml version="1.0" standalone="yes"?>


<conversation>
<greeting>Hello, world!</greeting>

Date of Submission: 5/11/20


Page No: 13

<response>Stop the planet, I want to get off!</response>


</conversation>

Applications for XML are endless. For example, computer makers might agree upon a
standard or common way to describe the information about a computer product (processor
speed, memory size, and so forth) and then describe the product information format with
XML code. Such a standard way of describing data would enable a user to send an intelligent
agent (a program) to each computer maker's Web site, gather data, and then make a valid
comparison.

XSL (Extensible Stylesheet Language):


XSL (Extensible Stylesheet Language), formerly called Extensible Style Language, is a
language for creating a style sheet that describes how data sent over the Web using the
Extensible Markup Language (XML) is to be presented to the user. For example, in an XML
page that describes the characteristics of one or more automobiles for an insurance company,
a set of open and close tags might contain the name of an auto manufacturer. Using XSL, you
could tell the Web browser that the auto manufacturer name should be displayed, where to
display it on a page, and that it should be displayed in a bold font.Think of an XML page as
similar to an HTML page (like the one you are reading now), but containing data in identified
fields rather than text and graphics. XSL gives a developer the tools to describe exactly which
data fields in an XML file to display and exactly where and how to display them. Like any
style sheet language, XSL can be used to create a style definition for one XML document or
reused for many other XML documents.
XSL is based on and extends the Document Style Semantics and Specification Language
(DSSSL) and the Cascading Style Sheet, level 1 (CSS1) standards. XSL is developed under
the auspices of the World Wide Web Consortium (W3C).

URI Handler:
A Uniform Resource Identifier (URI) is a string of characters that unambiguously identifies a
particular resource. ... Schemes specifying a concrete syntax and associated protocols define
each URI. The most common form of URI is the Uniform Resource Locator (URL),
frequently referred to informally as a web address.

URIs encompasses both URLs, URNs, and other ways to indicate a resource. An example of
a URI that is neither a URL nor a URN would be a data URI such as data:,Hello%20World .
It is not a URL or URN because the URI contains the data.

Web Services:
Web service is a standardized medium to propagate communication between the client and
server applications on the World Wide Web. A web service is a software module that is
designed to perform a certain set of tasks.

1. The web services can be searched for over the network and can also be invoked
accordingly.
2. When invoked, the web service would be able to provide the functionality to the
client, which invokes that web service.

There are mainly two types of web services.


1. SOAP web services.

Date of Submission: 5/11/20


Page No: 14

2. RESTful web services.


In order for a web service to be fully functional, there are certain components that need to be
in place. These components need to be present irrespective of whatever development
language is used for programming the web service.
 
let's look at some other advantages of why it is important to use web services.
1. Exposing Business Functionality on the network - A web service is a unit of
managed code that provides some sort of functionality to client applications or end
users. This functionality can be invoked over the HTTP protocol which means that it
can also be invoked over the internet. Nowadays all applications are on the internet
which makes the purpose of Web services more useful. That means the web service
can be anywhere on the internet and provide the necessary functionality as required.
2. Interoperability amongst applications - Web services allow various applications to
talk to each other and share data and services among themselves. All types of
applications can talk to each other. So instead of writing specific code which can only
be understood by specific applications, you can now write generic code that can be
understood by all applications
3. A Standardized Protocol which everybody understands - Web services use
standardized industry protocol for the communication. All the four layers (Service
Transport, XML Messaging, Service Description, and Service Discovery layers) uses
well-defined protocols in the web services protocol stack.
4. Reduction in cost of communication - Web services use SOAP over HTTP protocol,
so you can use your existing low-cost internet for implementing web services.
 
Middleware Technologies: 

Date of Submission: 5/11/20


Page No: 15

Middleware is the software that connects network-based requests generated by a client to the
back-end data the client is requesting. It is a general term for software that serves to “glue
together” separate, often complex and already existing programs.
Middleware Application Programming interfaces provide a more functional set of capabilities
than the OS and network services provide on its own.

There are several kinds of Middlewares.

1. RPCs (Remote Procedure Call) Middleware

2. MOM (Message Oriented Middleware)

3. Database Middleware

4. Transaction Processing Monitors

5. Message Brokers

Why use middleware? The purpose of middleware is to foster interaction between different
aspects of an application or even between applications themselves. By leveraging
middleware, businesses can expect to experience:
 Efficient connectivity
 Innovative solutions
 More concise transition periods
 Easily accessible workplace tools
For example, the Android operating system utilizes middleware to run its software quickly,
efficiently, and with a much better user experience. Android not only uses the Linux kernel at
its core and offers an application architecture, it provides a middleware layer consisting of
libraries that provide services such as:
 Data storage
 Screen display
 Multimedia
 Web browsing
Additionally, Android’s libraries are compiled to machine language and allow for specific
functionality to vary across devices, which speeds up performance.

- - - - - - - - - - - - - - - - End- - -- - - - - - - - - -- - - - - - -

Date of Submission: 5/11/20

You might also like