Download IBM blue-and-black template with image

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Web 2.0 Mashups
Project Proposal
UCLA CS130, Spring 2007
Alex Rodriguez
Chris Montalvo
Martin Stenkilde
Gergana Markova
SWG – Tivoli
GBS
SWG – Rational
SWG – Tivoli
[email protected]
[email protected]
[email protected]
[email protected]
© 2002 IBM Corporation
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)
2
© 2007 IBM Corporation
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
3
© 2007 IBM Corporation
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
4
© 2007 IBM Corporation
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.”
5
© 2007 IBM Corporation
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
6
© 2007 IBM Corporation
Service Oriented Architecture Roles
Find
Service
Registry
Publish
Advertise service
Discover service
Service
Provider
Service
Requester
Bind/Invoke
Request service
7
© 2007 IBM Corporation
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
8
© 2007 IBM Corporation
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
9
© 2007 IBM Corporation
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
10
© 2007 IBM Corporation
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
11
© 2007 IBM Corporation
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
12
© 2007 IBM Corporation
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
13
© 2007 IBM Corporation
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) {
...
}
}
14
© 2007 IBM Corporation
Axis Instant Deployment
$tomcat_home/webapps/axis
http://127.0.0.1:8080/axis/Library.jws?wsdl
15
© 2007 IBM Corporation
WSDL2Java Generates
16
© 2007 IBM Corporation
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();
}
}
}
17
© 2007 IBM Corporation
Suggested Approach
 Environment setup
 Service discovery
 Your Mashup Concept
 Design / Storyboard
 Component Level Design
 Implementation
 Test
 Deployment (Go Live)
18
© 2007 IBM Corporation
Web service Providers
19
© 2007 IBM Corporation
Real Mashup Examples
 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
20
© 2007 IBM Corporation
Real Mashup Examples
 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
21
© 2007 IBM Corporation
Skills Required
 Java Programming, nothing fancy
 Basic web service concepts: SOAP, WSDL
 Basic web-application concepts: URLs, HTTP, JavaScript, serverside scripting (JSP, PHP, other)
 Basic XML (syntax, parsing)
 AJAX (would be nice)
 CSS (optional)
22
© 2007 IBM Corporation
Gain Experience
 J2EE
 Web services
 SOAP
 Axis
 JAX-RPC
 XML
 Web UI
 AJAX
23
© 2007 IBM Corporation
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/
24
© 2007 IBM Corporation
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
25
© 2007 IBM Corporation
Questions
 Questions?
26
© 2007 IBM Corporation