Download presentation
Presentation is loading. Please wait.
Published byJason Hunt Modified over 9 years ago
1
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems
2
BEA Confidential About the Speaker Has 10 years of server side Java development experience Leads the architecture team for BEA WebLogic Portal, a leading Java enterprise portal product Has worked on WebLogic Portal for 7 years as a developer and architect Holds the following certifications Oracle DBA Cisco CCNA Regular contributor to BEA’s developer website http://dev2dev.bea.com http://dev2dev.bea.com
3
BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadgets, Why Should You Care? Inside a Google Gadget Building a Gadget in Java
4
BEA Confidential Housekeeping This is a 30 Minute Presentation A lot to cover, will move very fast Will focus more on Gadgets, less on Java web development No network connectivity in this building Google Gadgets necessarily require internet access for live demos Will show movies of demos instead
5
BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadget: Why Should You Care? Inside a Google Gadget Building a Gadget in Java
6
BEA Confidential Introduction to iGoogle (demo)
7
BEA Confidential iGoogle iGoogle portal is a free Google service Is a customizable web portal Users can add “Gadgets” to the page Customizations are saved to the user’s account and retrieved when logging in again
8
BEA Confidential Google Gadgets Gadgets are small user interface components Could also be called portlets or widgets Example: eBay Search Plus Gadget
9
BEA Confidential Gadgets are Dynamic Web Applications Gadgets can be static, but then are of limited use Dynamic Gadgets are more common Three general approaches when making a dynamic gadget: Time dynamic – the content changes over time, e.g. a news gadget User input dynamic – the content changes via a user interacting with the gadget (forms, links, etc) User preference dynamic – the user sets preferences that persist across user sessions (eBay example)
10
BEA Confidential Gadgets are Dynamic Web Applications Gadgets support user preferences for dynamic behavior
11
BEA Confidential Gadgets live on a web page Gadgets need not include a page header/footer, they focus on the specific application they surface iGoogle provides services to the Gadgets Page layout Preferences Minimize capability Gadgets can also live on pages other than iGoogle Called Google Gadgets For Your Webpage
12
BEA Confidential Gadgets are NOT hosted by Google Google Gadgets can be created by anyone Gadget must be deployed on a public web server Once deployed, anyone can use the Gadget iGoogle supports a Gadget library to help users find Gadgets they may want to use It is optional to submit the Gadget for inclusion in the directory
13
BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadgets: Why Should You Care? Inside a Google Gadget Building a Gadget in Java
14
BEA Confidential Gadgets, Why Should You Care? Google Gadgets were the fastest growing product offered by Google in 2006 and had strong growth again in 2007 “The star performer for [2007] was Google’s personalized start page service iGoogle which increased traffic in the 12 months to November by 267.64%.” (TechCrunch)TechCrunch Useful Gadgets get heavily used “The Google gadget ecosystem received 960 million pageviews last week” (Niall Kennedy)Niall Kennedy Consider how your enterprise can benefit from deploying Google Gadgets A new channel to your customers
15
BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadget: Why Should You Care? Inside a Google Gadget Building a Gadget in Java
16
BEA Confidential Inside Google Gadgets We have just covered: What is iGoogle What are Google Gadgets Features of Google Gadgets Popularity of Google Gadgets Now we will get technical Technical details of a Google Gadget Implementing a static Hello World Gadget Implementing a dynamic Java Gadget
17
BEA Confidential Two Types of Google Gadgets URL Implementation is hosted on the web and is addressed via a URL Content is usually dynamic HTML Implementation is contained wholly within the gadget descriptor Content is static, though may have JavaScript We will focus on URL gadgets
18
BEA Confidential Google Gadget Descriptor XML file that describes the attributes of the Gadget For URL Gadget, identifies the Gadget implementation URL URL can be any web page URL should return HTML that can render in a small area Descriptor also provides metadata about the Gadget Must exist somewhere on a public web server on the internet
19
BEA Confidential Google Gadget Descriptor <ModulePrefs title="Simplest Gadget" directory_title="Simplest Gadget" title_url="http://wlp.bea.com" description="Very very simple gadget." height="120" author="Peter Laird" /> <Content href="http://wlp.bea.com/blogs/simplest.html" type="url" />
20
BEA Confidential Add a Custom Google Gadget to iGoogle Click on “Add Stuff” Click on “Add gadget” Enter the URL to the Gadget Descriptor Done! You have created your first Google Gadget
21
BEA Confidential Adding Preferences to your Gadget Google provides preference support to allow users to customize your Gadget Preference editing user interface provided by Google User’s preferences passed by Google to your Gadget via request parameters Assume your gadget has a “color” preference: http://myhost/mywebapp/gadgetimpl.jsp?up_color=blue http://myhost/mywebapp/gadgetimpl.jsp?up_color=blue
22
BEA Confidential Adding Preferences to your Gadget <UserPref name="color" datatype="enum" default_value="blue" display_name="Background Color" >
23
BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadget: Why Should You Care? Inside a Google Gadget Building a Gadget in Java
24
BEA Confidential Google Gadgets are Web Pages Google Gadgets are implemented behind public URLs Any public server that speaks HTTP and returns HTML can be a Gadget host Apache web server PHP Ruby on Rails ASP.NET Java Application Servers (Servlet Containers)
25
BEA Confidential Java Servlets Apache Tomcat, BEA WebLogic Server, and many others Each provides an implementation of an HttpServlet Container HttpServlets are Java classes that emit dynamic markup (usually HTML) over HTTP Servlets can therefore be used to implement Google Gadgets A programmer can implement a Servlet directly
26
BEA Confidential Related Java Servlet Technologies Programming a Servlet can be tedious Higher level rendering technologies are built on Servlets They make this easier Java Server Pages (JSP) Velocity Templates Java Server Faces (JSF) We will use JSP Intermixes dynamic capabilities into HTML files
27
BEA Confidential Helloworld.jsp Hello World JSP <% // Java code here String color = “Red”; %> My color:
28
BEA Confidential Hello World Gadget http://host/helloworld.jsp
29
BEA Confidential Helloworld.jsp using a preference Hello World JSP <% // Pick up the Google Gadget preference String color = request.getParameter(“up_color”); %> My color:
30
BEA Confidential Conclusion Google Gadgets are popular Gadgets are easy to implement Gadgets can be placed on any page Pick your favorite web technology Java Servlet technology is a quick way to build dynamic Gadgets in Java
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.