SlideShare a Scribd company logo
AJAX Patterns with ASP.NET
Nikhil Kothari
Software Architect
Microsoft Corporation
Look at Ajax scenarios beyond the basics
Run through a sequence of patterns and solutions
 Solve real-world problems
 Create better user experiences
Demonstrate how ASP.NET enables these scenarios
From Wikipedia…
Design pattern: General repeatable solution to commonly
occurring problem in software design.
Various categories of patterns
 Foundational patterns
   Separation of code and behavior, data access, searchability
 User experience patterns
   Notifications, intuitive navigation, …

Recommended for you

What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013

The document discusses various improvements and new features in Visual Studio including a more connected IDE that allows signing in with a Microsoft account and synchronizing settings across devices. The IDE performance has been improved in areas like solution load time, IDE startup, and responsiveness. New and updated features include improved icons, auto brace completion, enhanced scrollbars, peek functionality, and the ability to see return values in the debugger for .NET projects. Performance monitoring and debugging tools are more integrated and symbolic debugging has been enhanced.

Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App Cloud

Effective web apps use data from Salesforce to drive user engagement. In this real-world case study https://sif.illuminate.org, you'll learn patterns that leverage Salesforce data through Heroku Connect to deliver a modern consumer web app, key design considerations and the app development model to build these kinds of apps.

salesforce developerstailheadx
Santhosh_Resume
Santhosh_ResumeSanthosh_Resume
Santhosh_Resume

This document contains Santhosh K's resume summary which includes his contact information, objective, professional profile, technical skills, professional experience, education, projects, and references. It summarizes his 4.9 years of experience in Java/J2EE development including expertise in Hybris, Spring, Struts, and other technologies. It lists his roles and responsibilities in various projects involving e-commerce, online portals, and other applications.

Patterns at Play…
Script attachment to enable interactivity (eg. accordion)
Logical navigation to provide optimal back/forward
behavior and bookmarkability
Update indicators and gestures to provide feedback in
dynamic user interfaces
Smart data access to enable rich visualization and
indexability
Mashing up to enhance application content
- Separation of content and behavior
- Enhancing semantic markup with script
Attaching script functionality to static content
  Separation of content (HTML+CSS) and behavior (Script)
  Include scripts as referenced files and attach event handlers dynamically
Benefits
  Facilitate designer/developer workflow
  Independently work on content and functionality at the same time
  More likely to work in script-disabled environments
ASP.NET AJAX offering
  Client-side behaviors and controls are first class concept
  Class pattern for script to enable encapsulating data and logic
  ExtenderControl allows extending existing UI controls on server

Recommended for you

Edwin John.net
Edwin John.netEdwin John.net
Edwin John.net

This document contains a summary of Edwin John's professional experience including: - Over 7 years of experience developing software using technologies like .NET, C#, ASP.NET, SQL Server, and Agile methodologies. - Experience designing and developing web and desktop applications for a variety of clients across different industries. - Skills in technologies such as ASP.NET, C#, HTML, CSS, JavaScript, XML, SQL Server, Oracle, and visual design tools. - A history of managing software projects from conception to delivery while meeting tight deadlines.

Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar Kakade

This document summarizes a presentation on application lifecycle management with Visual Studio 2010. The presentation covers software development issues like bugs and poor code quality. It then discusses how Team Foundation Server and the VS2010 stack address these issues through features like requirements and task management, rich bug logging, IntelliTrace for bug fixing, source control, testing, and reporting. The presentation includes demos of these ALM capabilities in Visual Studio 2010.

Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners

This will give a you an Overview of Oracle Application Development Framework and its components. Recommended for beginners.

oracleoracle cloudoracle fusion middleware
- Controlling or “fixing” the back button
- Adding support for bookmarking
Implement logical views and associated back/forward navigation
    Define logical views
    Be selective about which views and user interaction end up in history
Benefits
    User model is preserved – back takes user to previous view
    Back through form entry can be prevented
    Different views of the page can be bookmarked
    AJAX actually enables a better navigation model
  ASP.NET AJAX offering
    History server control and client-side API
    API supports multiple parts of the page participating in history
