230 likes | 242 Views
Join the IBM team for a hands-on experience in developing open-source web applications and mashups. Learn software engineering skills, collaborate with experts, and explore the power of Web 2.0 technology. Discover the benefits of open-source community involvement and global development. Enhance your programming abilities through innovative project planning and agile methodologies. Engage with real-world examples and industry-standard tools while contributing to the evolution of online platforms. Start your adventure today and shape the future of digital connectivity!
E N D
Create Your Own Web 2.0+ “Choose your own open-source adventure”~ SE CS130 UCLA Winter 2011 ~ Presenter: Dean Ocamura dokamura@us.ibm.com Project Lead: Gergana Markova gmarkova@us.ibm.com Tech mentors: TBD by project Chris Montalvo Steve Hayachi Michael Stein
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
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
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
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
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 or Open Application Concept Design / Storyboard Component Level Design Implementation Test Code Inspection 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
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
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? 31
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