Architecture

Designing Ajax applications means that the highly flexible and responsive front ends have to be carefully coordinated with all of the other application components, almost always running on different systems and often in different locations. The potential for poor performance and lack of scalability is significant. This track focuses on how to design and implement distributed applications with rich Web front ends, especially in a services-oriented architecture.

Architecture Sessions:

More Related Sessions:


 

Adaptive Static Resource Optimization in the Ajax World

Changhao Jiang and Xiaoliang "David" Wei, Research Scientists, Facebook

Minimizing HTTP requests is Rule #1 in web performance. It has been a best practice to optimize static resources to reduce HTTP requests: packaging external Javascript / CSS files and spriting static images. These techniques have been widely applied on traditional web pages, with a single feature on each page.

With Ajax technologies, a web page can easily load additional features according to user requests, without reloading the whole page. This enables a new trend where a single web page integrates multiple user-customized features, yet this trend poses a challenge to performance optimization. Traditionally, web developers could easily predict and package a set of static resources that would be used in a page. But with web pages integrating multiple customized features, the usage of static resources depends on both the feature developments and the user adoption of the features. There is no way to safely predict a certain usage pattern before a page is deployed and/or a feature is released.

Facebook is a prime example of feature integration. In this session, leading Facebook architects reveal how they have addressed the unpredictability of usage patterns by developing a static resource serving system that measures the real usage patterns and self-adapts to the change of the usage patterns. The system uses a cost-benefit model to analyze the measurement and identify the optimal packaging solution for external files and images and has significantly helped the optimization of static resources. Facebook is in the process of extending this system to take more factors, such as browser caching effects, into account for optimization.

Attend and learn how to:

  • Make code abstraction to facilitate static resource usage measurement;
  • Analyze the static resource usage measurement, and infer the optimal strategies for Javascript and CSS packaging, and image spriting;
  • Drastically improve the performance and user experience of your applications;
  • And more.

Bringing Data to Life in the Browser with the YUI Library

Jenny Han Donnelly, Senior Engineer, YUI

Learn how to make the most of your data! Whether it lives behind a firewall or in a third-party web service, is formatted as JSON, XML, or something else, learn how to retrieve data easily and flexibly, and display it to your users as rich, interactive browser interfaces.

The YUI Library's data management system provides a consistent, flexible, and format-agnostic API for accessing data. This session examines the nuts-and-bolts of managing your data throughout a transaction lifecycle, the best practices to building effective data-driven applications, and real-world code examples that demonstrate the power and flexibility of the data-driven widget.

This session focuses on how to:

  • Retrieve data from heterogeneous sources;
  • Perform client-side data transformations;
  • Fine-tune for performance;
  • Implement rich, interactive cross-browser interfaces that bring your data to life.

From Desktop to Web - Getting it Right

Jon Trelfa, Senior Technical Consultant, Adayana

The Media Flight Plan software is used by universities across the country to teach students methods of planning advertising campaigns. For several years, the book and software were distributed together, updates to the software were handled by shipping new CDs (no web updates), and piracy was hovering around a staggering 50%.  Moving the software onto the web helped solve most of these issues, but it took 2 iterations of the web application to “get it right." 

This case study is a real-life example of moving an app to web and focuses on several lessons learned along the way, including how to:

  • Effectively plan the move from the desktop to the web;
  • Optimize JavaScript performance for quicker response times;
  • Move your IP to the server without sacrificing performance;
  • Avoid excessive bandwidth usage.

View the Full Agenda
Register Now!