A Semantic Approach for Web Widget Mashup
Total Page:16
File Type:pdf, Size:1020Kb
A SEMANTIC APPROACH FOR WEB WIDGET MASHUP Jinan Fiaidhi, Adam McLellan and Sabah Mohammed Department of Computer Science, Lakehead University 955 Oliver Road, Thunder Bay, Ontario P7B 5E1, Canada Keywords: Gadgets, Mashup, Semantic web, Widgets. Abstract: The current status of the most popular web widget formats was examined with regard to composition of existing widgets into more complex mashups. A prototype was created demonstrating the creation of a mashup in web widget format using other web widgets as components. A search tool was developed which crawls and indexes in semantic format the metadata of web widgets found in a public repository. This tool provides a web widget interface to find other web widgets, and serves as the first pre-requisite tool for further work in this area. A likely path towards further results in this area is discussed. 1 INTRODUCTION and developers, the development methodology has had little time to mature as yet. Web Widgets/gadgets are serving an important role There remains a great deal of duplicated effort in in the modern web. For example, content producers web widget development, with tens of thousands of seek to syndicate their content in order to reach a widgets available which independently implement broader audience, as well as attracting visitors to common functionality. New tools which could their main sites. Portal providers seek to provide a provide a more modular approach to web widget variety of interesting content to make their website a development would be invaluable, both in reducing valuable destination for their visitors. These goals costs of new development, and in speeding new can be achieved through the use of web widgets. ideas’ transition to implementation and widespread A web widget is a portable, self-contained use. program module which can be inserted into and used This paper reviews currently popular web widget on any standard webpage, without special standards, tests the applicability of the proposed installation requirements. It is essentially a small development advances, and provides the first tools program designed for syndication on the web. Web needed on the path to simpler, modular development widgets are most commonly found on the websites of web widget mashups. of portal providers and other content aggregators, including popular social networking sites, since they provide a modular way to provide a wide variety of 2 WEB WIDGET STANDARDS user-customizable content. Mashups are composite applications that 2.1 Criteria of Comparison combine elements of existing applications to produce a result which is more than the sum of its In order to develop advancements in web widget parts (Hoyer et al., 2008). Mashups typically provide creation and mashup techniques, it is first necessary increased usability and/or functionality compared to to examine and compare the various available using the components separately (Yu et al., 2008). standards for web widgets. Several key criteria were Although mashups are not always formed from web considered in this comparison. widgets as components, it is those mashups which Capability for mashup is the foremost shall be a focus in this paper. consideration, since a standard unable to support Although the popularity of web widgets and web even rudimentary re-use of its widgets would be mashups has been growing rapidly, both with users unsuitable for the purposes of this paper. A standard 178 Fiaidhi J., McLellan A. and Mohammed S.. A SEMANTIC APPROACH FOR WEB WIDGET MASHUP. DOI: 10.5220/0003646301780184 In Proceedings of the 6th International Conference on Software and Database Technologies (ICSOFT-2011), pages 178-184 ISBN: 978-989-8425-76-8 Copyright c 2011 SCITEPRESS (Science and Technology Publications, Lda.) A SEMANTIC APPROACH FOR WEB WIDGET MASHUP may provide varying levels of support for this Table 1: Summary of Popular Web Widget Standards. possibility depending upon its API and security Standard Cross-Widget Licensing model. Since the goal is a modular standard of Communicatio development, ideally the standard should provide the n Support capability for multiple widgets to be instantiated and Widgetbox No Commercial to communicate with each other. SpringWidge No Free1 Finally, the level of openness of the standard and Yahoo Yes Open its associated development tools must be considered. Konfabulator Creation of mashups using web widgets as Widgets components is most useful with a large body of fresh Microsoft Unknown2 Unknown2 and innovative component widgets to build upon. Windows Live Thus the possibilities for mashup are best served Web Gadgets Google Yes, Multiple Open when the standard is easily accessible to the widest Gadgets Types possible range of developers who can provide these (OpenSocial) components. 2.3.2 SpringWidgets™ 2.2 Rich Internet Application Frameworks SpringWidgets provides a large repository of approximately 50,000 widgets. Some metadata is Rich internet application frameworks are widely available for each widget. Internally, the widget known on the web and are certainly put to many engine provides a number of Flash methods; widgets uses, including web widgets. The most popular rich using this standard must be implemented using internet application (RIA) frameworks are Adobe® Adobe Flash. Flash®, Microsoft® Silverlight™, and Oracle® JavaFX™. Each of these is well capable of 2.3.3 Yahoo!® Widgets producing a wide variety of powerful internet applications, including web widgets. Widgets are defined using an XML-based format However, none are intended specifically as a web and can provide various items of metadata. The widget standard; these frameworks are designed as widget engine provides an extensive API exposing general-purpose programming environments. Cross- numerous features to widget developers, including widget communication could be implemented via some items with potential to be used for cross- some form of shared client-server networking, but it widget communication. Approximately 6,000 is not provided out of the box. There is no widgets are listed in the Yahoo! Widgets repository. centralized repository of widget-like applications with detailed and standardized metadata. 2.3.4 Microsoft® Windows Live™ Web Although any of these frameworks could be used Gadgets as a basis for further work, they would require re- Currently, it is difficult to find developer implementation of features already provided by documentation on Microsoft’s Web Gadgets. existing widget standards intended for that purpose. However, like Yahoo! Widgets, this standard 2.3 Web Widget Standards appears to lack popular support, with approximately 5,000 gadgets listed in the Live Web Gadgets repository. There are many web widget standards; only those considered the most widely used are examined. 2.3.5 Google™ Gadgets (OpenSocial) 2.3.1 Widgetbox™ Google Gadgets were originally developed as a standard for Google’s portal site, iGoogle. However, Widgetbox provides a very large repository of web the standard has since been opened and used as the widgets, well over 200,000. Most widgets provide a basis for the OpenSocial gadget standard. visually-attractive array of user customization OpenSocial is now a widely-accepted format options. Also provides tools to allow end-users to accepted on other well-known sites including easily create certain types of widgets from templates Yahoo!, MySpace, orkut, hi5, and LinkedIn. The with no programming knowledge. repository of Google Gadgets available for syndication lists over 200,000 gadgets. 179 ICSOFT 2011 - 6th International Conference on Software and Data Technologies 3 SELECTION OF A STANDARD 4.2 Implementation Options After considering the criteria of comparison, the There are many options including Google Gadget standard was selected as the most 1- Adobe Flash which is the most widely installed appropriate for continuing this research. The Google RIA framework on the web. It is available for a wide Gadget standard is an open standard, widely- variety of browsers and operating systems. Notably accepted across popular websites, and able to be unable to view Flash content are Apple’s popular embedded in those without native support. It is iOS devices: the iPhone, iPad, and iPod Touch. easily accessible to developers at no cost, and is well-supported with a base body of over 200,000 2- Microsoft® Silverlight ™ that has the lowest gadgets to work from as potential components. install base of the major three RIA frameworks Perhaps most critically, the standard provides (Flash, Java, and Silverlight). Additionally, multiple methods of cross-gadget communication. Silverlight is not supported under Linux or iOS These communication channels can be utilized to based platforms. make possible the use of Google Gadgets as 3- Google® Web Toolkit (GWT) is yet again components in a mashup gadget. different from all other options. This free, open- The Google Gadget standard requires use of a source project by Google consists of a compiler and gadget server which can render the XML-based supporting libraries which transform developer- gadget specification into the appropriate HTML and written Java code into JavaScript. As developers JavaScript content for a web browser’s use. write code in Java, the software is strongly-typed, Google’s iGoogle portal site provides one publicly permits use of most Java as well as JavaScript available option. The Apache Shindig project also libraries, and can be seamlessly integrated with provides a free, open-source implementation of a server-side code using the same shared object gadget server according to the OpenSocial definitions. When the client-side code is compiled, specification. For the purposes of this research, most multiple permutations are generated for different development and testing was done using WSO2 browser and platform combinations, and a small Gadget Server, a much expanded open-source section of bootstrap JavaScript selects and launches project which builds upon Apache Shindig as a base, the most compatible version at runtime according to but also provides a portal interface much like the the user’s environment. iGoogle site. This will be addressed further when discussing the gadget search tool.