Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.

Slides:



Advertisements
Similar presentations
Apache Struts Technology
Advertisements

A Blackboard Building Block™ Crash Course for Web Developers
Peter Laird. | 1 Getting Started Building Mashups using JavaScript, Ajax, and Google Maps Peter Laird Managing Architect WebLogic Portal BEA Systems.
DT228/3 Web Development WWW and Client server model.
Using JavaServer Pages Harry R. Erwin, PhD CIT304/CSE301.
ESRI Geoportal Extension 10 November 2010 Out-of-the-box capabilities and additional options.
BEA Confidential. | 1 Building REST Service APIs for Rich Internet Applications Peter Laird Managing Architect WebLogic Portal BEA Systems.
ASP Tutorial. What is ASP? ASP (Active Server Pages) is a Microsoft technology that enables you to make dynamic and interactive web pages. –ASP usually.
Servlets and a little bit of Web Services Russell Beale.
Part 1: Overview of Web Systems Part 2: Peer-to-Peer Systems Internet Computing Workshop Tom Chothia.
1 Static Web Pages Websites on Servers (The Big Picture) –Apache Tomcat can support static web pages –Primarily intended to support servlets and JSP –Some.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Introduction to Java web programming Dr Jim Briggs JWP intro1.
Java Servlets. What Are Servlets? Basically, a java program that runs on the server Basically, a java program that runs on the server Creates dynamic.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 21: Publishing Your Pages on the Web.
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
IT 210 The Internet & World Wide Web introduction.
J2EE Web Fundamentals Lesson 1 Introduction and Overview
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Server-side Scripting Powering the webs favourite services.
1 CHAPTER 1 OVERVIEW of JDEVELOPER. 2 Overview of JDeveloper Oracle’s JDeveloper 10g (JDeveloper) is an integrated development environment for Java programming.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
M1G Introduction to Database Development 6. Building Applications.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
“Confidential –Internal Halliburton Use Only. © 2004 Halliburton. All Rights Reserved.” Portal Brief OracleAS Portal A component of Oracle Application.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
JSR 168 Overview Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
Markus Hjort Reaktor Innovations Java Web Development T WWW-palvelun HUT
Web Technologies Lecture 3 Web forms. HTML5 forms A component of a webpage that has form controls – Text fields – Buttons – Checkboxes – Range controls.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Introduction and Principles Web Server Scripting.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
Chapter 6 Chapter 6 Server Side Programming (JSP) Part 1 1 (IS 203) WebProgramming (IS 203) Web Programming.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
Chapter 1 Getting Started with ASP.NET Objectives Why ASP? To get familiar with our IDE (Integrated Development Environment ), Visual Studio. Understand.
Section 10.1 Define scripting
Web Development Web Servers.
Introduction to JSP Liu Haibin 12/09/2018.
PHP / MySQL Introduction
MSIS 655 Advanced Business Applications Programming
Introduction to Servlets
Web Application Development Using PHP
CGS 3066: Web Programming and Design Fall 2019
Presentation transcript:

Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems

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 

BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadgets, Why Should You Care? Inside a Google Gadget Building a Gadget in Java

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

BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadget: Why Should You Care? Inside a Google Gadget Building a Gadget in Java

BEA Confidential Introduction to iGoogle (demo)

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

BEA Confidential Google Gadgets Gadgets are small user interface components  Could also be called portlets or widgets Example: eBay Search Plus Gadget

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)

BEA Confidential Gadgets are Dynamic Web Applications Gadgets support user preferences for dynamic behavior

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

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

BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadgets: Why Should You Care? Inside a Google Gadget Building a Gadget in Java

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 %.” (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

BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadget: Why Should You Care? Inside a Google Gadget Building a Gadget in Java

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

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

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

BEA Confidential Google Gadget Descriptor <ModulePrefs title="Simplest Gadget" directory_title="Simplest Gadget" title_url=" description="Very very simple gadget." height="120" author="Peter Laird" /> <Content href=" type="url" />

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

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: 

BEA Confidential Adding Preferences to your Gadget <UserPref name="color" datatype="enum" default_value="blue" display_name="Background Color" >

BEA Confidential Agenda Introduction to iGoogle and Google Gadgets Google Gadget: Why Should You Care? Inside a Google Gadget Building a Gadget in Java

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)

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

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

BEA Confidential Helloworld.jsp Hello World JSP <% // Java code here String color = “Red”; %> My color:

BEA Confidential Hello World Gadget

BEA Confidential Helloworld.jsp using a preference Hello World JSP <% // Pick up the Google Gadget preference String color = request.getParameter(“up_color”); %> My color:

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