Implementing Search Spelling Suggestions using the Google Web Services API Dave Costakos Software Developer, Systems Engineering Division May 2nd, 2002.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Overview Environment for Internet database connectivity
Web Service Architecture
Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Distributed Heterogeneous Data Warehouse For Grid Analysis
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
ECT 455/HCI 513 Website Testing Technology and architecture.
Web Services Andrea Miller Ryan Armstrong Alex. Web services are an emerging technology that offer a solution for providing a common collaborative architecture.
Web Services By Ethan Justin Yuli. Web Services in Action Information through Integration (Google Example)Google Example What do Web.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Web Services.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Web Services Overview Mary Grammatikou 9/06/2009.
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
Web services A Web service is an interface that describes a collection of operations that are network-accessible through standardized XML messaging. A.
A Cross-Platform Component Based Ecommerce Framework in.NET Vishwak Rajgopalan Under the guidance of Dr. Daniel Andresen (Major Professor) Dr. Mitchell.
CIS 451: Web Services Dr. Ralph D. Westfall March, 2009.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Web Services 101 Introduction to Web Services Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Discovering E-Services Using UDDI in SELF-SERV Quan Z. Sheng, Boualem Benatallah, Rayan Stephan, Eileen Oi-Yan Mak, Yan Q. Zhu School of Computer Science.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
UDDI ebXML(?) and such Essential Web Services Directory and Discovery.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
XML Registries Source: Java TM API for XML Registries Specification.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
XML and Web Services (II/2546)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Universal Description, Discovery and Integration Matthew J. Dovey Oxford University ZIG – Washington December 2000.
What is a Web Service? Distributed Computing Model Distributed Computing Model  Loosely Coupled, Course Grained  Standard HTTP Transport  Sync/Async.
Kemal Baykal Rasim Ismayilov
C# 1 Web services CSC 298. C# 2 Web services  A technology to make libraries available across the internet.  In Visual Studio,  can create a web service.
WEB SERVER SOFTWARE FEATURE SETS
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Developing Web Services with the Eclipse Web Tools Platform David Gallardo.
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Web Services Architecture Presentation for ECE8813 Spring 2003 By: Mohamed Mansour.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
GF and RS, Dept. of CS, Mangalore University
Web Services Primer Overview of Web Services
Some Basics of Globus Web Services
Wsdl.
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Web services, WSDL, SOAP and UDDI
The future of distributed systems architecture
WEB SERVICES DAVIDE ZERBINO.
WebServices Using JAX-RPC
XML and Web Services (II/2546)
Presentation transcript:

Implementing Search Spelling Suggestions using the Google Web Services API Dave Costakos Software Developer, Systems Engineering Division May 2nd, 2002 Dave Costakos Software Developer, Systems Engineering Division May 2nd, 2002

Agenda Overview of the Google Web Service API Overview of SOAP and related technologies Description of Google’s Web Service API Description of how Google’s Spelling Suggestion service was integrated. Explanation of how it all works Example integration walkthrough

Google’s Web Service API A BETA web program that enables developers to access Google services via SOAP. Allows clients to connect to Google and use their search, cached page and spelling suggestion software inside the client application Available for non-commercial use from: It can be used commercially with written permission from Google. Limited to 1,000 accesses per day. May allow more accesses at a later date for a commercial fee. Provides a client API in Java and.NET but any language could be used to access the services.

Web Services Overview A Web Service is a piece of business logic located somewhere on the internet accessible through a standardized XML messaging system. Because Web Services use XML, they are not tied to any specific platform or Operating System. Very similar to how the library community standardized and shares information via the Z39.50 protocol. A main differences between Z39.50 and Web Services are cross-industry support and the use of XML.

SOAP Overview Simple Object Access Protocol (SOAP) Provides a standard packaging structure for transporting XML messages over many standard protocols like HTTP, SMTP or FTP. This standard transport mechanisms allows heterogeneous clients and servers to be interoperable. The Cornerstone protocol of Web Services.

SOAP Overview Example Envelope <ns1:doSpellingSuggestion xmlns:ns1="urn:GoogleSearch" SOAP-ENV:encodingStyle=" britney speers

Web Services Description Language WSDL (Web Services Description Language) – describes the interface to a web service in a standardized way. Tools are available that take a WSDL file and turn it into a Web Service client or take Web Service code and turn it into a WSDL file. Google’s WSDL:

Universal Description, Discovery, Integration: UDDI UDDI (Universal Description, Discovery and Integration) – provides a registry for web services for advertisement, discovery and integration WSDL files can be published in UDDI registries making them available to the general public for discovery. A shopping Mall for computers ebXML is on the horizon

Web Service Tools Most programming languages now provide tools to make using and programming Web Services simple and easy. Some SOAP tools: IBM SOAP4J / Web Services Toolkit Sun JWSDP (Java Web Services Developer Pack) Apache SOAP / Axis Perl SOAP::Lite (Perl) Microsoft SOAP Toolkit (.NET)

Web Service Work Flow UDDI Registry Web Service Client Web Service Server Publish WSDL Lookup Service SOAP Request SOAP Response

Integrating the Google API with SiteSearch Requirements A license key obtained from Google Conformance to the Google license agreement Limited to 1,000 accesses per day The googleapi.jar file Java 2 (1.2.2 or better)

Integrating the Google API with SiteSearch Files Touched Java Files: GoogleSpellingSuggestion.java, QUERY.java, ZServer.java ini/servers/ZBase.ini (ZBase_rb.ini if you have record builder) HTML: resultsnav.html, nfsort.html, nfbrief.html, nffull.html,nfrefine.html Scripts: ssmgr.HOSTNAME file (added googleapi.jar file to CLASSPATH

Integrating the Google API with SiteSearch How it Works GoogleSpellingSuggestion handles the details of obtaining the spelling suggestions from Google and caching results (we have a limited number of accesses available) QUERY takes the client query, extracts the entered term, obtains the suggestion and loads it into the user data for display ZServer: Loads the key into memory from the configuration file HTML: displays search suggestion stored in user data

Integrating the Google API with SiteSearch User

Integrating the Google API with SiteSearch User WebZ Search

Integrating the Google API with SiteSearch User WebZ JaSSI Search Z39.50 Request

Integrating the Google API with SiteSearch User WebZ JaSSI ZBase Search Z39.50 Request Search

Integrating the Google API with SiteSearch User WebZ JaSSI ZBase Google Search Z39.50 Request Search SOAP Request SOAP Response

Integrating the Google API with SiteSearch User WebZ JaSSI ZBase Google Search Z39.50 Request Search SOAP Request SOAP Response Spelling Suggestion

Integrating the Google API with SiteSearch User WebZ JaSSI ZBase Google Search Z39.50 Request Search SOAP Request SOAP Response Spelling Suggestion HTML

Example Screen Implementation

Where do I get this Enhancement? The SiteSearch Open Source Server /

Possible Improvements? Caching: The GoogleSpellingSuggestion object maintains an internal cache of suggestions. However, the cache was never performance tested and it is unclear how much good it will do in a production environment. API Usage: The GoogleSpellingSuggestion object uses the standard Google classes provided to make SOAP calls. Users may be able to improve upon these APIs in terms of performance.

Where to Get Software Apache SOAP: Apache Axis: JWSDP (Java Web Services Developer Pack): SOAP::Lite for Perl: IBM WSTK (Web Services Toolkit): PHP Soap Toolkit: MS SOAP: Buy it from Microsoft

Questions?