Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax

Similar documents
An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

AJAX. Gregorio López López Juan Francisco López Panea

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

Preface. Motivation for this Book

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

What s New in IBM Web Experience Factory IBM Corporation

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

GUI and Web Programming

ArcGIS Server mashups

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

IAS Web Development using Dreamweaver CS4

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator

Accessing Data with ADOBE FLEX 4.6

Notes Client Tips & Tricks

Rich Internet Applications

Dreamweaver Tutorial - Dreamweaver Interface

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

Performance Testing for Ajax Applications

CaptainCasa. CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. Feature Overview

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

User Guide for Smart Former Gold (v. 1.0) by IToris Inc. team

Configuring the JEvents Component

Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella

Introduction to web development and JavaScript

INFOPATH FORMS FOR OUTLOOK, SHAREPOINT, OR THE WEB

Known limitations The following table lists features and their known limitations in Internet Explorer 8 (64-bit) and Internet Explorer 9 (64-bit).

DiskPulse DISK CHANGE MONITOR

IE Class Web Design Curriculum

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

DreamFactory & Modus Create Case Study

A Tool for Evaluation and Optimization of Web Application Performance

Ajax Development with ASP.NET 2.0

Chapter 12: Advanced topic Web 2.0

Adding Panoramas to Google Maps Using Ajax

WebSphere Business Monitor V7.0 Script adapter lab

COURSE OUTLINE FACULTY OF INFORMATION AND COMMUNICATION TECHNOLOGY UNIVERSITI TEKNIKAL MALAYSIA MELAKA

CHAPTER 1: CLIENT/SERVER INTEGRATED DEVELOPMENT ENVIRONMENT (C/SIDE)

Improve application performance and scalability with Adobe ColdFusion 9

Mobility Information Series

Web Development. How the Web Works 3/3/2015. Clients / Server

collab.virginia.edu UVACOLLAB ECLPS: BUILDING COURSE PORTALS UVaCollab User Guide Series

Adobe ColdFusion 11 Enterprise Edition

Mistral Joomla Template

Client-side Web Engineering From HTML to AJAX

Integration the Web 2.0 way. Florian Daniel April 28, 2009

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

How to create pop-up menus

Data Visualization in Ext Js 3.4

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc.

Load testing with. WAPT Cloud. Quick Start Guide

XML Processing and Web Services. Chapter 17

JavaFX Session Agenda

Systems must meet the following requirements when using the Matrix WebConnect service: Average Network Bandwidth Utilization

Cascade Server. End User Training Guide. OIT Training and Documentation Services OIT TRAINING AND DOCUMENTATION.

Creating Interactive PDF Forms

Microsoft Access 2010 handout

Enterprise Web Developer : Using the Emprise Javascript Charting Widgets.

AJAX: Highly Interactive Web Applications. Jason Giglio.

REST web services. Representational State Transfer Author: Nemanja Kojic

Why AJAX? Keywords - Web applications, Java Script, Web INTRODUCTION. Why Not AJAX? 111 P a g e

Web Application diploma using.net Technology

MyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy

Reference Guide for WebCDM Application 2013 CEICData. All rights reserved.

Website Builder Documentation

Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

Web Design Technology

Debugging JavaScript and CSS Using Firebug. Harman Goei CSCI 571 1/27/13

CommonSpot Content Server Version 6.2 Release Notes

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

An Approach on Performance Evaluation of Mobile Ajax Application

Intro to Web Development

Wakanda Studio Features

Form And List. SuperUsers. Configuring Moderation & Feedback Management Setti. Troubleshooting: Feedback Doesn't Send

ICE Trade Vault. Public User & Technology Guide June 6, 2014

INFOPATH FORMS FOR OUTLOOK, SHAREPOINT, OR THE WEB

Learn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint InfoPath 2013 Web Enabled (Browser) forms

USER GUIDE CALIFORNIA DIRECT. AXESSON 100 ENTERPRISE WAY, SUITE C-110 SCOTTS VALLEY, CA (831)

USER GUIDE. Unit 4: Schoolwires Editor. Chapter 1: Editor

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

Using your Drupal Website Book 1 - Drupal Basics

AJAX and JSON Lessons Learned. Jim Riecken, Senior Software Engineer, Blackboard Inc.

Operational Decision Manager Worklight Integration

Lesson Overview. Getting Started. The Internet WWW

WEB SERVICES FOR MOBILE COMPUTING

Team Members: Christopher Copper Philip Eittreim Jeremiah Jekich Andrew Reisdorph. Client: Brian Krzys

IBM Script Portlet for WebSphere Portal Release 1.1

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

Dreamweaver CS3 THE MISSING MANUAL. David Sawyer McFarland. POGUE PRESS" O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Using the VMRC Plug-In: Startup, Invoking Methods, and Shutdown on page 4

Intellect Platform - Tables and Templates Basic Document Management System - A101

CLASSROOM WEB DESIGNING COURSE

Transcription:

Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax Sven Ramuschkat SRamuschkat@herrlich-ramuschkat.de München & Zürich, März 2009

