Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Programming with Amazon, Google, and eBay Chunju Tseng (Lu) [email protected] http://www.u.arizona.edu/~chunju/age.ppt Outline 9/13 (Tuesday) Web Services in a nutshell Overview of Amazon, Google, and eBay APIs Lab Session: Web Services Programming 9/15 (Thursday) Back to World Wide Web 101 Lab Session: Java Web Programming What is Web Services? Web Services: A new way of reuse/integrate third party softwre or legacy system No matter where the software is, what platform it residents, or which language it was written in Based on XML and Internet protocols (HTTP, SMTP…) Benefits: Ease of integration Develop applications faster Web Services Architecture Simple Object Access Protocol (SOAP) Web Service Description Language (WSDL) Universal Description, Discovery and Integration (UDDI) New Breeds of Web Services Representational State Transfer (REST) Use HTTP Get method to invoke remote services (not XML) The response of remote service can be in XML or any textual format Benefits: Easy to develop Easy to debug (with standard browser) Leverage existing web application infrastructure We will focus on REST services programming in the lab session Really Simple Syndication (RSS) Designed for news-oriented websites to “Push” content to readers Excellent to monitor new content from websites Amazon Web Services (AWS) Amazon E-Commerce Service Search catalog, retrieve product information, images and customer reviews Retrieve wish list, wedding registry… Search seller and offer Alexa Web Information Service Retrieve information such as page rank, related sites given a target URL Amazon Simple Queue Service A distributed resource manager to store web services results Google Web APIs Programmatically search web pages using Google Get information about search result including URL, snippet, title and directory category Spell-checking and suggestion eBay API Buyers: Get the current list of eBay categories View information about items listed on eBay Display eBay listings on other sites Leave feedback about other users at the conclusion of a commerce transaction Sellers: Submit items for listing on eBay Get high bidder information for items you are selling Retrieve lists of items a particular user is currently selling through eBay Retrieve lists of items a particular user has bid on Other Free Web Services Google Maps API http://www.google.com/apis/maps/ Crime mapping: http://www.chicagocrime.org/ Fine cheap gas: http://www.mywikimap.com/ http://www.microsite.reuters.com/rss/topNews http://techbargains.com/rss.xml http://beta.search.msn.com/results.aspx?q=FMD&format=rss http://rss.news.yahoo.com/rss/highestrated http://news.search.yahoo.com/news/rss?p=YHOO http://www.rssweather.com/ http://xmethods.com/ Reuters News Shopping Deals MSN Search Engine Yahoo Highest-rated News Yahoo Financial News Search World Weather RSS Feed XMethods.net Lab Session: Amazon, Google, EBay APIs Required Software: NetBeans IDE Amazon API (http://www.amazon.com/gp/aws/landing.html) Google API (http://www.google.com/apis/) Registered with Amazon and Google Topics: Setup NetBeans Execute Amazon Samples REST with Browser REST with Jakarta HttpClient Programming Google API Setup NetBeans with Amazon Assume NetBeans 4.1 is installed http://www.netbeans.org/ Register Amazon subscription ID http://www.amazon.com/gp/aws/landing.html Download Amazon Java sample Create NetBeans project Install necessary libraries Execute Amazon code sample Main.java Retrieve Customer Information CustomerContentSearch Give name to retrieve customer ID CustomerContentLookup Give customer ID Request WishList information ResponseGroup=CustomerInfo, CustomerLists Receive WishList ID Use Amazon API Reference!! Retrieve Customer WishList and Response Manipulation ListLookup Give list ID and type to retrieve WishList content with a simple browser (REST) ResponseGroup=ListItems,ListInfo Result shows in XML format ListLookup with xml-to-text XSLT Give custom XSL to manipulate response Style=http://www.u.arizona.edu/~chunju/text.xsl&C ontentType=text/plain ListLookup with xml-to-html XSLT ResponseGroup=ListItems,ListInfo,Images,SalesRank ,ItemAttributes Style=http://www.u.arizona.edu/~chunju/html.xsl&C ontentType=text/html Access Amazon REST Service with Jakarta HttpClient Download & install necessary libraries Jakarta HttpClient, Codec JUnit Write first Java program in NetBeans Use previous REST invocation strings Print Amazon response in console Resources: http://jakarta.apache.org/commons/index.html http://www.junit.org/ http://www.u.arizona.edu/~chunju/HttpClientMa in.java Programming Google API Download Google Web API http://www.google.com/apis/ Install Google library Execute Google API demo Write Java codes to search Google Search Google Access cached pages Keyword suggestion Source:http://www.u.arizona.edu/~chunju/Goog leMain.java Other Resources Java Web Services Developer Pack http://java.sun.com/webservices/downloads/we bservicespack.html Consuming Web Services with NetBeans http://www.javapassion.com/planning/handsonb yol/netbeanswebservices/ XSLT Tutorial http://www.w3schools.com/xsl/ Lab Session Step-by-step Snapshots http://www.u.arizona.edu/~chunju/mis531a/ See you next time! Questions are welcome World Wide Web 101 Flash/ Applets Plug-ins JavaScript VBScript HTML/ CSS ASP, JSP, PHP… Script Renderer Engine Application Server Browser Web Server HTTP request response (HTML) Static Web Pages Browser Internet Explorer, Mozilla Firefox, Netscape Web Server Apache, IIS HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol Dynamic Web Pages Application Servers Tomcat, IIS, mod_php Server side programming languages ASP, JSP, PHP, cgi, ….. ROR Client side programming languages JavaScript, VBScript Dynamic HTML, XHTML, CSS Other dynamic contents Java Applets, ActiveX, Flash Rich Interactivity Web - AJAX AJAX: Asynchronous JavaScript + XML AJAX incorporates: standards-based presentation using XHTML and CSS; dynamic display and interaction using the Document Object Model; data interchange and manipulation using XML and XSLT; asynchronous data retrieval using XMLHttpRequest; and JavaScript binding everything together. Examples: http://www.gmail.com http://www.kiko.com More info: http://www.adaptivepath.com/publications/essays/archives/000385.php AJAX Application Model Lab Session: Java Web Programming Required Software: JDK 1.4 or later Apache Tomcat NetBeans IDE (optional) Topics: Install JDK Install Tomcat First Java Server Page Servlet with NetBeans IDE