260 likes | 362 Views
Web 2.0 – An overview. Alan Braz - alanbraz@br.ibm.com IT Specialist for IBM Global Account. Myself. Alan Braz Global Business Services Hortolândia, São Paulo, Brazil. Graduated: Bachelor in Computer Science – State University of Campinas - UNICAMP - 2005
E N D
Web 2.0 – An overview Alan Braz - alanbraz@br.ibm.com IT Specialist for IBM Global Account
Myself Alan Braz Global Business Services Hortolândia, São Paulo, Brazil • Graduated: Bachelor in Computer Science – State University of Campinas - UNICAMP - 2005 • Joined IBM: August 2005 as a Java/WebSphere Developer for IGA • Production Support for WWER since November 2005 (AIX and WebSphere environment) • OO/Java/JavaEE/RAD Teacher inside and outside IBM since Sep 2006 (more than 270 hours) • Focal Point for IGA GD since January 2006, managing 8 resources • Brazilian Java Community Leader, exercising my Leadership and Project Management skills, since Jan 2007 • Academic Initiative Ambassador since Feb 2007 • Java EE Developer for Enhanced Audio Conferencing System – Rendezvous – since October 2007 • Promoted to BAM Representative (Senior Focal Point) Since Jan 2008 – Responsible for all GRs for Bob Walsh and Maureen Martin BAMs • IBM certifications: • IBM Certified Associate Developer - Rational Application Developer for WebSphere Software V6.0 • IBM Certified SOA Associate • IBM Certified System Administrator - WebSphere Application Server, Network Deployment V6.1 • Sun certifications: • Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 • Sun Certified Web Component Developer 1.4 (SCWCD) • Sun Certified Enterprise Architect 5.0 (SCEA) • IT Specialist Advisory Accreditation in progress (target Nov 2008)
What is Web 2.0? Some web-sites examples The Seven Key Principles Some IBM initiatives Questions Agenda
It is NOT a technology, It is NOT an industry It is NOT a pattern, It is NOT a software It is a term coined by Tim O‘Reilly (see http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html) Increasingly used for next generation World Wide Web Applications and Services Web 2.0 has many aspects: Business Models that survived and have promise for the future Approaches such as services instead of products, the Web as a platform, ... Concepts such as folksonomies, syndication, participation, reputation, .... Technologies such as AJAX, REST, Tags, Microformats, ... And many others ... What is Web 2.0?
Modern “Web 2.0” site Users collectively contribute to the web site, they don‘t just consume Every user is a content editor and rater Web site provides content, applications, and collective contributions of all users Semantically tagged markup Humans and applications as “users” Accumulates huge amounts of information and content Flexible Tagging / Folksonomy Bi-directional • Strict “Web 1.0” site • “Web Master” runs web site, users consume • Few content editors • Web site provides content and applications for users • View-only markup • Only human users • Accumulates relatively small amounts of information and content • Fixed categories / Taxonomy • Unidirectional App App Web Site Web Site App Data Data App What is Web 2.0?
http://en.wikipedia.org/wiki/Image:Web20buzz.png What is Web 2.0?
Share your bookmarks: http://del.icio.us/ Manage your tasks: http://www.rememberthemilk.com/ Share your photos: http://www.flickr.com/ Find a place: http://maps.google.com/ Some web-sites examples
The web as a platform Harnessing Collective Intelligence Data is the Intel Inside End of the software release cycle Lightweight programming models Software above a single device Rich user experiences The Seven Key Principles
Benefits Great number of users You don’t need to upgrade the software, just update the site Social Networking – allowing user interaction Sharing services “here is our API” Reuse existing services SOA and Web2.0 = WOA Blogging RSS (really simple syndication) feeds let users subscribe blogs and news sites Permalinks are URLs pointing to the same information permanently Comments and trackbacks promote discussion Support “The Long Tail” Keep reduced costs Customer can buy products that is not sell in ordinary stores Examples: Product exchange for few dollars Create and share movies Paid jobs for less than 10 cents (http://www.mturk.com) Principle #1 – Web as a platform
Wikipedia: the free encyclopedia where any user can add content Google: ratting pages Del.icio.us: tagging Amazon: reviews and recommendations Principle #2 – Harnessing Collective Intelligence
Service value is data-oriented Example: del.icio.us - http://del.icio.us/help/api Example: Amazon Gets the ordinary information from the same source as the others (ISBN) Adds images, TOCs and examples Editorial reviews Mash-up The Right to Re-mix, Some Rights reserved Combining data from multiple sources to provide additional value Principle #3 - Data is the “Intel Inside”
Operations must become a core competency Users must be treated as co-developers No need to wait to have a full product to release it Balance number of features for a beta and stability to satisfy the users Use the “Blogosphere” to divulge Example: Gmail “Test Driven Development” first write the test script, then write some code iterate until the test passes Ends with a huge “Test Suit” Principle #4 - End of the software release cycle
Keep it simple / Fix the simple issues Make some users happy :D Web Services lightweight approach: Representational State Transfer (REST), simpler than SOAP. Don’t use HTTP as transport layer for a webservice, but be the webservice. With REST, each resource/object has its own URL “RSS has become the most widely deployed single web service because of its simplicity” Principle #5 - Lightweight programming models
Even “Desktop” applications can enjoy the power of the web iPod / iTunes PC can be used as cache and music manager iTunes Store allows users to buy music for $0.99 BitTorrent Each client is also a server Anyone can download Google Earth Web content for portable devices Cell phones PDA Principle #6 - Software above a single device
AJAX = Asynchronous JavaScript And XML AJAX is not new, it is a combination of existing technologies: XMLHttpRequest, JavaScript, CSS, XML Asynchronous, allows the page requests to refresh only pieces instead of the hole page Response in HTML, JavaScript or XML Change or add page elements (div, table, or any other tag) Reduce the data traffic Non-blocking events; other events will continue to work while change is occurring You have to think about using AJAX during the solution planning Principle #7- Rich user experiences
An ordinary example: Hello World using prototype: <script src="/javascripts/prototype.js" type="text/javascript"></script> <a href="#" onclick="new Ajax.Updater(‘hello_results', '/search/hello', {asynchronous:true, evalScripts:true}); return false;">HelloWorld</a> <div id=“hello_results“></div> Usability Create friendly sites with AJAX There is no need to use AJAX for each event Principle #7- Rich user experiences
Some IBM initiatives • w4 – http://w4.ibm.com • Fringe - http://w4.ibm.com/bluepages • SmallBlue - https://smallblue.watson.ibm.com/SmallBlue/ • w3ki - https://w3.webahead.ibm.com/w3ki/ • dogear - https://dogear.webahead.ibm.com • Blue card - http://w3.webahead.ibm.com/prototype/bluecard.htm
Web sites created and/or enriched by a community – the users add the value through their input: comments, recommendations, tags Web user interfaces that act more like applications (using technology such as AJAX) Web sites that “feed” other websites (using technology such as RSS and Atom) Summary
Questions (?) Thank you!