Upload
edith-scott
View
214
Download
0
Embed Size (px)
Citation preview
Plug-In SoftwarePlug-In Software
Changsun, SongChangsun, Song
2005.07.072005.07.07
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
AgendaAgenda
Overall Concept of Plug-In SoftwareOverall Concept of Plug-In SoftwarePlug-Ins for Web BrowsersPlug-Ins for Web BrowsersComparison of plug-in architecturesComparison of plug-in architecturesFuture WorkFuture Work
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
What is ‘Plug-In’ software?What is ‘Plug-In’ software?
A behavioral placeholder in the host A behavioral placeholder in the host application that third-party fill to application that third-party fill to customize or specialize its behavior.customize or specialize its behavior.
A way of the extension of A way of the extension of functionalities of an applicationfunctionalities of an application
A way of the decentralization of A way of the decentralization of software evolution.software evolution.
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
An Example of Plug-InAn Example of Plug-In
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Mechanism of the exampleMechanism of the example Browser encounters Object Tag whose Browser encounters Object Tag whose
type is application/x-java-applettype is application/x-java-applet Browser searches an appropriate plug-in Browser searches an appropriate plug-in
that supports the type, application/x-java-that supports the type, application/x-java-applet.applet.
Browser loads the plug-in, in this case, JRE Browser loads the plug-in, in this case, JRE (Java Runtime Environment ) and provides (Java Runtime Environment ) and provides a graphic area to the plug-in.a graphic area to the plug-in.
The plug-in draws objects presented by The plug-in draws objects presented by the object tag.the object tag.
Browser unload the plug-in, when the Browser unload the plug-in, when the current window is closed.current window is closed.
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
What does make the example What does make the example possible?possible?
Java Plug-In 1.5
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Other plug-in examplesOther plug-in examples
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Required Infrastructure for Plug-Required Infrastructure for Plug-InsIns
Finding, loading, and running pluginsFinding, loading, and running plugins Maintaining a registry of installed plugins aMaintaining a registry of installed plugins a
nd the functions they providend the functions they provide Managing the plugin extension model and iManaging the plugin extension model and i
nter-plugin dependenciesnter-plugin dependencies
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Overall Plug-In ArchitectureOverall Plug-In Architecture
Host Application(e.g., web browsers, Photoshop, and etc)
Plug-In Plug-In Plug-In
A plug-in implements the A plug-in implements the interface that the host application interface that the host application provides.provides. Each plug-in exists and Each plug-in exists and performs its operation performs its operation independently from other plug-independently from other plug-ins.ins.
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Plug-Ins for Web BrowsersPlug-Ins for Web Browsers Plug-ins provide extensibility of file formatPlug-ins provide extensibility of file format
Plug-ins are programs that allow websites to provide Plug-ins are programs that allow websites to provide content to you and have it appear in your browser. content to you and have it appear in your browser.
Web browser can display files in formats that were not Web browser can display files in formats that were not even conceived of when the browser was developed.even conceived of when the browser was developed.
Web browser plug-in is not extension.Web browser plug-in is not extension. Extensions are small add-ons that add new functionality Extensions are small add-ons that add new functionality
to web browsers. They can add anything from a toolbar to web browsers. They can add anything from a toolbar button to a completely new feature. They allow the button to a completely new feature. They allow the application to be customized to fit the personal needs of application to be customized to fit the personal needs of each user if they need additional features. each user if they need additional features.
Extension is a software that provides web browsers with Extension is a software that provides web browsers with additional functions such as acceleration of downloading additional functions such as acceleration of downloading and a tool bar.and a tool bar.
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Plug-Ins for format extensibilityPlug-Ins for format extensibility
File FormatFile Format Where to get the plug-InWhere to get the plug-InImageImage IPIXIPIX http://http://www.ipix.com/index.htmlwww.ipix.com/index.html
Multi-MediaMulti-Media ShockwaveShockwave http://sdc.shockwave.com/shockwave/download/http://sdc.shockwave.com/shockwave/download/download.cgi?P1_Prod_Version=Shockwavedownload.cgi?P1_Prod_Version=Shockwave
RealPlayerRealPlayer http://http://www.real.com/player/index.html?genrewww.real.com/player/index.html?genre==biz&srcbiz&src=biz_rpchoice_001=biz_rpchoice_001
Quick TimeQuick Time http://www.apple.com/quicktime/http://www.apple.com/quicktime/
ApplicationApplication AppletApplet http://http://java.sun.com/products/pluginjava.sun.com/products/plugin//
Tcl/TkTcl/Tk http://http://www.tcl.tk/software/plugin/download.htmlwww.tcl.tk/software/plugin/download.html
RebolRebol http://www.rebol.com/view-platforms.htmlhttp://www.rebol.com/view-platforms.html
DataData VRMLVRML http://cic.nist.gov/vrml/vbdetect.htmlhttp://cic.nist.gov/vrml/vbdetect.html
HDF 4 & HDF 4 & HDF 5HDF 5
http://hdf.ncsa.uiuc.edu/hdf-java-html/http://hdf.ncsa.uiuc.edu/hdf-java-html/hdfview/index.htmlhdfview/index.html
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Web browser extensionsWeb browser extensions
Plug-InPlug-In FunctionalityFunctionalityFlashGotFlashGot Download one link, selected links or all the links of a page Download one link, selected links or all the links of a page
at the maximum speed with a single click, using the most at the maximum speed with a single click, using the most popular external download managers popular external download managers
CustomizeGoogle CustomizeGoogle CustomizeGoogle is a Firefox extension that enhance Google searcCustomizeGoogle is a Firefox extension that enhance Google search results by adding extra informationh results by adding extra information
TabbrowserTabbrowserPreferencesPreferences
Enables enhanced control for some aspects of tabbed Enables enhanced control for some aspects of tabbed
browsingbrowsing StumbleUponStumbleUpon It is a collaborative surfing tool for browsing, reviewing and sharing It is a collaborative surfing tool for browsing, reviewing and sharing
great sites with like-minded people. This helps you find interesting great sites with like-minded people. This helps you find interesting webpages you wouldn't think to search for. webpages you wouldn't think to search for.
Gmail NotifierGmail Notifier A notifier for Gmail accountsA notifier for Gmail accounts. . Googlebar Lite 2.1Googlebar Lite 2.1 A light-weight Google search toolbar. A light-weight Google search toolbar.
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Comparison of plug-in Comparison of plug-in architecturesarchitectures
Host Application(e.g., web browsers, Photoshop, and etc)
Plug-In Plug-In Plug-In
Simple architectureSimple architecture Independence among plug-insIndependence among plug-ins
Redundant functionality implementationRedundant functionality implementation Heavy weight of web browserHeavy weight of web browser
No support for extension of plug-insNo support for extension of plug-ins
Host Application(e.g., web browsers, Photoshop,
and etc)
Plug-In Plug-In
Plug-In
Plug-In
Very extensibleVery extensible Complex architectureComplex architecture
Plug-in dependency problemsPlug-in dependency problems If a user wants a plug-in that is used by If a user wants a plug-in that is used by
other plug-in?other plug-in?
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
Future Work for Term PaperFuture Work for Term Paper
Another criteria for differentiating Another criteria for differentiating plug-insplug-ins
Survey on plug-ins for various kinds Survey on plug-ins for various kinds of web browsersof web browsers
Compatibility of plug-ins among web Compatibility of plug-ins among web browsersbrowsers
Plug-In infrastructure supports by Plug-In infrastructure supports by web browsersweb browsers
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
ReferencesReferences
[1][1]A Flexible Approach to Decentralized Software EvolutionA Flexible Approach to Decentralized Software Evolution, , Peyman Oreizy, ICSE 99.Peyman Oreizy, ICSE 99.
[2][2]Netscape Plug-InsNetscape Plug-Ins, Larry Hoff, LINUX Journal, 1999., Larry Hoff, LINUX Journal, 1999.[3][3]On Plug-Ins and Extensible ArchitecturesOn Plug-Ins and Extensible Architectures, Dorian Birsan, , Dorian Birsan,
ACM QUEUE, 2005.ACM QUEUE, 2005.[4]http://www.plugins.com/browser/[4]http://www.plugins.com/browser/[5]https://pfs.mozilla.org/plugins/[5]https://pfs.mozilla.org/plugins/[6]https://addons.mozilla.org/extensions/?application=thu[6]https://addons.mozilla.org/extensions/?application=thu
nderbirdnderbird
07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University
?Thank You