Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2002 IBM Corporation Web 2.0 Mashups Project Proposal UCLA CS130, Spring 2007 Alex Rodriguez SWG – Tivoli Chris.

Similar presentations


Presentation on theme: "© 2002 IBM Corporation Web 2.0 Mashups Project Proposal UCLA CS130, Spring 2007 Alex Rodriguez SWG – Tivoli Chris."— Presentation transcript:

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?


Download ppt "© 2002 IBM Corporation Web 2.0 Mashups Project Proposal UCLA CS130, Spring 2007 Alex Rodriguez SWG – Tivoli Chris."

Similar presentations


Ads by Google