210 likes | 386 Views
Create Your Own Web 2.0 Mashups “Choose your own open-source adventure” ~ SE CS130 UCLA Winter 09 ~. Presenter: Dean Ocamura dokamura@us.ibm.com Project Lead: Gergana Markova gmarkova@us.ibm.com Other mentors: TBD. Agenda. Introduction The IBM team
E N D
Create Your Own Web 2.0 Mashups“Choose your own open-source adventure”~ SE CS130 UCLA Winter 09 ~ Presenter: Dean Ocamura dokamura@us.ibm.com Project Lead: Gergana Markova gmarkova@us.ibm.com Other mentors: TBD
Agenda • Introduction • The IBM team • Create Your Own Adventure Project Defined • What is it there for you • Web 2.0 Mashup Project • Questions? 2
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 3
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
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
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
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
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
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.”
Service Oriented Architecture Roles Service Registry Publish Advertise service Find Discover service Service Provider Service Requester Bind/Invoke Request service
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
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
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
Suggested Approach Environment setup Service discovery Your Mashup Concept Design / Storyboard Component Level Design Implementation Test Deployment (Go Live)
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
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)
Gain Experience J2EE Web services SOAP Axis JAX-RPC XML Web UI AJAX
Choose your own adventure • Any of your own ideas. We are here to help!
Conclusion • Thank you for your time! • We’re here for you! • Questions? • Project Ideas? 30