Andrew Nguyen - Brian Payton - Chunyang Xia

Similar documents
Web 2.0, AJAX and RIAs

Developing Ajax Web Apps with GWT. Session I

Web 2.0 Käyttöliittymätekniikat

History and Backgound: Internet & Web 2.0

IBM JZOS Meets Web 2.0

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Etanova Enterprise Solutions

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Helper Applications & Plug-Ins

Database Driven Web 2.0 for the Enterprise

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2.

Qiufeng Zhu Advanced User Interface Spring 2017

AJAX: Rich Internet Applications

dotnettips.com 2009 David McCarter 1

Publishing Technology 101 A Journal Publishing Primer. Mike Hepp Director, Technology Strategy Dartmouth Journal Services

Designing for diverse devices. Dr. Andres Baravalle

Discussion #4 CSS VS XSLT. Multiple stylesheet types with cascading priorities. One stylesheet type

,

MyMobileWeb project's position

IGME-330. Rich Media Web Application Development I Week 1

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine.

WebCenter Interaction 10gR3 Overview

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Semantic Integration Platform for Web Widgets Communication

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

ibreathesports Inc. Apurva Alok Bernardo Silva

Web Standards Mastering HTML5, CSS3, and XML

WHAT IS WEBKIT? COPYRIGHTED MATERIAL SMASHING WEBKIT CHAPTER 1

Index LICENSED PRODUCT NOT FOR RESALE

Rob Weir, IBM 1 ODF and Web Mashups

Web 2.0, Social Programming, and Mashups (What is in for me!) Social Community, Collaboration, Sharing

UNIT-II : VIRTUALIZATION & COMMON STANDARDS IN CLOUD COMPUTING

Portail : WebSphere Portlet Factory RIA et Web 2.0 autour de WebSphere Portal

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

Fundamentals of Website Development

Basics of Web Technologies

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

AD406: What s New in Digital Experience Development with IBM Web Experience Factory

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

AJAX Programming Chris Seddon

Enabling Web 2.0 User Experience for E-Business Suite. Padmaprabodh Ambale, Gustavo Jimenez Development Managers, Applications Technology Group

[PACKT] HTML5, CSS3, and jquery. Dreamweaver CS5.5 Mobile. and Web Development with

RIA Technology Evaluation

Credits: Some of the slides are based on material adapted from

All About Open & Sharing

Web 2.0 Tutorial. Jacek Kopecký STI Innsbruck

Beginning Html5 And Css3 Next Generation Web Standards Ebook

P a g e 1. Danish Tecnological Institute. Developer Collection Online Course k Developer Collection

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

What is REST? ; Erik Wilde ; UC Berkeley School of Information

Site Architecture: Gov 2.0 Implementation

Layered UI and Adaptation Policies for Ubiquitous Web Applications

16. HTML5, HTML Graphics, & HTML Media 웹프로그래밍 2016 년 1 학기 충남대학교컴퓨터공학과

de la session Portal 6.1 Administration

MODULE 2 HTML 5 FUNDAMENTALS. HyperText. > Douglas Engelbart ( )

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs

Lesson 5: Multimedia on the Web

Developing Web Applications for Smartphones with IBM WebSphere Portlet Factory 7.0

WME MathEdit. An initial report on the WME tool for creating & editing mathematics. by K. Cem Karadeniz


HTML5 MOCK TEST HTML5 MOCK TEST I

Bridging the gap between Web 2.0 Technologies and Social Computing Principles

Using Adobe Flex in JSR-286 Portlets

JavaScript Doesn't Have to Hurt: Techniques, Tools and Frameworks to Ease JavaScript Development

ID412. Why Mashups Matter. Nicole Carrier Product Manager Lotus Remix Mikael Örn Development Manager Lotus Remix

Static Webpage Development

Application Integration with WebSphere Portal V7

Web 2.0. Agenda. What you will need to have handy for this class. Social Software Applications for Libraries. Day 1. Day 2

Flex 3 Pre-release Tour

Enterprise Search. Technical Specifications. Version: 11.0.x

Applikationen im Browser Webservices ohne Grenzen


CTI Short Learning Programme in Internet Development Specialist

Lecture : 3. Practical : 2. Course Credit. Tutorial : 0. Total : 5. Course Learning Outcomes

