Transcript Mashups

Create Your Own
Web 2.0+
“Choose your own open-source adventure”
~ SE CS130 UCLA Winter 2011 ~
Presenter:
Project Lead:
Dean Ocamura
[email protected]
Gergana Markova [email protected]
Tech mentors: TBD by project
Chris Montalvo
Steve Hayachi
Michael Stein
© 2002 IBM Corporation
Agenda
 Introduction
 The IBM team
 Create Your Own Adventure Project Defined
 What is it there for you
 Web 2.0 Application or Mashup Project
 Questions?
2
© 2011 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
IBM Smart Planet resources
© 2011 IBM Corporation
Your Project, “Choose your own adventure”
 General Project Technology / Requirements








Open Source
Web 2.0 Mashups
Programming Language: Java ; Can use Ruby on Rails and other platforms
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
 Submission to www.programmableweb.com
Previous CS130 class Project available there:
http://www.programmableweb.com/mashup/music-enthusiast
4
© 2011 IBM Corporation
Projects Learning Skills
 Software Engineering Skills
 Team Project Planning and execution
 Collaboration, Networking
 Rapid Decision Making
 Open source community involvement (process, resources..)
 Agile Development
 Globalization Awareness
 Code Inspection Techniques
 Research and resources evaluation
 Concepts Emphasized
 Open Source Process
 Global Community Involvement
 Design Patterns
 eXtreme Programming
 User Experience
5
© 2011 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
© 2011 IBM Corporation
Web 2.0+ MASHUP
PROJECT
© 2011 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
© 2011 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
© 2011 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.”
© 2011 IBM Corporation
Service Oriented Architecture Roles
Find
Service
Registry
Publish
Advertise service
Discover service
Service
Provider
Service
Requester
Bind/Invoke
Request service
© 2011 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
© 2011 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
© 2011 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
© 2011 IBM Corporation
Environment setup
Suggested Approach
Service discovery
Your Mashup or Open Application Concept
Design / Storyboard
Component Level Design
Implementation
Test
Code Inspection
Deployment (Go Live)
© 2011 IBM Corporation
Web service Providers
© 2011 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
© 2011 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)
© 2011 IBM Corporation
J2EE
Gain Experience
Web services
SOAP
Axis
JAX-RPC
XML
Web UI
AJAX
© 2011 IBM Corporation
Random Food for Thought
 Build a small application and utilize an open source
framework or library

Hibernate

Spring
How can _you_ make our Planet Smart?
Make a difference beyond this class
Create your own SE Hack of Kindness project
http://www.rhok.org/ Random Hacks of Kindness
© 2011 IBM Corporation
Choose your own adventure
Any of your own
ideas. We are here
to help!
© 2011 IBM Corporation
Conclusion
 Thank you for your time!
 We’re here for you!
 Questions?
 Project Ideas?
31
© 2011 IBM Corporation
Smart Planet
http://www.ibm.com/smarterplanet/us/en/
http://www.ibm.com/smarterplanet/us/en/overview/ideas/index.
html?ca=v_now&re=ussph2.2
http://www.ted.com/
People for a Smarter Planet Community
http://www.facebook.com/search.php?q=People+for+a+Smarter+Planet&init=quick&tas=search_prelo
ad#!/peopleforasmarterplanet
http://www.smartplanet.com/
http://en.wikipedia.org/wiki/Smarter_Planet

Provides great URL references at end of article
© 2011 IBM Corporation