Transcript Mashups
Create Your Own
Web 2.0 Mashups
“Choose your own open-source adventure”
~ SE CS130 UCLA Winter 09 ~
Presenter:
Dean Ocamura
[email protected]
Project Lead: Gergana Markova [email protected]
Other mentors: TBD
© 2002 IBM Corporation
Agenda
Introduction
The IBM team
Create Your Own Adventure Project Defined
What is it there for you
Web 2.0 Mashup Project
Questions?
2
© 2006 IBM Corporation
IBM Project Team
Project Lead: Gergana Markova
Each team will have dedicated Lead Technical Mentor and Lead Project Mentor: TBD
Technical Mentors
The Go-To experts for any technical questions and challenges
Project Mentors
Project environment, scheduling
Facilitation & collaboration
Team dynamics
Other
3
Open Source online resources and forums
IBM Academic Initiative Student Forum
IBM Developer Works resources
© 2006 IBM Corporation
Your Project, “Choose your own adventure”
General Project Technology / Requirements
Open Source
Web 2.0 Mashups
Programming Language: Java
Project Repository : Source forge . Net
Use its Wiki, forums to provide status; CVS to check code
Defect Tracking (SF.net tracker, Bugzilla, etc…)
Project Discussion Forum/Log of your choice (e.g., Wiki)
Unit testing of your choice (e.g., JUnit)
In the end, it’s your decision what to do!
Deliverables
Mandatory
Your project in a public repository, fully documented
Optional
An article that will be published on IBM DeveloperWorks detailing your
experience
4
© 2006 IBM Corporation
Projects Learning Skills
Software Engineering Skills
Team Project Planning and execution
Collaboration, Networking
Rapid Decision Making
Open source community involvement (process, resources..)
Research and resources evaluation
Concepts Emphasized
Open Source Process
Design Patterns
eXtreme Programming
5
© 2006 IBM Corporation
Why Open-source?
Standardization of the rail network enabled
industrialized America and Europe
A connecting platform fueling growth, creating
new business opportunities
Connecting resources with factory efficiencies
Connecting goods with markets
Enabling new distribution models (Sears Roebuck)
Other technology platforms: electricity grid,
national highway systems, ……..the internet
“Standards contribute more to economic
growth than patents and licenses.”
"Economic benefits of standardization“, Technical University Dresden (TUD) and
the Fraunhofer Institute for Systems and Innovations
6
© 2006 IBM Corporation
Web 2.0 MASHUP
PROJECT
© 2006 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)
The real power in Web services comes from combining
Web services are typically specialized, mashups are “situational”
Development without central authority
© 2006 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
© 2006 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.”
© 2006 IBM Corporation
Service Oriented Architecture Roles
Find
Service
Registry
Publish
Advertise service
Discover service
Service
Provider
Service
Requester
Bind/Invoke
Request service
© 2006 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
© 2006 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
© 2006 IBM Corporation
XML Parsers
XML/Java
Parsers help with validation, wellformedness checking, building a DOM,
notifying the application of errors
Two API Standards: DOM and SAX
Xerces2
Data Binding APIs
© 2006 IBM Corporation
Suggested Approach
Environment setup
Service discovery
Your Mashup Concept
Design / Storyboard
Component Level Design
Implementation
Test
Deployment (Go Live)
© 2006 IBM Corporation
Web service Providers
© 2006 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
© 2006 IBM Corporation
Java Programming, nothing fancy
Skills Required
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)
© 2006 IBM Corporation
J2EE
Gain Experience
Web services
SOAP
Axis
JAX-RPC
XML
Web UI
AJAX
© 2006 IBM Corporation
Choose your own adventure
Any of your own
ideas. We are here
to help!
© 2006 IBM Corporation
Conclusion
Thank you for your time!
We’re here for you!
Questions?
Project Ideas?
30
© 2006 IBM Corporation