ipokr System: Leveraging JAX-RPC Assignment: Life Long Learning Research Paper Class: CS&E 762 Date: May 4, 2006

Unifying the Flash and HTML5 Video Experience

CTI Higher Certificate in Information Systems (Internet Development)

Abstract. 1. Introduction. 2. AJAX overview

Read & Download (PDF Kindle) PHP Ajax Cookbook

OU Mashup V2. Display Page

AJAX Programming Overview. Introduction. Overview

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

The Rich Web. Arnaud Dumont RAL Retreat * Nov 7-9, 2007

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

2nd Year PhD Student, CMU. Research: mashups and end-user programming (EUP) Creator of Marmite

<Insert Picture Here> Oracle Policy Automation System Requirements

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Sections and Articles

HTML 5: Fact and Fiction Nathaniel T. Schutta

Index. C CakePHP framework, 232 Cascading Style Sheets (CSS)

HTML 5 and CSS 3, Illustrated Complete. Unit M: Integrating Social Media Tools

Fundamentals of Web Development. Web Development. Fundamentals of. Global edition. Global edition. Randy Connolly Ricardo Hoar

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

Oracle WebCenter Suite Provides Web 2.0 Services for Enterprise Developers. An Oracle White Paper October 2006

Next... Next... Handling the past What s next - standards and browsers What s next - applications and technology

HTML5 - INTERVIEW QUESTIONS

HTML5 and CSS3: New Markup & Styles for the Emerging Web. Jason Clark Head of Digital Access & Web Services Montana State University Library

8. Markup Languages. Characteristics of Computer-Use Markup Languages. Markup. Markup language- History

Transcription:

Andrew Nguyen - Brian Payton - Chunyang Xia CMPE 272 Enterprise Software Overview - Web 2.0 1

Agenda Overview History of the web What is web 2.0 Key ideas/characteristics Key web 2.0 services/landscape Web 2.0 Technologies Future of the web What IBM is doing CMPE 272 Enterprise Software Overview - Web 2.0 2

History Source: Hodgson, Matthew. Beyond Web 2.0 http://www.theappgap.com/beyond-web-20.html CMPE 272 Enterprise Software Overview - Web 2.0 3

What is Web 2.0? NOT a new web technical specifications Coined by Darcy DiNucci in 1999 The first O Reilly Media Web 2.0 conference in 2004 A perceived second generation of the web Source: Wikipedia. Web 2.0. http://en.wikipedia.org/wiki/web_2.0 CMPE 272 Enterprise Software Overview - Web 2.0 4

Themes Folksonomies Ajax User centered OpenAPIs Participation RSS Collective Intelligence Rich User Experience Web 2.0 SOAP Network Effect User content The Long tail Blogs Wikis CSS REST Mashup Social Software HTML5 Self-service Source: Wikipedia. Web 2.0. http://en.wikipedia.org/wiki/web_2.0 CMPE 272 Enterprise Software Overview - Web 2.0 5

Key Characteristics User-centered design igoogle, Yahoo, ibm w3 User generated content YouTube, Flickr Architecture of Participation Wikis, social networks Rich user Experience Google Maps End of Software Release cycle Wisdom of the crowd/collective intelligence Network effect, the Long tail Source: Anderson, Paul (2007). "What is Web 2.0? Ideas, technologies and implications for education". JISC Technology and Standards Watch. CMPE 272 Enterprise Software Overview - Web 2.0 6

Source: Geek and Poke. http://geekandpoke.typepad.com/geekandpoke/ CMPE 272 Enterprise Software Overview - Web 2.0 7

Source: http://www.2leep.info/web_2.html CMPE 272 Enterprise Software Overview - Web 2.0 8

Web 2.0 services Data Mashup Podcast RSS and Syndication Wikis and Blogging Multimedia Sharing Social Networks Social Gaming Social Bookmarking CMPE 272 Enterprise Software Overview - Web 2.0 9

The changing web Source: http://oreilly.com/web2/archive/what-is-web-20.html CMPE 272 Enterprise Software Overview - Web 2.0 10

Source: Geek and Poke. http://geekandpoke.typepad.com/geekandpoke/ CMPE 272 Enterprise Software Overview - Web 2.0 11

Source: http://www.flickr.com/photos/vincos/1392311603/ CMPE 272 Enterprise Software Overview - Web 2.0 12

