Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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