23
© 2002 IBM Corporation Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura [email protected] Project Lead: Gergana Markova [email protected] Tech mentors: TBD by project Chris Montalvo Steve Hayachi Michael Stein

Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~

Embed Size (px)

DESCRIPTION

Create Your Own Web 2.0+ “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 2011 ~. Presenter: Dean Ocamura [email protected] Project Lead: Gergana Markova [email protected] Tech mentors: TBD by project Chris Montalvo - PowerPoint PPT Presentation

Citation preview

© 2002 IBM Corporation

Create Your Own Web 2.0+

“Choose your own open-source adventure”~ SE CS130 UCLA Winter 2011 ~

Presenter: Dean Ocamura [email protected] Project Lead: Gergana Markova [email protected]

Tech mentors: TBD by project Chris Montalvo

Steve Hayachi Michael Stein

© 2011 IBM Corporation2

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?

© 2011 IBM Corporation3

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 Open Source online resources and forums IBM Academic Initiative Student Forum IBM Developer Works resources IBM Smart Planet resources

© 2011 IBM Corporation4

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.comPrevious CS130 class Project available there: http://www.programmableweb.com/mashup/music-enthusiast

© 2011 IBM Corporation5

Projects Learning SkillsSoftware 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

© 2011 IBM Corporation6

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

© 2011 IBM Corporation

Web 2.0+ MASHUPPROJECT

© 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

Service Requester

Service Registry

Service Provider

FindDiscover service

PublishAdvertise service

Bind/InvokeRequest 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/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

© 2011 IBM Corporation

Suggested ApproachEnvironment setup

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 Exampleshttp://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

Skills RequiredJava 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)

© 2011 IBM Corporation

Gain ExperienceJ2EE

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 Corporation31

Conclusion

Thank you for your time!

We’re here for you!

Questions?

Project Ideas?

© 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 Communityhttp://www.facebook.com/search.php?q=People+for+a+Smarter+Planet&init=quick&tas=search_preload#!/peopleforasmarterplanet

http://www.smartplanet.com/

http://en.wikipedia.org/wiki/Smarter_Planet Provides great URL references at end of article