Web 2.0 Technologies Client-side (Browser) technologies Ajax Flash / Flex HTML5 CSS3 Data transmission technologies XML and JSON REST and SOAP Server-side technologies Java, PHP, Perl, Python, JSP, Ajax Frameworks and Toolkits Dojo, jquery, Google Web Toolkit... CMPE 272 Enterprise Software Overview - Web 2.0 13

Ajax Ajax = Asynchronous JavaScript and XML Term coined by Jesse Garret (Adaptive Path), 2005 Not a single product or technology, but a combination of technologies and techniques: HTML and CSS DOM XML (and XSLT) or JSON XMLHttpRequest JavaScript Source: "Ajax: A New Approach to Web Applications", Jesse James Garrett, 02/18/2005 CMPE 272 Enterprise Software Overview - Web 2.0 14

Why Ajax? The Web 1.0 problem: page refresh performance Each user interaction and page change required that the entire page get transmitted from the server to the browser Ajax addresses this through some clever tricks... Source: "Ajax: A New Approach to Web Applications", Jesse James Garrett, 2005 CMPE 272 Enterprise Software Overview - Web 2.0 15

Ajax Technologies HTML and CSS Describes information to display, with its styling DOM (Document Object Model) Provides programmatic (in memory) representation of the displayed information Allows parts of the displayed information to be updated while leaving other parts alone XML (with XSLT) or JSON Encodes data transmitted between server and client Source: "Ajax: A New Approach to Web Applications", Jesse James Garrett, 2005 CMPE 272 Enterprise Software Overview - Web 2.0 16

Ajax Technologies (cont.) XMLHttpRequest API for asynchronous communication between client and server Originally from Microsoft, adopted by Mozilla and others, now W3C candidate recommendation Built into all modern browsers (JavaScript object) In older Microsoft browsers as ActiveX object Methods: open setrequestheader send getresponseheader Source: Dynamic HTML and XML: The XMLHttpRequestObject, Apple Developer, 2005 CMPE 272 Enterprise Software Overview - Web 2.0 17

Ajax Technologies (cont.) JavaScript (AKA ECMAScript) Created in 1995 by Brendan Eich (Netscape) Despite its name, has little to do with Java Now universally available in browsers as a scripting language Is actually a general-purpose language, also used outside the browser Dynamically typed, object-oriented, functional features (closures, lambda-expressions) Has C / Java-like syntax, but closer in spirit to Lisp, Scheme, Self In Ajax, JavaScript ties everything together Source: A re-introduction to JavaScript, Simon Willison, 2006 CMPE 272 Enterprise Software Overview - Web 2.0 18

How Ajax works Before first page is loaded, the browser loads an Ajax engine (a JavaScript program) Placed in hidden page frame Handles both user interaction and server comm. Ajax engines are not easy to write and debug! Source: "Ajax: A New Approach to Web Applications", Jesse James Garrett, 2005 CMPE 272 Enterprise Software Overview - Web 2.0 19

Source: Geek and Poke. http://geekandpoke.typepad.com/geekandpoke/ CMPE 272 Enterprise Software Overview - Web 2.0 20

Flash and Flex Flash Most widely-used Web animation technology Introduced 1996 by Macromedia (now Adobe) Requires browser plug-in Supports animation, audio, video Includes ActionScript (JavaScript dialect) Stable, well supported by dev tools (ie, Adobe CS4) Shows up on websites everywhere Partly open, partly closed Not supported on iphone, ipad (ios) CMPE 272 Enterprise Software Overview - Web 2.0 21

Flash and Flex (cont.) Flex Free, open-source framework for building rich internet applications (RIAs) Complete web applications, not just animations Runs in Adobe Flash Player (in browsers) and Adobe AIR application (mobile and desktop) Developed and controlled by Adobe Includes MXML language for UI layout specs Includes ActionScript for logic Has Eclipse-based IDE Source: Flex Overview, Adobe Systems Incorporated, 2011. CMPE 272 Enterprise Software Overview - Web 2.0 22

HTML5 Successor to HTML4 (1998) Effort started by Mozilla and Opera in 2004 Compatible with both HTML4 and XHTML 1.1 Incorporates previously separate standards DOM, JavaScript, MathML, SVG... Includes many new features canvas, audio, video... Currently a W3C Draft Recommendation Not considered final until two complete independent implementations exist However many features are already available in popular browsers (Firefox, Chrome, Opera) Internet Explorer support coming in IE 9 Source: HTML5, WC3, 2011 CMPE 272 Enterprise Software Overview - Web 2.0 23