- User gestures and feedback for dynamic UI
Use UI gestures to indicate changes and updates to pages as a result
of user actions
  Highlighting, scrolling, focus, progress, …
  Be subtle, use simple animations, don't be annoying
Benefits
  Ability to guide user
  Add additional pizzaz to your application
  AJAX can actually enable a better UI model for dynamic UI
ASP.NET AJAX offering
  UpdateAnimation control in Ajax Control Toolkit
  UpateIndicator prototype control

Recommended for you

Resume new it_format
Resume new it_formatResume new it_format
Resume new it_format

This document contains a summary of Rajiv Kumar's resume. It outlines his objective of working for an organization to use his skills and experiences to achieve organizational goals and career growth. It then provides details of his software proficiencies including languages like ASP.NET, C#, JavaScript and databases like SQL Server. It lists his experience of over 8 years working on various projects for different clients as a senior software developer and technical lead. It provides details of some key projects he has worked on along with the technologies used and his responsibilities.

RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)

This document contains the resume of Rahul Singh, who has 5 years of experience as a Senior .NET Software Developer. He has experience developing applications using technologies like C#, ASP.NET MVC, WCF, SQL Server, and more. His most recent role was as an Application Consultant at Daimler Southeast Asia, where he worked on projects like an infrastructure services system. He has also worked on automation scripting projects. The resume lists his education qualifications and provides details on some of his past projects.

Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform

Building Video Apps on Salesforce Platform Agenda: - Objectives - Video Platforms - WebRTC - Streams, Connections, and Sessions - Publishers / Subscribers - High Level Architecture - Stream Recording - Apex SDK DEMO - Use Cases and Next Steps - Resources - Q&A

salesforcevisualforcetokbox
Data access in Ajax applications without sacrificing
indexability
Accessing data in an Ajax application without sacrificing indexability
  Don't send empty pages
  Embed initial data in page as semantically correct markup
  Client-side script might completely alter the visualization to create a rich experience
  Include additional pages of data in sitemap
Benefits
  Use of semantic markup aids indexability
  Works well with script-disabled environments
  Saves initial Ajax request for data
ASP.NET Ajax offering
  Enables leveraging the server programming model
  Data controls infrastructure
- Enhancing content with external content
- Accessing services using JSONP and server
proxies
Lots of interesting scenarios for integrating services
  One is content enhancement
Typically mashups are written using server-side proxies
  Require cross-domain calls
  Enables use of configuration (eg. for API key), local caching, throttling calls
JSONP enables use of services directly from the client
  Service needs to support it
  Uses script tags to enable cross-domain calls
  Implied trust in service API and service provider
ASP.NET AJAX networking stack allows plugging in JSONP
  ScriptExecutor instead of default XMLHttpExecutor

Recommended for you

Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsAzure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: Bots

If cloud computing was transportation, it would be like taking an Uber instead of owning a car. You pay for only the computing resources you need, when you need them, without the upfront and ongoing costs of maintaining physical servers. The document then provides an agenda for a discussion on Microsoft Bot Framework and Azure Bot Services that includes topics like activities, messages, dialogs, language understanding with LUIS, messaging cards, and Office 365 connectors in Teams.

azureweb apiazure bot framework
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01

Download Complete Material - https://www.instamojo.com/prashanth_ns/ This Web Component Development with Servlet and JSP Technologies contains 16 Units and each unit contains 60 slides in it. Contents… • Introduction to Web Application Technologies • Developing a View Component • Developing a Controller Component • Developing Dynamic Forms • Sharing Application Resources Using the Servlet Context • Designing the Business Tier • Developing Web Applications Using Struts • Developing Web Applications Using Session Management • Using Filters in Web Applications • Integrating Web Applications With Databases • Developing JSP™ Pages • Developing JSP Pages Using Custom Tags • Developing Web Applications Using Struts Action Forms • Building Reusable Web Presentation Components

Srinivasaragavan Jayakumar
Srinivasaragavan JayakumarSrinivasaragavan Jayakumar
Srinivasaragavan Jayakumar

This document contains the resume of Srinivasaragavan Jayakumar. It summarizes his career objective in software engineering, over 9 years of experience as a developer including 3.5 years experience with Salesforce CRM. It lists his education qualifications and skills including Salesforce development using Apex, Visualforce, and administration. Several past projects involving clinical research, CRM, and project management are summarized along with the roles and technologies used.

