16
Plug-In Software Plug-In Software Changsun, Song Changsun, Song 2005.07.07 2005.07.07

Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

Embed Size (px)

Citation preview

Page 1: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

Plug-In SoftwarePlug-In Software

Changsun, SongChangsun, Song

2005.07.072005.07.07

Page 2: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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

Page 3: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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.

Page 4: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University

An Example of Plug-InAn Example of Plug-In

Page 5: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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.

Page 6: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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

Page 7: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University

Other plug-in examplesOther plug-in examples

Page 8: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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

Page 9: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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.

Page 10: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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.

Page 11: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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

Page 12: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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.

Page 13: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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?

Page 14: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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

Page 15: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

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

Page 16: Plug-In Software Changsun, Song 2005.07.07. 07/07/2005Information and Communication University Agenda Overall Concept of Plug-In Software Overall Concept

07/07/200507/07/2005 Information and Communication UniversityInformation and Communication University

?Thank You