HTML5 Markup and DOM <!DOCTYPE html> <html> <head> <title>sample page</title> </head> <body> <h1>sample page</h1> <p>this is a <a href="demo.html">simple </a> sample.</p> <!-- this is a comment --> </body> </html> Source: HTML5, WC3, 2011 CMPE 272 Enterprise Software Overview - Web 2.0 24

HTML5 New Features Document structure nav, section, article, aside, hgroup, header, footer Graphics canvas Multimedia content audio, video Misc. command, meter, progress, details, datalist... Source: HTML5 differences from HTML4, WC3, 2011 CMPE 272 Enterprise Software Overview - Web 2.0 25

CSS3 CSS = Cascading Style Sheets Separates content from visual presentation (font, color, alignment...) Cascading because a style sheet can inherit from others CSS started 1994, CSS3 started 1998 Standard defined by W3C, not finalized CSS3 new features Rounded corners, background decorations, colors, text effects Example: Source: What's New in CSS3, Malin De Silva, 2010. CSS3 Previews, CSS3.info, 2009 CMPE 272 Enterprise Software Overview - Web 2.0 26

JSON JSON = JavaScript Object Notation Designed as light-weight alternative to XML First proposed by Douglas Crockford in 2002 Derived from JavaScript's object representation Easy to parse and implement Now supported by every popular programming language Since derived from a programming language, has low impedance with other languages Source: JSON: The Fat-Free Alternative to XML, Douglas Crockford, 2006 CMPE 272 Enterprise Software Overview - Web 2.0 27

JSON and XML JSON {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }} XML <menu id="file" value="file"> <popup> <menuitem value="new" onclick="createnewdoc()" /> <menuitem value="open" onclick="opendoc()" /> <menuitem value="close" onclick="closedoc()" /> </popup> </menu> Source: JSON Example, json.org CMPE 272 Enterprise Software Overview - Web 2.0 28

Ajax Frameworks and Toolkits Dojo Free, open source Active community and well documented IBM's web toolkit of choice jquery Small, light-weight JavaScript library Google Web Toolkit (GWT) Java APIs and widgets Yahoo User Interface Library (YUI) CSS and JavaScript And more Prototype, Moo Tools, Mochikit... Source: AJAX Toolkits Reviewed,Web Development Tools and Articles, 2010 CMPE 272 Enterprise Software Overview - Web 2.0 29

Mashup A mashup is a website or web application that seamlessly combines content from more than one source into an integrated experience. Think of a mashup not only as a specific application, but also as a logical container that can retrieve information from virtually any where on the internet. Source: http://en.wikipedia.org/wiki/mashup_(web_application_hybrid) O. Campesato, K. Nilson, 2011, Web2.0 Fundamentals: With Ajax, Development Tools, and Mobile Platforms CMPE 272 Enterprise Software Overview - Web 2.0 30

Characteristics of Mashups Combination Use multiple data sources Join across dimensions Subject + Time/Place + Visualization Aggregation Group your data and take a measure Sum, Ave, Min, Max Create information from the data Which becomes new data itself Use algorithms as a substitute for creativity Classification, prediction, clustering, NLP Uncover hidden aspects of your data Source: http://en.wikipedia.org/wiki/mashup_(web_application_hybrid) http://www.slideshare.net/jhherren/mashup-university-4-intro-to-mashups CMPE 272 Enterprise Software Overview - Web 2.0 31

Source: http://wheelof.com/lunch/ CMPE 272 Enterprise Software Overview - Web 2.0 32

Source: http://www.zillow.com CMPE 272 Enterprise Software Overview - Web 2.0 33