There are many more interesting and relevant patterns
 Richer Plugin
 Diagnostics
 …
Patterns on the Web
 http://ajaxpatterns.org
 Yahoo! Design Patterns site:
 http://developer.yahoo.com/ypatterns
DEV08 – Go Deep with AJAX
DEV19 – High-Speed Development with the AJAX
Control Toolkit
BD007 – Search Capabilities for ASP.NET Web Content
DEV05 – Developing ASP.NET AJAX Controls with
Silverlight
ASP.NET AJAX site
 http://ajax.asp.net - Download bits, read docs/quickstarts, watch how-to
 videos, participate in forums and community
 Just released: ASP.NET Futures CTP
ASP.NET AJAX Control Toolkit
 http://www.codeplex.com/AtlasControlToolkit - Open source community
 project, 30+ controls
Blogs
 http://www.nikhilk.net
 http://weblogs.asp.net/scottgu
 http://weblogs.asp.net/bleroy
 http://weblogs.asp.net/elipton
Think about the set of problems at the app infrastructure
and user experience
 How can Ajax help improve and differentiate?
 Patterns provide terminology to talk about these problems
 and solutions
Check out ASP.NET AJAX
 Extensible platform for building and scaling to broad range of
 applications
 ASP.NET AJAX Control Toolkit has a number of out-of-box
 controls to get you started

Recommended for you

Introduction to Visualforce Webinar
Introduction to Visualforce WebinarIntroduction to Visualforce Webinar
Introduction to Visualforce Webinar

Out of the box, the Force.com Platform can automatically generate user interfaces, but in some cases you might want to build a more custom UI. Join us to learn about Visualforce, the component-based UI framework that lets you build attractive, dynamic, reusable user interfaces. This webinar is tailored for beginner developers as well as Salesforce administrators. Watch this webinar to learn about: :: Common use cases :: Leveraging Apex code on the server side :: Debugging techniques :: Best practices for efficient and responsive pages

webinarvisualforceforce.com
An Intro to Mobile HTML5
An Intro to Mobile HTML5An Intro to Mobile HTML5
An Intro to Mobile HTML5

This document provides an introduction to HTML5 and discusses the evolution of the web. It notes that the web is changing from a single device experience to a multi-device one, and from thin clients to thick applications. It shows how browser platforms and programming languages have diversified for smartphones. The document highlights how HTML5 is bringing new capabilities like geolocation, video, audio and graphics to the web in a standardized way. It encourages keeping up with browser support and using polyfills and frameworks. Finally, it speculates about how the mobile web may gain access to device APIs and become more like a mobile platform itself.

sencha touchhtml5sencha
PPT with Flash ry
PPT with Flash ryPPT with Flash ry
PPT with Flash ry

WaveMaker is a RAD tool that allows developers to easily create rich web applications without complex coding. It uses standard open source technologies like Spring, Dojo, Hibernate, and more. WaveMaker provides visual design tools and pre-built widgets to simplify development of database-driven and SOA-based applications. It is best for rapid prototyping but may not be suited for complex transactional or workflow-intensive systems.

AJAX Patterns with ASP.NET
AJAX Patterns with ASP.NET
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions,
                it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
                                       MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
This session takes a deeper look at the AJAX paradigm by
discussing key development patterns. It demonstrates
implementing them using a combination of out-of-the-box
features and as well as features built by leveraging the
extensibility of the platform. Patterns covered range from
fundamentals such as networking, search
optimization, navigation, and unobtrusive script attachment
to user interface usability techniques such as visual
notifications, and customization. The demonstrations are
illustrated in the context of a simple scenario, but are
designed to be applied directly to real-world applications.

Recommended for you

Resume
ResumeResume
Resume

Praveen Kumar is a software engineer with over 4 years of experience in Java technologies including J2SE, J2EE, web services, IBM WebSphere Portal, Struts, Spring, Hibernate, and more. He has worked on e-commerce, mobile recharging, government portals, and other projects. Currently works as a senior engineer at IBM in Kolkata.

Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2

