WA1594 Web 2.0 for Developers Training and Courseware Course Outline

1. Introduction to Web 2.0

  • Web 2.0 Should I upgrade?
  • Three key elements
  • Instructor Demo
  • Instructor Demo
  • Web 2.0 Innovations - Collaboration
  • Web 2.0 Innovations Collaboration
  • Instructor Demo
  • Summary
 

2. Introduction to AJAX

  • Objectives
  • What is AJAX?
  • A Simple Example
  • The Old Way
  • The AJAX Way
  • Two Key Aspects of AJAX
  • What are the Advantages of the AJAX Approach?
  • AJAX Technologies
  • The Basic AJAX API
  • Creating the XMLHttpRequest Object
  • The XMLHttpRequest Object Basics
  • Complete Example
  • The Timeline
  • Review Questions
  • Review Answers
 

3. XHTML

  • What is XHTML?
  • The DTD and MIME Type
  • The Basic Syntax
  • Embedding XHTML in a XML Document
  • Differences With HTML 4
  • Embedding Scripts and Styles
  • The Standard Attributes
  • The <div> Element
  • The <span> Element
  • Review Questions
  • Review Answers
 

4. JavaScript DOM API

  • What is DOM?
  • Element Hierarchy
  • DOM Standardization
  • The document Object
  • Nodes and Elements
  • The Element Object
  • Element Event Handlers
  • The window Object
  • The Frame Object
  • The History Object
  • Review Questions
  • Review Answers
 

5. AJAX API Details

  • The Request Object
  • Creating the Request Object
  • The Request Object
  • Simple GET Example
  • Making a POST Request
  • Making Concurrent Requests
  • Memory Leak With Inner Function
  • A POST Utility Function
  • Mozilla XmlHttpRequest Extensions
  • IE Microsoft.XMLHTTP Extensions
  • Ajax Caching
  • Control Cache Duration
  • Advanced Cache Control
  • Review Questions
  • Review Answers
 

6. Advanced DOM

  • The Event Object
  • Event Bubbling
  • Creating and Initializing an Event
  • Dispatching an Event
  • Example
  • Handling Events
  • Registering Event Handler
  • Best Practice
  • Working With Styles
  • Example
  • The Style Object
  • Setting Style of an Element
  • Working With Style Sheets
  • DOM HTML API
  • Table DOM Objects
  • The HTMLTableElement Object
  • The HTMLTableRowElement Object
  • The HTMLTableCellElement Object
  • Example of Table DOM API
  • The Form Element Objects
  • The HTMLFormElement Object
  • The HTMLInputElement Object
  • The HTMLSelectElement Object
  • The HTMLOptionElement Element
  • Review Questions
  • Review Answers
 

7. Communication With Server - Basic

  • Introduction
  • Application Layer Protocol
  • Plain HTML Snippet
  • XML Document
  • XML Document Server Side
  • Example: Build DOM Document in Java
  • Example: Write DOM Document in HTTP Reply
  • Example: The Servlet
  • C#: Create a XML DOM Document
  • C#: Output XML in HTTP Reply
  • XML Document - Client Side
  • DOM API Summary
  • DOM API The Document Object
  • DOM API The Element Object
  • Body Text of an Element
  • Setting Body Text
  • Displaying Body Text
  • Using XML As Request Data
  • Creating a New DOM Document
  • Serializing DOM Document as Text
  • Posting an XML Document
  • Processing the Posted XML From a Servlet
  • Review Questions
  • Review Answers
 

8. Communication With Server - JSON

  • Introduction
  • JavaScript Object Notation (JSON)
  • JSON Syntax
  • How Does JSON Based Communication Work?
  • How JSON Based Communication Work?
  • JSON: Server Side
  • JSON: Client Side
  • Working With Arrays
  • Advanced JSONObject Methods
  • Advanced JSONArray Methods
  • Summary
  • Review Questions
  • Review Answers
 

9. Direct Web Remoting (DWR)

  • Introduction
  • How DWR Works
  • DWR: The Server Side
  • Configuring the Server Side
  • The dwr.xml File
  • DWR: The Client Side
  • Unit Testing
  • Accessing Servlet API Objects
  • Error Handling
  • Review Questions
  • Review Answers
 