Mashups versus Portals Portal Mashup Classification Older technology, extension to traditional Web server model using well-defined approach Using newer, loosely defined "Web 2.0" techniques Philosophy Approach Approaches aggregation by splitting role of Web server into two phases: markup generation and aggregation of markup fragments Uses APIs provided by different content sites to aggregate and reuse the content in another way Content dependencies Aggregates presentation-oriented markup fragments (HTML, WML, VoiceXML, etc.) Can operate on pure XML content and also on presentation-oriented content (e.g., HTML) Location dependencies Traditionally, content aggregation takes place on the server Content aggregation can take place either on the server or on the client Aggregation style "Salad bar" style: Aggregated content is presented 'side-by-side' without overlaps "Melting Pot" style - Individual content may be combined in any manner, resulting in arbitrarily structured hybrid content Event model Read and update event models are defined through a specific portlet API CRUD operations are based on REST architectural principles, but no formal API exists Relevant standards Portlet behavior is governed by standards JSR 168, JSR 286 and WSRP, although portal page layout and portal functionality are undefined and vendor-specific Base standards are XML interchanged as REST or Web Services. RSS and Atom are commonly used. More specific mashup standards such as EMML are emerging. Source: http://en.wikipedia.org/wiki/mashup_(web_application_hybrid) CMPE 272 Enterprise Software Overview - Web 2.0 34

Types of Mashup Consumer Mashup Wheelsoflunch.com Trendsmap.com Enterprise Mashup Business Environment SOA features IBM Lotus Connections IBM Mashup Center IBM WebSphere smash Source: http://en.wikipedia.org/wiki/mashup_(web_application_hybrid) CMPE 272 Enterprise Software Overview - Web 2.0 35

CMPE 272 Enterprise Software Overview - Web 2.0 36

Benefits of Mashup Reuse and Recursion Visualization Increase innovation (1 + 1 = 4) Business logic less IT Increase standardization Increase productivity Perfect for prototyping Easy to learn... Source: http://www.slideshare.net/jhherren/mashup-university-4-intro-to-mashups CMPE 272 Enterprise Software Overview - Web 2.0 37

Syndication Feeds (RSS and Atom) A fundamental enabling technology for mashup Used to transfer frequent updated digital contents to users Typically packaged in XML There is an entire ecology of web feeds syndicate, or publish, content by producing a feed to distribute it. subscribe to a feed by reading it and using it. aggregate feeds by combining feeds from multiple sources Source: http://en.wikipedia.org/wiki/rss. R. Yee, 2008, Pro Web 2.0 Mashups: Remixing Data and Web Services CMPE 272 Enterprise Software Overview - Web 2.0 38

WEB APIs Facebook API Google Maps API and other Google APIs Ebay API Amazon API Flickr API Twitter API http://www.programmableweb.com/apis CMPE 272 Enterprise Software Overview - Web 2.0 39

Source: http://blog.programmableweb.com/2011/01/03/api-growth-doubles-in-2010-social-and-mobile-are-trends/ CMPE 272 Enterprise Software Overview - Web 2.0 40

Widgets Google Gadgets Yahoo! Widgets IBM Mashup Center CMPE 272 Enterprise Software Overview - Web 2.0 41

Build on web oriented architecture and protocol REST (Representational State Transfer) SOAP (Simple Object Access Protocol) XML-RPC (Remote Procedure Call) HTTP Ajax, RSS, XML, JSON CMPE 272 Enterprise Software Overview - Web 2.0 42

Mashup Platforms No server needed (hosting is provided) Graphic building tools Less coding Yahoo! Pipes Google App Engine and Google Web Toolkit Dapper Aol Boxely JackBe Presto IBM Mashup Center Microsoft SharePoint Source: http://www.slideshare.net/jhherren/mashup-university-4-intro-to-mashups CMPE 272 Enterprise Software Overview - Web 2.0 43

Search Technology Real Time Search Semantic Web Natural Language Search Search Customization Search Tools Google Custom Search Engine (CSE beta) Google Site Search (GSS) Yahoo BOSS (v2) CMPE 272 Enterprise Software Overview - Web 2.0 44

IBM and Web 2.0 IBM Mashup Center IBM Customer Experience Suite IBM Lotus Connections IBM Lotus Live IBM Connections IBM Lotus Quickr WebSphere Portal WebSphere Application Server Feature Pack for Web 2.0 and Mobile CMPE 272 Enterprise Software Overview - Web 2.0 45

Current, Future... Web 3.0... Web 4.0... Web2.0 More Enterprise Mashup The Future??? Embodiment Massive Data, WW Database Linking everything Intelligent, Smarter web CMPE 272 Enterprise Software Overview - Web 2.0 46