This document contains a summary of Zhen Wu's technical skills, education, and professional experiences. Wu has over 15 years of experience as a full-stack developer with expertise in C#, .NET, Java, SQL, JavaScript, PHP, and more. He holds a BS in Computer Science from Stony Brook University. Currently, Wu works as the founder and web developer at Zeken Inc, where he builds web applications and centralized databases. Past experiences include work as a web developer for various companies, focusing on building e-commerce sites, data migration tools, and internal tools.

ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation

This document provides an overview of ASP.NET, including its history and key features. It discusses how ASP.NET is an improvement over classic ASP as it is compiled, provides richer tooling support and framework. ASP.NET MVC and Web API are introduced as alternative frameworks that allow building web applications and services in a more RESTful way. The document also covers HTTP fundamentals and how ASP.NET applications integrate with IIS web servers, including how to create virtual directories.

php.netasp

More Related Content

What's hot

STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
Shakir Majeed Khan
 
Developer unconference 2k11
Developer unconference 2k11Developer unconference 2k11
Developer unconference 2k11
Jonathan Beri
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013
Microsoft Visual Studio
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App Cloud
Salesforce Developers
 
Santhosh_Resume
Santhosh_ResumeSanthosh_Resume
Santhosh_Resume
Santhosh Kandula
 
Edwin John.net
Edwin John.netEdwin John.net
Edwin John.net
Edwin John
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Spiffy
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
Jithin Kuriakose
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_format
Rajiv Saini
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
Rahul Singh
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform
Francesco Iervolino
 
Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsAzure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: Bots
Bob German
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
Prashanth Shivakumar
 
Srinivasaragavan Jayakumar
Srinivasaragavan JayakumarSrinivasaragavan Jayakumar
Srinivasaragavan Jayakumar
Srinivasaragavan Jayakumar
 
Introduction to Visualforce Webinar
Introduction to Visualforce WebinarIntroduction to Visualforce Webinar
Introduction to Visualforce Webinar
Salesforce Developers
 
An Intro to Mobile HTML5
An Intro to Mobile HTML5An Intro to Mobile HTML5
An Intro to Mobile HTML5
James Pearce
 
PPT with Flash ry
PPT with Flash ryPPT with Flash ry
PPT with Flash ry
marina2207
 
Resume
ResumeResume
Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2
Zhen Wu
 

What's hot (20)

STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
 
Developer unconference 2k11
Developer unconference 2k11Developer unconference 2k11
Developer unconference 2k11
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App Cloud
 
Santhosh_Resume
Santhosh_ResumeSanthosh_Resume
Santhosh_Resume
 
Edwin John.net
Edwin John.netEdwin John.net
Edwin John.net
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar Kakade
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_format
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform
 
Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsAzure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: Bots
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
 
Srinivasaragavan Jayakumar
Srinivasaragavan JayakumarSrinivasaragavan Jayakumar
Srinivasaragavan Jayakumar
 
Introduction to Visualforce Webinar
Introduction to Visualforce WebinarIntroduction to Visualforce Webinar
Introduction to Visualforce Webinar
 
An Intro to Mobile HTML5
An Intro to Mobile HTML5An Intro to Mobile HTML5
An Intro to Mobile HTML5
 
PPT with Flash ry
PPT with Flash ryPPT with Flash ry
PPT with Flash ry
 
Resume
ResumeResume
Resume
 
Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2
 

Similar to AJAX Patterns with ASP.NET

ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
Rasel Khan
 
Experience Ajax - Workshop For Designers
Experience Ajax - Workshop For DesignersExperience Ajax - Workshop For Designers
Experience Ajax - Workshop For Designers
shank
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
Caleb Jenkins
 
JOB PORTALProject SummaryTitle JOB-PORT.docx
JOB PORTALProject SummaryTitle    JOB-PORT.docxJOB PORTALProject SummaryTitle    JOB-PORT.docx
JOB PORTALProject SummaryTitle JOB-PORT.docx
christiandean12115
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
Ravikumar Pabolu
 
Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...
Mike Taylor
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
Munish Gupta
 
Lessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX ExperiencesLessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX Experiences
goodfriday
 
Lessons
LessonsLessons
Lessons
guest1019f4
 
