1 / 23

Create Your Own Web 2.0+: Choose Your Own Open-Source Adventure

Join the IBM team in creating your own adventure with this Web 2.0+ mashup project. Learn software engineering skills, collaborate with a global community, and contribute to the open-source process. Optional deliverables include publishing an article on IBM DeveloperWorks and submitting your project to programmableweb.com.

lruby
Download Presentation

Create Your Own Web 2.0+: Choose Your Own Open-Source Adventure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Create Your Own Web 2.0+ “Choose your own open-source adventure”~ SE CS130 UCLA Spring 2011 ~ Project Lead: Gergana Markova gmarkova@us.ibm.com Tech mentors: TBD by project Chris Montalvo Dean Ocamura Michael Stein Neil Sahota Steve Hayachi

  2. 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

  3. 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 3

  4. 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

  5. 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

  6. 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

  7. Web 2.0+ MASHUPPROJECT

  8. 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

  9. 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

  10. 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.”

  11. Service Oriented Architecture Roles Service Registry Publish Advertise service Find Discover service Service Provider Service Requester Bind/Invoke Request service

  12. 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

  13. 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

  14. 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

  15. Suggested Approach Environment setup Service discovery Your Mashup or Open Application Concept Design / Storyboard Component Level Design Implementation Test Code Inspection Deployment (Go Live)‏

  16. Web service Providers

  17. 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

  18. 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)‏

  19. Gain Experience J2EE Web services SOAP Axis JAX-RPC XML Web UI AJAX

  20. 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

  21. Choose your own adventure • Any of your own ideas. We are here to help!

  22. Conclusion • Thank you for your time! • We’re here for you! • Questions? • Project Ideas? 31

  23. 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_preload#!/peopleforasmarterplanet • http://www.smartplanet.com/ • http://en.wikipedia.org/wiki/Smarter_Planet • Provides great URL references at end of article

More Related