Transcript - Muhazam

EEC4113
Data Communication &
Multimedia System
Chapter 12: Application Layer – Text-Based
Multimedia
by Muhazam Mustapha, December 2011
and contributions by class members, October 2010
Learning Outcome
• At the end of this chapter, the students are
expected to have the knowledge about
– Type Declaration: File Formats, Headers,
MIME
– Text Data Transfer: Web Services, RSS Feed
– Web 2.0
Chapter Content
• Type Declaration
• Text Transfer
• Web 2.0
Type Declaration
CO1
Text-Based Multimedia
• Multimedia consists of huge files of
images, video and audio
• However, there are tricks that enable
multimedia to be shared as text
• The scheme involves transferring of links
and type declarations
CO1
Type Declaration
• Files or data transfers that involves binary
data need some way to inform the reader
about its content
• The scheme is called file formatting, which
involves 2 parts:
– Header Information
– Actual Data
CO1
Header Information
• Also called metadata
• The content of header explains the data
that follows it
• For example, a JPEG image file may
include in its header about:
– No. bits per pixel, or per color
– Image horizontal and vertical dimension
– Compression quality level
CO1
Header Information
• Data communication also involves header
information
• In protocols definition we often find
metadata proceeding the actual data
• For example, in an HTTP transfer header,
we can include:
– The type of data being transferred
– The size of the data being transferred
– The last modification date of the data, etc
CO1
RIFF Type
• Resource Interchange File Format
• Created by Microsoft and IBM for
standardizing file format definition
• It starts with a text tag at the beginning
• Then it follows by pairs of metadata and its
size in bytes
• Example of file types defined using RIFF:
.WAV, .AVI, .CDR, etc
CO1
RIFF Type
•Example of header definition in WAV file:
Byte Location
0
4
8
12
16
...
...
CO1
Size
4
4
4
4
4
Content
ChunkID: ‘RIFF’
ChunkSize
FormatID: ‘WAVE’
Subchunk1ID: ‘fmt’
Subchunk1Size: 16 for PCM format
MIME Type
• Multi-purpose Internet Mail Extensions
• It is type declaration of data, earlier meant
for email attachment, but now has been
used for web transfer as well
• It consists of pairs of file extension and its
description – some examples:
– .au
audio/basic
– .html text/html
– .jpg image/jpeg
CO1
Text-Based Transfer
CO1
Text Transfer
• Text transfer over the internet nowadays
usually involves the standardized process
called web service
• In its simplest form, web service is any
kind of information can be obtained by
referring to a URL
• Normally web service refers to a text
information (not web site layout) obtained
from a URL
• Two web service standards: SOAP, REST
CO1
SOAP
• Simple Object Access Protocol
• Also called RPC – Remote Procedure Call
• It is an XML formatted data used to
transfer information in web service on
HTTP protocol
• The standard definition is huge and
extensive involving:
– Process model
– Extensibility Model
– Protocol Binding
– Message Construct
CO1
SOAP
• It consists of an envelope (surrounding
XML) and the data content
• Even though it is extensive and hard to
learn, use of SOAP is easy and
transparent due to large support by
programming platforms like .NET, Zend
(PHP), J2EE (Java), etc
CO1
SOAP
•Example:
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
</soap:Header>
<soap:Body>
<m:GetStockPrice xmlns:m="http://www.example.org/stock">
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
CO1
REST
• REpresentational State Transfer
• SOAP’s simpler but competing standard
for web service and RPC provider
• A web service conforming to REST
standard is called RESTful
• Its calls resemble normal web address
linking
• More popular in open source community
• Examples of RESTful providers:
Amazon.com, Yahoo!, YouTube, eBay,
Facebook, etc
CO1
REST
•Examples of RESTful calls:
(from URI of http://www.thomas-bayer.com/sqlrest/)
<resource>
<CUSTOMERList xlink:href="http://www.thomasbayer.com/sqlrest/CUSTOMER/">CUSTOMER</CUSTOMERList>
<INVOICEList xlink:href="http://www.thomasbayer.com/sqlrest/INVOICE/">INVOICE</INVOICEList>
<ITEMList xlink:href="http://www.thomasbayer.com/sqlrest/ITEM/">ITEM</ITEMList>
<PRODUCTList xlink:href="http://www.thomasbayer.com/sqlrest/PRODUCT/">PRODUCT</PRODUCTList>
</resource>
CO1
Cloud Computing
• Cloud computing is the delivery of
computing as a service rather than a
product, over a network
• Cloud computing can also be viewed as
an extensive use of web services provided
by the vendors
• It makes computer infrastructure and
services available "on-need" basis
CO1
Cloud Computing
• The infrastructure could be:
– hard disk (e.g.: www.mediafire.com - free)
– complete software applications
(e.g.: www.picnik.com - free)
– development platform (e.g.: Microsoft Azure)
– Database (e.g.: IBM)
• With cloud computing, software can be
enjoyed without installation and also
reduce piracy
CO1
Cloud Computing - Categories
• Software as a service (SaaS)
– Software can be used from the browser
without installation
– Example: www.picnik.com
• Provide
– Example: Google Docs
• Offers office application like MS Office
CO1
Cloud Computing - Categories
• Platform as a service (PaaS)
– Deliver a remotely accessible computing
platform
– Example: Microsoft Azure
• Provides a remote programming environment for
.NET
– Example: Google Apps
• Provides a remote programming environment
Python and Java
CO1
Cloud Computing - Categories
• Infrastructure as a service (IaaS)
– Deliver a remotely accessible computing
resources
– Example: www.mediafire.com
• Provides remote hard disks
– Example: Microsoft’s SQL Azure
• Provides database infrastructure
CO1
Cloud Client
• Software and/or hardware that rely heavily
on cloud computing services
• Examples:
– Android OS: relies heavily on cloud services
provided by Google
– Cloud PCs : most software and storage are
on the cloud
– Google Map Based GPS: some GPS models
rely heavily on real-time data streaming from
Google Maps
CO1
Text-Based Multimedia in
Practice (RSS Feed)
CO1
RSS Feed
• RSS: Really Simple Syndication or Rich
Site Summary
• It is called syndication because one web
site helps to promote the content of other
web sites
RSS Feed Slides contributed by: MUHAMMAD DZULFAHMI BIN
MOHD DZULKIFRI, MUHAMMAD FAUZAN BIN A RAHIM
CO1
RSS Feed
• Has been around for more than a decade
• Only recently the standard has been
embraced by bloggers, webmasters and
large news portals as a means of
distributing information, in a standardized
format
• Defined standard for syndicating headlines
and other content
• Constructed using XML or extensible
Markup Language, which is a markup
language similar to HTML
CO1
RSS Feed
Common uses:
– Blogs – summaries of daily blog posts
– Newsletters – synopses of newsletters
alerting users that a new newsletter is
available
– Weather Alerts – notification of severe
weather
– Press Announcements – new product
announcements
– Specials or Discounts – weekly deals or
discount offers for customers
– Calendars – listings of upcoming events,
CO1 deadlines or holidays
RSS Feed
Common industry uses:
– Service Industry – notification of viruses or
security alerts
– Real Estate – listings of open houses or new
homes on the market
– Schools – homework listings
– Restaurants – lunch or dinner specials
– Law Enforcement – announce sexual
predators in area
CO1
RSS Feed
Subscription:
– RSS Feed can be obtained from the website
that provides them
– The provider will have the specific instruction
to get the script to be inserted into the web
pages by the web master of the website that
subscribes from them
– Example of RSS Feed script provided by
Google (GModules):
CO1
• <script
src="http://gmodules.com/ig/ifr?url=http://feeds.labnol.org/lab
nol&amp;synd=open&amp;w=320&amp;h=200&amp;title=&a
mp;border=%23ffffff%7C3px%2C1px+solid+%23999999&am
p;output=js">
</script>
RSS Feed
Screen shot:
RSS Feed
sponsored link
CO1
Web 2.0
CO1
Web 2.0
• Presumed the next generation of web
content
• Web 2.0 are webs having the following
features:
– Visitors can actively contribute to content
– Extensive use of web services and API
– Extensive use of templates
– Extensive use of authoring tools online
– Dynamic content by web programs
CO1
Web 2.0
• Examples of Web 2.0 are:
– Facebook
– YouTube
– Twitter
– Blogs
– Wikis
• One particularly impressive work done by
Google to integrate almost all Web 2.0
features into one application is Google
Wave
CO1
Google Wave
• Google Wave is an online software
application product from Google
• Google Wave is designed as a new
Internet communications platform
• hosted XML documents that allow
seamless and low latency concurrent
modifications
• It was first announced at the Google I/O
conference on May 27, 2009.
• On May 19, 2010, Google Wave was
released to the general public.
Google Wave Slides contributed by: MOHD RAHIMI BIN ABDULLAH,
MUHAMMED NAFEESH BIN ABDUL RAHMAN
CO1
Google Wave
• Snapshot
CO1
Google Wave
• Google Wave API
– Extensions: Build robot extensions to
automate common tasks or build gadget
extensions to provide a new way for users to
interact
– Embed: Make your site more collaborative by
dropping in a wave
CO1
Google Wave
• Extensions:
– Gadgets: A gadget is an application users
can participate with, many of which are built
on Google’s OpenSocial platform. A good
comparison would be iGoogle gadgets or
Facebook applications
– Robots: Robots are automated participants
within a wave. They can talk with users and
interact with waves. They can provide
information from outside sources (i.e. Twitter,
stock quotes, etc.).
– The latest version of robots API is 2.0
CO1
Google Wave
• Protocol
– Google Wave provides federation using an
extension of XMPP, the open Wave
Federation Protocol
– Being an open protocol, anyone can use it to
build a custom Wave system and become a
wave provider
• The halt
– Due to bad reviews and technical issues,
Google scrapped its Wave in August 2010
after 3 months of release
CO1