10. The Dojo Toolkit

  • Objectives
  • Introduction
  • Simple Example Tab Widget
  • How Does DOJO Work?
  • Importing Packages
  • Widget Basics
  • Widget Layout Example
  • The Two byId() Methods
  • Widget Properties
  • Widget Events
  • Common Features of Widgets
  • Form Input Widgets
  • The Button Widget
  • The Checkbox Widget
  • The ComboBox Widget
  • The FilteringSelect Widget
  • The DateTextBox Widget
  • Layout Widgets
  • Other Common GUI Widgets
  • Creating Widget Instances Programmatically
  • Creating Widgets Programmatically
  • Summary
  • Review Questions
  • Review Answers
 

11. Dojo Event System

  • Objectives
  • Introduction
  • Difference from DOM Event Handling
  • JavaScript Function Call Event
  • Writing a JavaScript Class
  • Writing an Event Handler Class
  • Attaching the Event Handler
  • Handling Widget Event
  • More on Handler Attachment
  • The Dojo Event Object
  • Window Load/Unload Event
  • Publish Subscribe System
  • Writing a Publisher
  • Writing a Subscriber
  • Publishing the Message
  • Summary
  • Review Questions
  • Review Answers
 

12. Debugging Dojo Applications

  • Objectives
  • Logging in Dojo
  • Using Debug
  • Log Severities
  • Mozilla Debugging Tools
  • IE Debugging Tools
  • Other Tools
  • Summary
  • Review Questions
  • Review Answers
 

13. Web Syndication

  • Objectives
  • What is Web Syndication?
  • Syndication Example
  • Syndication Client
  • Web Syndication Benefits
  • Syndication Examples
  • Feed Formatting
  • RSS
  • RSS Example
  • Atom
  • Atom Example
  • Feed Serving and Reading Feeds
  • RDF
  • RDF Example
  • RDF Uses
 

14. Introduction to Web Services

  • Objectives
  • A Conceptual Look at Services
  • Defining Services
  • Service Communication Analogy
  • Three Key Service Questions
  • Connecting the Dots
  • SOA Runtime Implementation
  • What is a Web Service?
  • Enterprise Assets as Services
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Service Business Models
  • Example: Internal System Integration
  • Example: Business Process Externalization
  • Binding via SOAP
  • SOAP in Protocol Stack
  • SOAP Structure
  • SOAP Message Architecture
  • Applying SOAP
  • Interface via WSDL
  • WSDL Structure
  • Applying WSDL
  • Locating a Service
  • UDDI Overview
  • UDDI Terminology
  • UDDI Structure
  • Applying UDDI
  • WS-I Overview
  • WS-I Deliverables
  • Summary
 

15. Rich Internet Applications

  • Objectives
  • Introduction
  • Key Characteristics
  • Instructor Demo
  • RIA Platforms
  • RIA Architecture
  • RIA Architecture Details
  • RIA Benefits
  • RIA Drawbacks
  • RIA Drawbacks (cont d)
  • RIA Best Practices
  • Summary
 

16. Mashups

  • Objectives
  • Introduction
  • Example ChicagoCrime.org
  • Mashup Genres
  • Key Components
  • Key Component Details
  • Retrieving Data
  • Data Assembly Details
  • Data Format Options
  • Data Format Options (cont d)
  • Instructor Demo
  • Enterprise 2.0 Mashups
  • Summary
 

17. Push Technology

  • Objectives
  • Push Technology
  • Traditional vs. Push Technology
  • Problems With Traditional Pull
  • Example Use Of Push
  • The Comet Pattern
  • Comet Details
  • Comet Implementations
  • Scalability/Reliability Issues
  • Juggernaut for Ruby
  • Juggernaut for Ruby
 

18. Offline Applications

  • Objectives
  • Rich Internet Applications
  • Server Dependency
  • Offline Applications
  • Google Gears
  • Google Gears Architecture
  • Dojo Offline
  • Adobe AIR
 

19. Collaboration in Web 2.0

  • Objectives
  • Introducing Collaboration
  • Collaboration Benefits
  • Information Availability
  • Early Internet Collaboration
  • Modern Internet Collaboration
  • Internet Collaboration Limitations
  • Web 2.0 Collaboration
  • Web 2.0 Collab Principles
  • Blog
  • More Blog
  • Example Blog
  • Creating a Blog
  • Blog Setup Step One
  • Setting Up An Enterprise Blog
  • Blog Setup Step Two
  • Blog Setup Step Three
  • Posting Blog Entries
  • Instructor Demo
  • Wikis
  • Wiki Vandalism
  • Wiki Trustworthiness
  • Writing Wiki Content
  • The SLATES Components of Collaboration
  • Search
  • Links
  • Authoring
  • Tags
  • Instructor Demo
  • Extensions
  • Signals
  • Successful Knowledge Management Projects
  • Summary