Siva_DotNet
Siva_DotNetSiva_DotNet
Search Engine And Toolbar With A Chance To Win Prizes
Search Engine And Toolbar With A Chance To Win PrizesSearch Engine And Toolbar With A Chance To Win Prizes
Search Engine And Toolbar With A Chance To Win Prizes
Grey Matter India Technologies PVT LTD
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
Hosam Kamel
 
Persentation
PersentationPersentation
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
pooyad
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
Rishi Kothari
 
High-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control ToolkitHigh-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control Toolkit
goodfriday
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
Arun Kumar Rajamandrapu
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
SAP Portal
 
Tech Lead-Sachidanand Sharma
Tech Lead-Sachidanand SharmaTech Lead-Sachidanand Sharma
Tech Lead-Sachidanand Sharma
Sachidanand Semwal
 
Developing Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform ADeveloping Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform A
auexpo Conference
 

Similar to AJAX Patterns with ASP.NET (20)

ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Experience Ajax - Workshop For Designers
Experience Ajax - Workshop For DesignersExperience Ajax - Workshop For Designers
Experience Ajax - Workshop For Designers
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
JOB PORTALProject SummaryTitle JOB-PORT.docx
JOB PORTALProject SummaryTitle    JOB-PORT.docxJOB PORTALProject SummaryTitle    JOB-PORT.docx
JOB PORTALProject SummaryTitle JOB-PORT.docx
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Lessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX ExperiencesLessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX Experiences
 
Lessons
LessonsLessons
Lessons
 
Siva_DotNet
Siva_DotNetSiva_DotNet
Siva_DotNet
 
Search Engine And Toolbar With A Chance To Win Prizes
Search Engine And Toolbar With A Chance To Win PrizesSearch Engine And Toolbar With A Chance To Win Prizes
Search Engine And Toolbar With A Chance To Win Prizes
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Persentation
PersentationPersentation
Persentation
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
High-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control ToolkitHigh-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control Toolkit
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
 
Tech Lead-Sachidanand Sharma
Tech Lead-Sachidanand SharmaTech Lead-Sachidanand Sharma
Tech Lead-Sachidanand Sharma
 
Developing Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform ADeveloping Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform A
 

More from goodfriday

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
goodfriday
 
Triunemar05
Triunemar05Triunemar05
Triunemar05
goodfriday
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 easter
goodfriday
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009
goodfriday
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swim
goodfriday
 
Easter Letter
Easter LetterEaster Letter
Easter Letter
goodfriday
 
April2009
April2009April2009
April2009
goodfriday
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092
goodfriday
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009
goodfriday
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009
goodfriday
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Current
goodfriday
 
Easter2009
Easter2009Easter2009
Easter2009
goodfriday
 
Bulletin
BulletinBulletin
Bulletin
goodfriday
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newsletter
goodfriday
 
Mar 29 2009
Mar 29 2009Mar 29 2009
Mar 29 2009
goodfriday
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009
goodfriday
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09
goodfriday
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09
goodfriday
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009
goodfriday
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendar
goodfriday
 

More from goodfriday (20)

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
 
Triunemar05
Triunemar05Triunemar05
Triunemar05
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 easter
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swim
 
Easter Letter
Easter LetterEaster Letter
Easter Letter
 
April2009
April2009April2009
April2009
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Current
 
Easter2009
Easter2009Easter2009
Easter2009
 
Bulletin
BulletinBulletin
Bulletin
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newsletter
 
Mar 29 2009
Mar 29 2009Mar 29 2009
Mar 29 2009
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendar
 

Recently uploaded

