• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Jax Ajax  Architecture

Jax Ajax Architecture






Total Views
Views on SlideShare
Embed Views



4 Embeds 268

http://blog.dynatrace.com 238
http://apmblog.compuware.com 28
http://translate.googleusercontent.com 1
http://www.scoop.it 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • More complex with ECMAScript5: canvas – pixel drawing and animation fast – more speed, more applications web workers – background threads
  • OpenJPA and eclipseLink update, what‘s required Hibernate updates everything In case of constraints, triggers and indices this can get quite heavy.

Jax Ajax  Architecture Jax Ajax Architecture Presentation Transcript

  • AJAX Architectural Considerations Alois Reitbauer | dyna Trace Software
  • Things are changing …
  • AJAX – What it is about
  • The „New“ Web The „Classical“ Web
  • Paradigm Shift in Web Apps past now Browser Server
  • The new runtimes …
    • usage higher in corporate environments
    Internet Explorer May 2009, www.hitslink.com 60%
  • … some things don‘t
  • HTTP – The Protocol of the Web
    • Request/Response Protocol
    • Synchronous Protocol
    • Optimized for Ressource Distribution
    Browser Server GET /index.html HTTP/1.1 Host: www.example.net HTTP/1.1 200 OK Content-Type: text/html … .
  • The Browser
  • The Anatomy of the Browser JavaScript Engine DOM Renderer Daten XHR Connection Pool .html . .png .js .css .css
  • What to care about Browser Server JavaScript Performance HTML Rendering AJAX/HTTP calls Latency Datavolume Content construction Network Caching Server
  • Connection Handling
  • Understanding Browser Connections
    • Connections are limited by domain
      • Guaranteed 2 connections
      • Most browsers use 4
    • Domain sharding can help here
      • More Domains for more connections
      • Seperate domains by content type
      • But not more that 4
  • <script src=‘content.mydomain.com/query.js?q=ajax‘ />
  • Caching No man pays double or twice for the same thing, forasmuch as nothing can be spent but once.   William Petty 
  • Caching on the Web Clients Server Cache per Client Server providing Caching Information Proxy Cache for Many Clients Serverside Data Cache
  • State Handling in Web Applications
    • Request State
      • State from one request to the next
    • Conversational State
      • State across several requests
      • Needed for a unit of work
    • Session State
      • State valid and REQUIRED for the whole user session
  • State and Where to Put It
    • HTTP Session
      • Consumes server memory
      • Beware of replication (if possible)
    • Cookie
      • Put small content here
      • Can be encrypted
    • The Browser
      • Specifically in AJAX applications
      • Think Rich Client
  • Understanding HTTP Headers
    • Date
      • Defines last modification of a resource
    • Expires
      • Defines how long this resource is valid
    • E-Tag
      • Uniquely identifies a resource
    • Cache-Control
      • Defines caching strategy
  • Rendering
  • Rendering
    • Rendering has a major performance impact on performance
    • Browser work differently
    • Layouting in browser is based on frames
    • Understand rendering
      • Browsers think in frames
      • Layouting (Reflow) performed asynchronously
  • Asynchronous Rendering
  • … be ware of property access
    • Minimize HTTP Requests
    • GZIP Content
    • Minifiy CSS and JavaScript
            • CSS up
    • JavaScript down
    • Avoid Redirects
    • Etags, Content Expiration
    • Make AJAX Cacheable
    • Split across domains
    • Avoid DNS lookups
  • Questions ?
  • alois.reitbauer@dynatrace.com Mail blog.dynatrace.com Blog AloisReitbauer Twitter http://ajax.dynatrace.com