A bit of AJAX history XMLHttpRequest introduced in IE5 used in Outlook Web Access Microsoft Remote Scripting switched to XMLHttpRequest in 2002 Other browsers added support Jesse James Garrett coined the name in 2005 and the web development world went insane... Asynchronous JavaScript And XML Jesse James Garrett of Adaptive Path (Ajax für XMLHttpRequest)

Traditional Web Application Model Browser makes HTTP call Complete HTML updated

Demo 1 Classic ColdFusion Application filling <select>-tags

AJAX Web Application Model JavaScript executes in browser & makes HTTP call User Interface (part-html) updated

Demo 2 Classic AJAX Application using dynamic XML-Content

AJAX Pro and Cons Pros Cons Improves user experience fewer page refreshes Lowers bandwidth usage only data is loaded Separates data, format, style and function Browser history and bookmarking is hard Network latency can cause unresponsiveness Search engines don't read JavaScript JavaScript behavior differs across browsers

AJAX is complicated AJAX is much more than XMLHttpRequest Also User Interface widgets and controls Well over a hundred libraries out there Dojo, Prototype, Scriptaculous, Spry... Popular libraries are complex pieces of code You often need to know a lot of JavaScript

AJAX and ColdFusion 8 Developer Productivity theme Make it easy to use AJAX Provide a rich set of User Interface controls Enable rich input and output Provide a natural way to handle data management

AJAX and ColdFusion 8 New tags for layout and controls JSON serialization for CFC results Ability to bind data and methods to controls Automatically proxy CFCs in JavaScript ColdFusion 8 AJAX UI controls are based on Yahoo! UI toolkit and Ext JS library

ColdFusion AJAX Architecture

JSON Support

What is JSON? JavaScript Object Notation Representation of data in JavaScript JavaScript can understand JSON, it s a native data format Based on array and object literals of JavaScript Array: [ Benjamin, Michael, Scott ] Object: { color : red, doors : 4}

XML vs. JSON

CFML JSON type mapping

JSON Support in ColdFusion 8 SerializeJSON() Converts ColdFusion objects into their JSON data format DeserializeJSON() Converts JSON data into ColdFusion objects IsJSON() Checks if the data passed to the function is in the JSON format

Demo 3 Serialize and Deserialize JSON

AJAX Plumbing

AJAX Plumbing What you expect from AJAX application Some area of the page gets refreshed, no full page refresh For that to happen, you need New HTML markup for that area To invoke logic on the server to fetch the data

AJAX region & data fetch Define AJAX region using <cfdiv> Fetch data for the region using BIND <cfdiv bind= url:foo.cfm >

CFDIV Form submission CFFORM inside CFDIV is submitted asynchronously

Binding Data to form fields Many ColdFusion Ajax features use binding to provide dynamic interactivity To specify a bind expression, use one of the following formats: cfc:componentpath.functionname(parameters) javascript:functionname(parameters) url:url?parameters Bind expression can use bind parameter directly or pass bind parameter <cfdiv bind= url:divsource.cfm?text={titext} > OR <cfselect bind= cfc:art.getartists() display= name value= id >

Demo 4 Using Binding with <cfdiv>-tag to pass Parameters Using Binding to fill <cfselect>-tags via CFC-Methods

The Event Value Use an at sign (@) to trigger different JavaScript events The following code executes the getchoices CFC each time the user presses the mouse button while the pointer is over the book control: bind= cfc:order.getchoices({inputform:book@mousedown})

Bind

Demo 5 Using the Event Value

Get your CFC functions in JavaScript CFAJAXPROXY Creates a JavaScript proxy for a ColdFusion component Generates a proxy function for every remote function on the cfc

Configuring the CFC proxy The proxy provides several JavaScript functions that you use to control the behavior of the proxy. Use the setcallbackhandler and seterrorhandler functions to specify the resulthandler and faulthandler for asynchronous calls. Use the sethttpmethod function to control whether the call uses a GET HTTP request (the default) or a POST request. etc.

Demo 6 Use CFAJAXPROXY to Call CFC-Functions in JavaScript

AJAX Widgets

UI Components cfdiv An HTML div region that can be dynamically populated. Forms in this region submit asynchronously. cflayout cfpod A horizontal or vertical box, a tabbed region, or a set of bordered regions that can include a top, bottom, left, right, and center regions An area of the browser window with an optional title bar and a body that contains display elements. Forms in this region submit asynchronously. cfwindow A pop-up window within the browser. You can also use the ColdFusion.Window.createWindow function to create a pop-up window. Forms in this region submit asynchronously.

Rich Text Editor cftextarea has a new richtext= true attribute Uses FCKeditor to provide WYSIWYG editor Toolbars are configurable Compatible with IE, FireFox, Mozilla, Netscape Full support for Safari is a work in progress

Auto-suggest for input fields autosuggest= attribute on cfinput Takes a list of possible values Can be bound to a dynamic list (array)

cfgrid New format: HTML full AJAX grid Built-in column sorting, paging Cells can be edited, rows can be deleted Grid data retrieved from bound CFC call

Demo 7 Using cfgrid with Paging http://localhost:8500/cf8demos-v2/

Ajax Performance vs. Flex Performance Demo Performance Ajax mit DoJo Flex 3.0 http://localhost:8700/samples/

Questions?