[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 

Recently uploaded (20)

[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 

AJAX Patterns with ASP.NET

  • 3. Look at Ajax scenarios beyond the basics Run through a sequence of patterns and solutions Solve real-world problems Create better user experiences Demonstrate how ASP.NET enables these scenarios
  • 4. From Wikipedia… Design pattern: General repeatable solution to commonly occurring problem in software design. Various categories of patterns Foundational patterns Separation of code and behavior, data access, searchability User experience patterns Notifications, intuitive navigation, …
  • 6. Script attachment to enable interactivity (eg. accordion) Logical navigation to provide optimal back/forward behavior and bookmarkability Update indicators and gestures to provide feedback in dynamic user interfaces Smart data access to enable rich visualization and indexability Mashing up to enhance application content
  • 7. - Separation of content and behavior - Enhancing semantic markup with script
  • 8. Attaching script functionality to static content Separation of content (HTML+CSS) and behavior (Script) Include scripts as referenced files and attach event handlers dynamically Benefits Facilitate designer/developer workflow Independently work on content and functionality at the same time More likely to work in script-disabled environments ASP.NET AJAX offering Client-side behaviors and controls are first class concept Class pattern for script to enable encapsulating data and logic ExtenderControl allows extending existing UI controls on server
  • 9. - Controlling or “fixing” the back button - Adding support for bookmarking
  • 10. Implement logical views and associated back/forward navigation Define logical views Be selective about which views and user interaction end up in history Benefits User model is preserved – back takes user to previous view Back through form entry can be prevented Different views of the page can be bookmarked AJAX actually enables a better navigation model ASP.NET AJAX offering History server control and client-side API API supports multiple parts of the page participating in history
  • 11. - User gestures and feedback for dynamic UI
  • 12. Use UI gestures to indicate changes and updates to pages as a result of user actions Highlighting, scrolling, focus, progress, … Be subtle, use simple animations, don't be annoying Benefits Ability to guide user Add additional pizzaz to your application AJAX can actually enable a better UI model for dynamic UI ASP.NET AJAX offering UpdateAnimation control in Ajax Control Toolkit UpateIndicator prototype control
  • 13. Data access in Ajax applications without sacrificing indexability
  • 14. Accessing data in an Ajax application without sacrificing indexability Don't send empty pages Embed initial data in page as semantically correct markup Client-side script might completely alter the visualization to create a rich experience Include additional pages of data in sitemap Benefits Use of semantic markup aids indexability Works well with script-disabled environments Saves initial Ajax request for data ASP.NET Ajax offering Enables leveraging the server programming model Data controls infrastructure
  • 15. - Enhancing content with external content - Accessing services using JSONP and server proxies
  • 16. Lots of interesting scenarios for integrating services One is content enhancement Typically mashups are written using server-side proxies Require cross-domain calls Enables use of configuration (eg. for API key), local caching, throttling calls JSONP enables use of services directly from the client Service needs to support it Uses script tags to enable cross-domain calls Implied trust in service API and service provider ASP.NET AJAX networking stack allows plugging in JSONP ScriptExecutor instead of default XMLHttpExecutor
  • 17. There are many more interesting and relevant patterns Richer Plugin Diagnostics … Patterns on the Web http://ajaxpatterns.org Yahoo! Design Patterns site: http://developer.yahoo.com/ypatterns
  • 18. DEV08 – Go Deep with AJAX DEV19 – High-Speed Development with the AJAX Control Toolkit BD007 – Search Capabilities for ASP.NET Web Content DEV05 – Developing ASP.NET AJAX Controls with Silverlight
  • 19. ASP.NET AJAX site http://ajax.asp.net - Download bits, read docs/quickstarts, watch how-to videos, participate in forums and community Just released: ASP.NET Futures CTP ASP.NET AJAX Control Toolkit http://www.codeplex.com/AtlasControlToolkit - Open source community project, 30+ controls Blogs http://www.nikhilk.net http://weblogs.asp.net/scottgu http://weblogs.asp.net/bleroy http://weblogs.asp.net/elipton
  • 20. Think about the set of problems at the app infrastructure and user experience How can Ajax help improve and differentiate? Patterns provide terminology to talk about these problems and solutions Check out ASP.NET AJAX Extensible platform for building and scaling to broad range of applications ASP.NET AJAX Control Toolkit has a number of out-of-box controls to get you started
  • 23. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 24. This session takes a deeper look at the AJAX paradigm by discussing key development patterns. It demonstrates implementing them using a combination of out-of-the-box features and as well as features built by leveraging the extensibility of the platform. Patterns covered range from fundamentals such as networking, search optimization, navigation, and unobtrusive script attachment to user interface usability techniques such as visual notifications, and customization. The demonstrations are illustrated in the context of a simple scenario, but are designed to be applied directly to real-world applications.