Download presentation
Presentation is loading. Please wait.
Published byAdam Lawson Modified over 9 years ago
1
© 2002 IBM Corporation Web 2.0 Mashups Project Proposal UCLA CS130, Spring 2007 Alex Rodriguez SWG – Tivoli arodrigu@us.ibm.com arodrigu@us.ibm.com Chris Montalvo GBS cdmontal@us.ibm.comcdmontal@us.ibm.com Martin Stenkilde SWG – Rational mstenkil@us.ibm.com Gergana Markova SWG – Tivoli gmarkova@us.ibm.com
2
© 2007 IBM Corporation 2 Mashup A hybrid application that combines content from more than one source. Very popular Web 2.0 idea Mash-up (you can use a hyphen if you want)
3
© 2007 IBM Corporation 3 Why Mash? Mashups are the next logical step in Service Oriented Architecture The real power in Web services comes from combining Web services are typically specialized, mashups are “situational” Development without central authority
4
© 2007 IBM Corporation 4 Web 2.0 Web 2.0: O’Reilly Media coined the term Web 1.0 vs. 2.0 One-to-many vs. many-to-many publishing Application gets better as publishers make it better vs. application gets better the more people use it No AJAX vs. AJAX
5
© 2007 IBM Corporation 5 What is a Web service? W3C Web Services Architecture Group “A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”
6
© 2007 IBM Corporation 6 Service Oriented Architecture (SOA) A style of application design focused on how services are described and organized to support dynamic, automated discovery and use. Web services implement the service oriented architecture SOA principles: Reuse Modularity Composability Interoperability
7
© 2007 IBM Corporation 7 Service Oriented Architecture Roles Service Requester Service Registry Service Provider Find Discover service Publish Advertise service Bind/Invoke Request service
8
© 2007 IBM Corporation 8 SOAP A W3C Specification An XML format, typically holds information for a Web service method call, or a response Programming language independent SOAP expanded: Services-Oriented Access Protocol Used to be Simple Object Access Protocol
9
© 2007 IBM Corporation 9 WSDL Web Services Description Language A kind of IDL (Interface Definition Language) An XML format to describe a Web service’s capabilities Describes a service as a set of endpoints operating on messages
10
© 2007 IBM Corporation 10 XML/Java XML Parsers Parsers help with validation, well-formedness checking, building a DOM, notifying the application of errors Two API Standards: DOM and SAX Xerces2 Data Binding APIs
11
© 2007 IBM Corporation 11 Axis Apache Extensible Interaction System A SOAP Engine A JAX-RPC run-time system Provides emitter tooling that generates Java classes from WSDL Used to be IBM SOAP4J
12
© 2007 IBM Corporation 12 JAX-RPC A Sun specification, was JSR 101 Specifies Java APIs for XML-based Remote Procedure Call Remote Procedure Call A mechanism for clients to call procedures from a service over a network Typically used in distributed client/server model Other example of RPC mechanism: RMI
13
© 2007 IBM Corporation 13 A Very Simple Example The Library Web service Exposes one method: findTitleByAuthor Uses Axis “instant deployment” with a JWS file Generates a Web service client from the Library service WSDL
14
© 2007 IBM Corporation 14 Service Implementation - Library.jws import java.util.*; public class Library { private LibraryDatastore dataStore; public Library() { DatastoreFactory.getDS(); dataStore = DatastoreFactory.getLibraryDataStore(); } public Collection findTitleByAuthor(String author) {... }
15
© 2007 IBM Corporation 15 http://127.0.0.1:8080/axis/Library.jws?wsdl Axis Instant Deployment $tomcat_home/webapps/axis
16
© 2007 IBM Corporation 16 WSDL2Java Generates
17
© 2007 IBM Corporation 17 Service Client – LibraryClient.java import java.util.*; import org.library.*; public class LibraryClient { public static void main(String[] args) { try { LibraryService libraryLocator = new LibraryServiceLocator(); Library library = libraryLocator.getLibrary(); Object[] titles = library.findTitleByAuthor(args[0]); for (Object title : titles) { System.out.println(title); } } catch (Exception e) { e.printStackTrace(); }
18
© 2007 IBM Corporation 18 Suggested Approach Environment setup Service discovery Your Mashup Concept Design / Storyboard Component Level Design Implementation Test Deployment (Go Live)
19
© 2007 IBM Corporation 19 Web service Providers
20
© 2007 IBM Corporation 20 Real Mashup Examples http://www.allapis.com/Yahoo_Flickr_ Weather_Maps.aspx http://www.allapis.com/Yahoo_Flickr_ Weather_Maps.aspx Allows users to search US cities/locations - provides users with information on the city requested Weather Forecasts Wikipedia geo Articles Flickr photos APIs used Flickr GeoNames Yahoo Geocoding Yahoo Maps
21
© 2007 IBM Corporation 21 Real Mashup Examples www.corozalmapia.com www.corozalmapia.com The site is not complete, however the concept is interesting This specific site is a map of Corozal Town Belize (Central America). Each attraction on the map is clickable Once clicked the user can see pictures and video of each attraction APIs used Google AdSense Google Maps YouTube
22
© 2007 IBM Corporation 22 Skills Required Java Programming, nothing fancy Basic web service concepts: SOAP, WSDL Basic web-application concepts: URLs, HTTP, JavaScript, server- side scripting (JSP, PHP, other) Basic XML (syntax, parsing) AJAX (would be nice) CSS (optional)
23
© 2007 IBM Corporation 23 Gain Experience J2EE Web services SOAP Axis JAX-RPC XML Web UI AJAX
24
© 2007 IBM Corporation 24 Links and References (1) Documentation / Specifications developerWorks – SOA and Web services http://www-128.ibm.com/developerworks/webservices/ SOAP http://www.w3.org/TR/soap/ WSDL http://www.w3.org/TR/wsdl JAX-RPC http://java.sun.com/webservices/jaxrpc/ SOAP Engine Axis http://ws.apache.org/axis/ Eclipse http://www.eclipse.org/
25
© 2007 IBM Corporation 25 Links and References (2) Web service Providers (WSDL) Google Code http://code.google.com/ Yahoo Developer Network http://developer.yahoo.com/ Amazon ECS http://www.amazon.com/exec/obidos/tg/browse/-/12738641 Flickr Web services http://www.flickr.com/services/api/ YouTube API http://www.youtube.com/dev Microsoft Web services http://www.momentumsi.com/MSWSDLHunt.html
26
© 2007 IBM Corporation 26 Questions Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.