References O Reilly, Tim. What is Web 2.0? http://oreilly.com/web2/archive/what-is-web-20.html Wikipedia. Web 2.0. http://en.wikipedia.org/wiki/web_2.0 Core Characteristics of Web 2.0 Services. http://www.techpluto.com/web-20-services/ Anderson, Paul (2007). "What is Web 2.0? Ideas, technologies and implications for education". JISC Technology and Standards Watch. Geek and Poke. http://geekandpoke.typepad.com/geekandpoke/ Hodgson, Matthew. Beyond Web 2.0 http://www.theappgap.com/beyond-web-20.html Wikipedia RSS, http://en.wikipedia.org/wiki/rss Wikipedia Mashup (web application hybrid), http://en.wikipedia.org/wiki/mashup_(web_application_hybrid) Oswald Campesato and Kevin Nilson, 2011, Web2.0 Fundamentals: With AJAX, Development Tools, and Mobile Platforms Raymond Yee, 2008, Pro Web 2.0 Mashups: Remixing Data and Web Services. John Herren, Mashup University 4: Intro To Mashups Slide, http://www.slideshare.net/jhherren/mashup-university-4-intro-to-mashups CMPE 272 Enterprise Software Overview - Web 2.0 47

References (Technologies 1) Crockford, Douglas. "JavaScript: The World's Most Misunderstood Programming Language". 2001. http://javascript.crockford.com/javascript.html. Accessed July 19, 2011. Crockford, Douglas. "JSON: The Fat-Free Alternative to XML". json.org (website). December 6, 2006. http://www.json.org/fatfree.html. Accessed July 20, 2011. De Silva, Malin. "What's New in CSS3?". Notes of Genius (website). June 8, 2020. http://notesofgenius.com/new-css3/. Accessed July 20, 2011. Etemad, Elika J. (ed.) "Cascading Style Sheets (CSS) Snapshot 2010: W3C Working Group Note 12 May 2011". W3C. http://www.w3.org/tr/css/. Accessed July 20, 2011. Gay, Jonathan. "The History of Flash". Adobe Systems Incorporated. http://www.adobe.com/macromedia/events/john_gay/index.html. 2011. Accessed July 19, 2011. Garrett, Jesse James. "Ajax: A New Approach to Web Applications", Adaptive Path (website). February 18, 2005. http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications. Accessed July 18, 2011. Hickson, Ian (ed.), "HTML5". W3C. http://dev.w3.org/html5/spec/overview.html. Accessed July 20, 2011. Hinchcliffe, Dion. "Web 2.0 definition updated and Enterprise 2.0 emerges", Enterprise Web 2.0 (ZDNet Blog). November 5, 2006. http://www.zdnet.com/blog/hinchcliffe/web-20-definition-updatedand-enterprise-20-emerges/71. Accessed July 17, 2011. van Kestern, Anne and Pieters, Simon. (eds.) "HTML5 differences from HTML4". W3C. 2011. http://www.w3.org/tr/html5-diff/. Accessed July 19, 2011. CMPE 272 Enterprise Software Overview - Web 2.0 48

References (Technologies 2) Willison, Simon. "A re-introduction to JavaScript", Mozilla Developer Network (website). March 7, 2006. https://developer.mozilla.org/en/javascript/a_re-introduction_to_javascript. Accessed July 19, 2011. (Unnamed author). "About JavaScript", Mozilla Developer Network (website). October 22, 2010. https://developer.mozilla.org/en/javascript/about_javascript. Accesed July 19, 2011. (Unnamed author). "AJAX Toolkits Reviewed". Web Development Tools and Articles (website). July 24, 2010. http://www.xibl.com/web-development/ajax-toolkits-reviewed/. Accessed July 20, 2011. (Unnamed author). "CSS3 Previews". CSS3.info. http://www.css3.info/preview/. 2009. Accessed July 20, 2011. (Unnamed author). "Dynamic HTML and XML: The XMLHttpRequestObject", Apple Developer (website). June 6, 2005. http://developer.apple.com/internet/webcontent/xmlhttpreq.html. Accessed July 18, 2011. (Unnamed author). "Flex Overview". Adobe Systems Incorporated. 2011. http://www.adobe.com/products/flex/overview/. Accessed July 19, 2011. (Unnamed author). "JSON Example". json.org (website). Undated. http://json.org/example.html. Accessed July 20, 2011. CMPE 272 Enterprise Software Overview - Web 2.0 49