White Paper AJAX. for Graphics-Intensive Web Applications

Size: px
Start display at page:

Download "White Paper AJAX. for Graphics-Intensive Web Applications"

Transcription

1 White Paper AJAX for Graphics-Intensive Web Applications

2 AJAX for Graphics-Intensive Web Applications White Paper ILOG, May 2006 Do not duplicate without permission. ILOG, CPLEX and their respective logotypes are registered trademarks. All other company and product names are trademarks or registered trademarks of their respective holders. The material presented in this document is summary in nature, subject to change, not contractual and intended for general information only and does not constitute a representation.

3 Table of Contents What is AJAX?...2 What does AJAX improve and how?...2 How are AJAX applications developed?...3 What development effort is required?...3 JavaServer Faces...3 Where can it be used?...4 What are the benefits for graphical Web user interfaces?...5 Adaptive context menus...5 Editing capabilities...7 Vector Graphics on the Web...8 Real-time updates...8 Tiling and load on demand...9 Conclusion.10 Page 1

4 What is AJAX? AJAX is not a technology per se, but rather a design approach for Web applications. AJAX, which stands for Asynchronous JavaScript and XML, improves the user s Web application experience while retaining the benefits of transparent deployments and immediate availability of application updates for all users. It mixes a set of proven techniques available to most browsers, including Microsoft Internet Explorer (IE) and Mozilla Firefox. What does AJAX improve and how? A classic Web application model follows these steps: 1. User operations in the interface send data input to the Web server. 2. The server does some processing user input, talking to various legacy systems to retrieve data, number crunching, etc. and then returns the resulting HTML page to the client. What usually happens with a multifield Web-page form is that when the user clicks on a form element, the application freezes until the Web server responds, and when it does, the display flickers as the whole page is refreshed. With AJAX, Web form elements are updated individually, so there is no full-page flickering and the application remains usable while the request is sent to the server and the Web browser waits for an answer. This approach provides many benefits apart from a better user experience: 1. The server-side application can now be designed to compute answers as data and not as full pages to be redisplayed, boosting the server s scalability for serving more users. Also, as partial updates are made, less network capacity is usually required. 2. The application remains usable even when waiting for the Web server to answer, resulting in more productivity for the end users AJAX makes this possible with an execution engine in the end-user browser that interprets answers from the Web server as updates to individual items in the display, and only changes those items, instead of refreshing the entire page. Page 2

5 How are AJAX applications developed? Since AJAX is an application architecture and design philosophy, different technologies can be used to develop AJAX applications. The main focus is two fold: 1. Make the Web server provide answers in an XML or JSON format that can be understood by the AJAX engine 2. Develop or reuse an AJAX engine that interprets Web server answers and updates the individual display elements On the client side, the chosen technology must enable the AJAX engine to be streamed when the application starts, and the technology must be available to all browsers. JavaScript has become the primary development language since it is widely used and supported by all the major Web browsers. What development effort is required? Overall, AJAX applications are expensive to develop and even more so to maintain. Drawbacks to the AJAX approach include architecture complexity, asynchronous processing and limited browser scripting capabilities. Of course, the developer s solution depends on the chosen development technologies and toolkits used to produce the Web graphical user interface (GUI) and their ability to handle Web environments. If you use a traditional desktop solution to create the server-side framework for generating graphics, development time can range up to dozens of man-years to create the framework, define the information exchange protocol with the server, and develop a large set of browser scripts to create the AJAX engine and all its capabilities. But that s the long way. The short way is to use a solution built to handle Web environments. The ILOG JViews product suite comprises a complete line of graphical toolkits for Java developers. They provide Java classes and development tools for making charts, maps, diagrams, network GUIs and Gantt charts for desktop and Web applications. When you rely on a Web-enabled, AJAX-ready solution like ILOG JViews, the development effort is reduced to setting parameters and extending provided capabilities. JavaServer Faces To help cope with the inherent complexity of AJAX and JavaScript, ILOG JViews leverages the JavaServer Faces (JSF) standard. It hides any unnecessary complexity in application development, and the new JSF 1.2 brings us even closer to AJAX architectures and facilitates incremental updates. JSF allows the creation of advanced Web-based GUIs in JSP pages and makes development faster with cheaper maintenance. Page 3

6 The code below shows how to create a chart. Its data is handled by a server-side JavaBean and the style is defined by a cascading style sheet (CSS) file named style.css. This CSS file is produced with an ILOG JViews point-and-click designer tool. <%@ taglib uri=" prefix="f"%> <%@ taglib uri=" prefix="h"%> <%@ taglib uri=" prefix="jvrc"%> <html> <body> <f:view> <h:form id="form"> <jvrc:chart id="thechart" width="450px" height="300px" value="#{myserversidebean.datasource}" stylesheet="style.css"/> </h:form> </f:view> </body> </html> Where can it be used? AJAX was first used with Web applications that have users fill out forms through text-based entries. Filling out forms is an inescapable requirement for shopping or obtaining service through the Internet. To buy a ticket, get a quote or auction on e-bay, you have to fill out an online application form. With AJAX, a Web form is dynamically adapted in response to the user s entries without reloading the entire form after each entry. For instance, as someone is purchasing airline tickets for a group, new form fields are added for entering information such as ages and individual preferences. But AJAX isn t just for form-based applications. It is also used with graphical representations in which, for example, data for trends are shown in charts, assets on maps and schedules as Gantt charts. Page 4

7 What are the benefits for graphical Web user interfaces? Graphical Web applications have suffered a lot from today s technical limitations. Users are used to interacting smoothly with desktop applications. They expect instant zooming, scrolling, selection and editing in desktop applications like PowerPoint. When graphic intensive applications are deployed to the Web, the level of interactivity and the user experience degrade significantly: With each interaction, the user must wait for the server to generate a new image (e.g., new zoom level) and send it. The server s CPU speed and the network s bandwidth impact the response time. Consequently, the user s experience can be unpleasant if the refresh rate is slow and a blank screen appears between interactions. Secondly, in most cases, the browser displays images in which elements cannot be selected individually. Costly workarounds exist, typically as image maps, but the quality of interactivity falls way short of the user s expectations. AJAX offers solutions for the above issues, solutions whose effectiveness is well illustrated by Google Maps, which has helped fuel the tremendous interest in AJAX. But before detailing AJAX s benefits for advanced graphics, let s briefly describe how ILOG JViews produces and manages GUI maps, diagrams, charts and other graphics transmitted to the client browser. ILOG JViews components reside on both the server for display generation and the client browser for interactivity. On the server side, ILOG JViews transforms application data (e.g., records in a database or objects in an object model) into graphical representations that are meaningful to the final user, and generates DHTML code that combines raster images (visualization) and JavaScript code (behavior). The DHTML code is then sent to the Web browser, which interprets and displays the results. As noted above, the performance of Web GUIs is significantly degraded compared to their desktop equivalents. Without AJAX, most browser interactions result in time-consuming roundtrips to the server and complete Web-page refreshes. Now, let s see what benefits come from applying AJAX principles with a toolkit like ILOG JViews. Adaptive context menus Contextual menus the ones you get when you right-click provide application-specific information and actions on the selected object. With AJAX, contextual menus are created dynamically from an XML request sent to the server. Since ILOG JViews uses AJAX concepts, the interactions with the server are asynchronous to maintain a satisfying user experience. Such interactions are common in applications whose graphical displays are used to modify application elements. Support for this functionality in a graphical toolkit like ILOG JViews offers important value to Java developers, as they have significantly less code to write, and the final users get a benchmark of interactivity. With any ILOG JViews product, what appears in the contextual menu can be defined either once for all the menus in a JSP Web page or as needed for interactions with the server. Page 5

8 Here is an example of a contextual menu definition for an ILOG JViews Charts display in a Web page: <jvcf:chartcontextualmenu> <jv:menuitem label="zoom..." onclick="zoombutton.doclick()" image="images/zoom.gif" /> <jv:menuitem label="pan..." onclick="panbutton.doclick()" image="images/pan.gif" /> <jv:menuseparator /> <jv:menuitem label="zoom In" onclick="viewid.zoominx()" image="images/zoom.gif" /> <jv:menuitem label="zoom Out" onclick="viewid.zoomoutx()" image="images/unzoom.gif" /> </jvcf:chartcontextualmenu> Here is another example of a dynamic contextual menu definition. It requires interaction with the server, which answers according to AJAX concepts: <jvcf:chartcontextualmenu factory="#{chartbean.menufactory}" /> With: public class ChartBean { public IlvMenuFactory getmenufactory() { return new MyMenuFactory(); } } public class MenuFactory implements IlvMenuFactory { // actually create the menu content in Java } Page 6

9 Editing capabilities Almost all Web-based graphical applications rely on raster images (e.g., JPG, GIF and PNG). This approach limits the editing and manipulation of individual display elements. For instance, when a display represents a business process, the user may need to add, move, modify or delete activities, and this is difficult to provide through a Web-based application. Unlike desktop applications, the images displayed in a Web browser do not natively allow such editing capabilities. To detect an object selection or movement, we need to use the image maps mechanism. It defines the actionable areas of an image through JavaScript or a dialog with the server. With ILOG JViews components, the browser tracks mouse events and asks the server which elements have been selected according to the mouse s position and movements. The server replies for instance, Activity1 is selected and tells the browser to create a highlight rectangle around the selected object. This provides visual feedback to the user, who can move the selected objects with dynamic visual feedback during the operation. Once the user finishes his drag-and-drop action, ILOG JViews sends a new request to the server, which updates its data model to be consistent with the display. The server then replies with a new image reflecting the user s changes. All these operations are based on AJAX principles to minimize data exchange and prevent the end-user application from freezing. With ILOG JViews Diagrammer, you just need a few lines of code to define an AJAX selection and object move for a Web-based display. With the following example, users can select nodes in the diagram without page flicker (imagemode= false ) and can change their location interactively: <jvdf:selectinteractor id="selectinterator" imagemode="false" linecolor="#ff0000" linewidth="2" /> And set it on the ILOG JViews Diagrammer component interactorid attribute: <jvdf:diagrammerview id="diagrammer" style="width:600;height:350" interactorid="selectinterator" data="/data/genealogy.idpr" waitingimage="images/wait.gif" backgroundcolor="#ffffff" /> Step 1: Select Step 2: Drag object locally Step 3: Drop object With ILOG JViews components, the browser tracks mouse events and asks the server which elements have been selected according to the mouse s position and movements. The server replies for instance, Activity1 is selected and tells the browser to create a highlight rectangle around the selected object (Image 1). This provides visual feedback to the user, who can move the selected objects with dynamic visual feedback during the operation (Image 2). Page 7

10 Once the user finishes his drag-and-drop action, ILOG JViews sends a new request to the server, which updates its data model to be consistent with the display. The server then replies with a new image reflecting the user s changes (Image 3). Vector Graphics on the Web Even though solutions exist to improve the Web-user experience with graphic-intensive applications, the best option is to use vector graphics in the browser. With this approach, users can interact with the display without sending requests to the server for zooming and panning. This lets them select, modify, create and delete elements in the display exactly as we do with desktop applications. Today, there are two viable solutions for browser vector-based displays: Scalable Vector Graphics (SVG), an open World Wide Web Consortium (W3C) XML standard Flash, an Adobe/Macromedia proprietary language with an important installed base and a long history in Web marketing pages. It now provides extensions through Flex for Webbased application development. But to achieve a good user experience when there are exchanges with the server, the AJAX principles still need to be applied. ILOG JViews 7.5 provides advanced SVG-based AJAX components for an improved user experience, lower server and network load, and real-time update capabilities. Real-time updates Dashboard and supervision applications are often Web-based. They use server-generated images to display charts and gauges, but often lack interaction and frequent update capabilities. When a dashboard application needs advanced interactivity (e.g., zooming and panning), or frequent updates to match data changes (e.g., fluctuating production levels), the image generation process becomes a bottleneck both for the server and the network. ILOG has developed a client-side charting component based on SVG that overcomes the above limitations, no matter the number of users, and enables data refreshes down to the second. Upon creation, SVG components are sent to the user s browser, along with JavaScript to define the chart behavior. SVG allows the user to zoom, pan, display charts and get details via tool tiplike information when moving the mouse over data points, for instance, all without any interaction with the server. When input data changes, the server sends only the effected parts of the display to the connected clients as XML data. This reduces network load to a minimum. The XML data is interpreted by the browser AJAX engine, which updates the display to provide the user with desktop-like interactions. ILOG JViews SVG charting fully applies AJAX concepts to provide the best user-experience, and greater server and network scalability for sending frequent updates to thousands of users. SVG display is natively supported by Firefox 1.5. At this time, a free plug-in from Adobe is needed to display SVG with Microsoft Internet Explorer (IE), which is expected to support SVG display natively in future releases. This is not seen as a barrier to adoption of SVG, as a plug-in was initially needed to display PDFs with IE. Page 8

11 The following code sample shows the setup of a Rich Web Chart in SVG that includes: A set of predefined interactions (zooming, scrolling, etc.) A highlight behavior showing a marker over the mouse pointer in the chart A JavaScript client-side action executed when the user clicks on a point : <jvrc:chart id="chart" width="450" height="300" value="#{stockbean.datasource}" stylesheet="#{stockbean.stylesheet}" > <jvrc:zoominteractor /> <jvrc:xscrollinteractor /> <jvrc:yscrollinteractor /> <jvrc:highlightinteractor style="square"/> <jvrc:pickinteractor onpick= alert( picked point index: +pickedpoint.getindex()) /> </jvrc:chart> Tiling and load on demand Map displays are typically heavy and take a significant amount of time to be generated on the server and transported through the network. Tiling and caching offer the best solution, as Google has demonstrated with the Google Map Web-based map viewer. This approach builds a map from several images (tiles) cached locally by the browser. As the user pans or scrolls, he doesn t have to wait for all the images to be received again because only the tiles needed to extend the map are sent by the server through an asynchronous AJAX mechanism. The application remains usable even while receiving new tiles, and the browser s caching mechanism prevents tiles from being loaded repeatedly. ILOG is working to implement the same approach in its ILOG JViews map displays and other schematics, and will support interactive foreground objects such as telecom graphic objects. Page 9

12 Conclusion The demand for Web-based user interfaces is growing fast as Internet services strive to broaden their customer base. Google has shown that the painfully slow user experience we ve come to except from the Internet can be much faster and smoother with AJAX..Since its introduction, AJAX has become one of the most popular subjects in IT news, papers and application requirements. The new AJAX features in ILOG JViews products enable developers to take a big step closer to a great Web-based user interface with charts, maps, diagrams and Gantt charts. Based on JavaServer Pages, ILOG JViews makes use of DHTML and SVG to offer meaningful displays that heighten the user experience. No doubt demand will grow for an even higher level of interaction and more real-time displays. ILOG is preparing the path. Page 10

Advanced Graphics Components Using JavaServer Faces Technology. Christophe Jolif Architect ILOG S.A.

Advanced Graphics Components Using JavaServer Faces Technology. Christophe Jolif Architect ILOG S.A. Advanced Graphics Components Using JavaServer Faces Technology Christophe Jolif Architect ILOG S.A. http://www.ilog.com Goal of the Session Learn how to build JavaServer Faces technology advanced graphics

More information

AJAX Programming Overview. Introduction. Overview

AJAX Programming Overview. Introduction. Overview AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.

More information

a white paper from Corel Corporation

a white paper from Corel Corporation a white paper from Corel Corporation This document is for discussion purposes only. The products and processes are still under development. The information presented is therefore subject to change without

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

We aren t getting enough orders on our Web site, storms the CEO.

We aren t getting enough orders on our Web site, storms the CEO. In This Chapter Introducing how Ajax works Chapter 1 Ajax 101 Seeing Ajax at work in live searches, chat, shopping carts, and more We aren t getting enough orders on our Web site, storms the CEO. People

More information

Lesson 5: Multimedia on the Web

Lesson 5: Multimedia on the Web Lesson 5: Multimedia on the Web Learning Targets I can: Define objects and their relationships to multimedia Explain the fundamentals of C, C++, Java, JavaScript, JScript, C#, ActiveX and VBScript Discuss

More information

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2.

COPYRIGHTED MATERIAL. Part I: Getting Started. Chapter 1: Introducing Flex 2.0. Chapter 2: Introducing Flex Builder 2.0. Chapter 3: Flex 2. 02671c01.qxd:02671c01 4/20/07 11:24 AM Page 1 Part I: Getting Started Chapter 1: Introducing Flex 2.0 Chapter 2: Introducing Flex Builder 2.0 Chapter 3: Flex 2.0 Basics Chapter 4: Using Flex Builder 2.0

More information

Development of web applications using Google Technology

Development of web applications using Google Technology International Journal of Computer Engineering and Applications, ICCSTAR-2016, Special Issue, May.16 Development of web applications using Google Technology Vaibhavi Nayak 1, Vinuta V Naik 2,Vijaykumar

More information

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle Embracing HTML5 AJAX CSS JS javascript A Piece of the Document Viewing Puzzle Embracing HTML5: A Piece of the Document Viewing Puzzle For businesses and organizations across the globe, being able to

More information

Scalable Vector Graphics: SVG. The Little-Known Treasure of Document Viewing

Scalable Vector Graphics: SVG. The Little-Known Treasure of Document Viewing Scalable Vector Graphics: SVG The Little-Known Treasure of Document Viewing 1 Introduction Most everyone has experienced that dreaded feeling of downloading an image from the web to use in a document or

More information

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine.

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine. What is AJAX? In one sense, AJAX is simply an acronym for Asynchronous JavaScript And XML In another, it is a protocol for sending requests from a client (web page) to a server, and how the information

More information

Web Browser as an Application Platform Antero Taivalsaari

Web Browser as an Application Platform Antero Taivalsaari Web Browser as an Application Platform Antero Taivalsaari November 27, 2007 http://research.sun.com/projects/lively lively@sun.com Background The widespread adoption of the World Wide Web has dramatically

More information

Developing Web Applications with ArcGIS Server. Kevin Deege Educational Services ESRI-Washington DC

Developing Web Applications with ArcGIS Server. Kevin Deege Educational Services ESRI-Washington DC Developing Web Applications with ArcGIS Server Kevin Deege Educational Services ESRI-Washington DC Introductions Who am I? Who are you? ESRI Product Development Experience What development languages are

More information

...and the value of XML-based graphical applications. a white paper from Corel Corporation

...and the value of XML-based graphical applications. a white paper from Corel Corporation ...and the value of XML-based graphical applications a white paper from Corel Corporation Product specifications, pricing, packaging, technical support and information ( Specifications ) refer to the United

More information

In the most general sense, a server is a program that provides information

In the most general sense, a server is a program that provides information d524720 Ch01.qxd 5/20/03 8:37 AM Page 9 Chapter 1 Introducing Application Servers In This Chapter Understanding the role of application servers Meeting the J2EE family of technologies Outlining the major

More information

ORACLE FUSION MIDDLEWARE MAPVIEWER

ORACLE FUSION MIDDLEWARE MAPVIEWER ORACLE FUSION MIDDLEWARE MAPVIEWER 10.1.3.3 MAPVIEWER KEY FEATURES Component of Fusion Middleware Integration with Oracle Spatial, Oracle Locator Support for two-dimensional vector geometries stored in

More information

Internet: An international network of connected computers. The purpose of connecting computers together, of course, is to share information.

Internet: An international network of connected computers. The purpose of connecting computers together, of course, is to share information. Internet: An international network of connected computers. The purpose of connecting computers together, of course, is to share information. WWW: (World Wide Web) A way for information to be shared over

More information

Developing Ajax Web Apps with GWT. Session I

Developing Ajax Web Apps with GWT. Session I Developing Ajax Web Apps with GWT Session I Contents Introduction Traditional Web RIAs Emergence of Ajax Ajax ( GWT ) Google Web Toolkit Installing and Setting up GWT in Eclipse The Project Structure Running

More information

Using AJAX to Easily Integrate Rich Media Elements

Using AJAX to Easily Integrate Rich Media Elements 505 Using AJAX to Easily Integrate Rich Media Elements James Monroe Course Developer, WWW.eLearningGuild.com The Problem: How to string together several rich media elements (images, Flash movies, video,

More information

USING SVG XML FOR REPRESENTATION OF HISTORICAL GRAPHICAL DATA

USING SVG XML FOR REPRESENTATION OF HISTORICAL GRAPHICAL DATA Преглед НЦД 9 (2006), 39 45 Dušan Tošić, Vladimir Filipović, (Matematički fakultet, Beograd) Jozef Kratica (Matematički institut SANU, Beograd) USING SVG XML FOR REPRESENTATION OF HISTORICAL GRAPHICAL

More information

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree

More information

Qlik Sense Enterprise architecture and scalability

Qlik Sense Enterprise architecture and scalability White Paper Qlik Sense Enterprise architecture and scalability June, 2017 qlik.com Platform Qlik Sense is an analytics platform powered by an associative, in-memory analytics engine. Based on users selections,

More information

Web 2.0 Käyttöliittymätekniikat

Web 2.0 Käyttöliittymätekniikat Web 2.0 Käyttöliittymätekniikat ELKOM 07 Sami Ekblad Projektipäällikkö Oy IT Mill Ltd What is Web 2.0? Social side: user generated contents: comments, opinions, images, users own the data The Long Tail:

More information

USING SVG XML FOR REPRESENTATION OF HISTORICAL GRAPHICAL DATA

USING SVG XML FOR REPRESENTATION OF HISTORICAL GRAPHICAL DATA Преглед НЦД 9 (2006), 39 45 Dušan Tošić, Vladimir Filipović, (Matematički fakultet, Beograd) Jozef Kratica (Matematički institut SANU, Beograd) USING SVG XML FOR REPRESENTATION OF HISTORICAL GRAPHICAL

More information

Web Map Caching and Tiling. Overview David M. Horwood June 2011

Web Map Caching and Tiling. Overview David M. Horwood June 2011 Web Map Caching and Tiling Overview David M. Horwood dhorwood@esricanada.com June 2011 Web Mapping Traditional Geographic projection Select / Refresh workflow Slow, non-interactive (refresh delay) http://www.geographynetwork.ca/website/obm/viewer.htm

More information

Business Intelligence Launch Pad User Guide SAP BusinessObjects Business Intelligence Platform 4.1 Support Package 1

Business Intelligence Launch Pad User Guide SAP BusinessObjects Business Intelligence Platform 4.1 Support Package 1 Business Intelligence Launch Pad User Guide SAP BusinessObjects Business Intelligence Platform 4.1 Support Package 1 Copyright 2013 SAP AG or an SAP affiliate company. All rights reserved. No part of this

More information

Ajax Enabled Web Application Model with Comet Programming

Ajax Enabled Web Application Model with Comet Programming International Journal of Engineering and Technology Volume 2. 7, July, 2012 Ajax Enabled Web Application Model with Comet Programming Rajendra Kachhwaha 1, Priyadarshi Patni 2 1 Department of I.T., Faculty

More information

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code. 20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This

More information

Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study

Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Doug Geoffray & Todd Kloots 1 Capacity Building Institute Seattle, Washington 2006.11.30 What s Happening? 2 3 Web 1.0 vs. Web 2.0 Rich Internet

More information

White Paper: Delivering Enterprise Web Applications on the Curl Platform

White Paper: Delivering Enterprise Web Applications on the Curl Platform White Paper: Delivering Enterprise Web Applications on the Curl Platform Table of Contents Table of Contents Executive Summary... 1 Introduction... 2 Background... 2 Challenges... 2 The Curl Solution...

More information

Happy Birthday, Ajax4jsf! A Progress Report

Happy Birthday, Ajax4jsf! A Progress Report Happy Birthday, Ajax4jsf! A Progress Report By Max Katz, Senior Systems Engineer, Exadel Ajax4jsf is turning one soon and what a year it will have been. It was an amazing ride for all of us here at Exadel.

More information

Features and Benefits

Features and Benefits AUTODESK MAPGUIDE ENTERPRISE 2010 Features and Benefits Extend the reach and value of your spatial information using Autodesk MapGuide Enterprise 2010 software. Access design and spatial data from a variety

More information

Flex 3 Pre-release Tour

Flex 3 Pre-release Tour Flex 3 Pre-release Tour Andrew Shorten shorten@adobe.com Enrique Duvos duvos@adobe.com Flex 3 Pre-release Tour Agenda Adobe Platform Update (45 mins) Flex Builder 3 Features (45 mins) Adobe & Open Source

More information

CGM v SVG. Computer Graphics Metafile v Scalable Vector Graphic. David Manock

CGM v SVG. Computer Graphics Metafile v Scalable Vector Graphic. David Manock It shall not be communicated to any third party without the owner s written consent. All rights reserved. CGM v SVG Computer Graphics Metafile v Scalable Vector Graphic David Manock VP Sales and Marketing

More information

XF Rendering Server 2008

XF Rendering Server 2008 XF Rendering Server 2008 Using XSL Formatting Objects for Producing and Publishing Business Documents Abstract IT organizations are under increasing pressure to meet the business goals of their companies.

More information

The goal of this book is to teach you how to use Adobe Integrated

The goal of this book is to teach you how to use Adobe Integrated Clearing the AIR The goal of this book is to teach you how to use Adobe Integrated Runtime (AIR) to create desktop applications. You can use JavaScript or ActionScript to develop AIR applications, and

More information

Adobe Captivate Level 1

Adobe Captivate Level 1 Information Technology Services Kennesaw State University Adobe Captivate Level 1 Presented by Technology Outreach in collaboration with The Multimedia Development Group (MDG) Copyright 2007 Information

More information

Business Intelligence and Reporting Tools

Business Intelligence and Reporting Tools Business Intelligence and Reporting Tools Release 1.0 Requirements Document Version 1.0 November 8, 2004 Contents Eclipse Business Intelligence and Reporting Tools Project Requirements...2 Project Overview...2

More information

1 Introduction. 2 Web Architecture

1 Introduction. 2 Web Architecture 1 Introduction This document serves two purposes. The first section provides a high level overview of how the different pieces of technology in web applications relate to each other, and how they relate

More information

IBM JZOS Meets Web 2.0

IBM JZOS Meets Web 2.0 IBM JZOS Meets Web 2.0 Tuesday, August 3 rd 2010 Session 7637 Steve Goetze Kirk Wolf http://dovetail.com info@dovetail.com Copyright 2010, Dovetailed Technologies Abstract The development and deployment

More information

Layered UI and Adaptation Policies for Ubiquitous Web Applications

Layered UI and Adaptation Policies for Ubiquitous Web Applications Layered UI and Adaptation Policies for Ubiquitous Web Applications Centering ideas for upcoming standards 25 October 2007 José M. Cantera.- Telefónica I+D jmcf@tid.es Introduction Introduction Developing

More information

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1 AJAX & GWT Trey Roby GRITS 5/14/09 Roby - 1 1 Change The Web is Changing Things we never imagined Central to people s lives Great Opportunity GRITS 5/14/09 Roby - 2 2 A Very Brief History of Computing

More information

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock Building Mashups Using the ArcGIS APIs for FLEX and JavaScript Shannon Brown Lee Bock Agenda Introduction Mashups State of the Web Client ArcGIS Javascript API ArcGIS API for FLEX What is a mashup? What

More information

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module7: Objectives/Outline Objectives Outline Understand the role of Learn how to use in your web applications Rich User Experience

More information

Technology in Action. Chapter Topics. Scope creep occurs when: 3/20/2013. Information Systems include all EXCEPT the following:

Technology in Action. Chapter Topics. Scope creep occurs when: 3/20/2013. Information Systems include all EXCEPT the following: Technology in Action Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Chapter 10 Behind the Scenes: Software Programming Ninth Edition Chapter Topics Understanding software programming Life

More information

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs Web Application with AJAX Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar University of Colorado, Colorado Springs CS 526 Advanced Internet and Web Systems Abstract Asynchronous JavaScript and XML or Ajax

More information

Like It Or Not Web Applications and Mashups Will Be Hot

Like It Or Not Web Applications and Mashups Will Be Hot Like It Or Not Web Applications and Mashups Will Be Hot Tommi Mikkonen Tampere University of Technology tommi.mikkonen@tut.fi Antero Taivalsaari Sun Microsystems Laboratories antero.taivalsaari@sun.com

More information

A Domain-Customizable SVG-Based Graph Editor for Software Visualizations

A Domain-Customizable SVG-Based Graph Editor for Software Visualizations A Domain-Customizable SVG-Based Graph Editor for Software Visualizations Tony Lin, Feng Zou, Holger M. Kienle and Hausi A. Müller University of Victoria, Canada {gaoyun,fzou,kienle,hausi}@cs.uvic.ca Abstract

More information

"Web Age Speaks!" Webinar Series

Web Age Speaks! Webinar Series "Web Age Speaks!" Webinar Series Java EE Patterns Revisited WebAgeSolutions.com 1 Introduction Bibhas Bhattacharya CTO bibhas@webagesolutions.com Web Age Solutions Premier provider of Java & Java EE training

More information

BECOME A LOAD TESTING ROCK STAR

BECOME A LOAD TESTING ROCK STAR 3 EASY STEPS TO BECOME A LOAD TESTING ROCK STAR Replicate real life conditions to improve application quality Telerik An Introduction Software load testing is generally understood to consist of exercising

More information

Adobe XD CC: Streamlining User Experience Design

Adobe XD CC: Streamlining User Experience Design Pfeiffer Report Benchmark Analysis : Streamlining User Experience Design The productivity impact of integrating Adobe XD into the UX development workflow. About this Research This report presents the findings

More information

Firefox for Nokia N900 Reviewer s Guide

Firefox for Nokia N900 Reviewer s Guide Firefox for Nokia N900 Table of Contents Bringing Firefox to the Nokia N900 1 1. About Mozilla 2 2. Introducing Firefox for Mobile 2 3. Mozilla s Mobile Vision 3 4. Getting Started 4 5. Personalize Your

More information

Juniata County, Pennsylvania

Juniata County, Pennsylvania GIS Parcel Viewer Web Mapping Application Functional Documentation June 21, 2017 Juniata County, Pennsylvania Presented by www.worldviewsolutions.com (804) 767-1870 (phone) (804) 545-0792 (fax) 115 South

More information

Oracle Reports 6.0 New Features. Technical White Paper November 1998

Oracle Reports 6.0 New Features. Technical White Paper November 1998 Oracle Reports 6.0 New Features Technical White Paper Oracle Reports 6.0 New Features PRODUCT SUMMARY In today's fast-moving, competitive business world up to date information is needed for the accurate,

More information

Fall Semester (081) Module7: AJAX

Fall Semester (081) Module7: AJAX INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module7: AJAX Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals alfy@kfupm.edu.sa

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

F10 "CHALLENGES IN PERFORMANCE TESTING OF AJAX APPLICATIONS" Rajendra Gokhale Aztecsoft BIO PRESENTATION PAPER 5/18/ :15:00 AM

F10 CHALLENGES IN PERFORMANCE TESTING OF AJAX APPLICATIONS Rajendra Gokhale Aztecsoft BIO PRESENTATION PAPER 5/18/ :15:00 AM BIO PRESENTATION PAPER F10 5/18/2007 11:15:00 AM "CHALLENGES IN PERFORMANCE TESTING OF AJAX APPLICATIONS" Rajendra Gokhale Aztecsoft International Conference On Software Test Analysis And Review May 14-18,

More information

Automating Publishing Workflows through Standardization. XML Publishing with SDL

Automating Publishing Workflows through Standardization. XML Publishing with SDL Automating Publishing Workflows through. XML Publishing with SDL sdl.com Automating Publishing Workflows through This white paper provides our perspective on the use of XML standards in managing styles

More information

Norcom. e-fileplan Electronic Cabinet System

Norcom. e-fileplan Electronic Cabinet System Norcom e-fileplan Electronic Cabinet System Revision 2.0 \ Phone: (866) 726-6328 Email:sales@norcom-inc.com e-fileplan Overview e-fileplan is an electronic filing cabinet and document imaging system. e-fileplan

More information

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF

Overview. Principal Product Manager Oracle JDeveloper & Oracle ADF Rich Web UI made simple an ADF Faces Overview Dana Singleterry Dana Singleterry Principal Product Manager Oracle JDeveloper & Oracle ADF Agenda Comparison: New vs. Old JDeveloper Provides JSF Overview

More information

Software Design Specification

Software Design Specification Software Design Specification Project Title : ekaksha++ Version : 2.0.0 Team Members : Prekshu Ajmera (prekshu@gmail.com) IIT Bombay 1. INTRODUCTION 1.1 PURPOSE This document is the Software Design Specification

More information

Contents. 1. JSF overview. 2. JSF example

Contents. 1. JSF overview. 2. JSF example Introduction to JSF Contents 1. JSF overview 2. JSF example 2 1. JSF Overview What is JavaServer Faces technology? Architecture of a JSF application Benefits of JSF technology JSF versions and tools Additional

More information

Introduction to Autodesk MapGuide EnterpriseChapter1:

Introduction to Autodesk MapGuide EnterpriseChapter1: Chapter 1 Introduction to Autodesk MapGuide EnterpriseChapter1: In this chapter, you review the high-level key components that comprise Autodesk MapGuide Enterprise. The Autodesk MapGuide Studio, an integral

More information

Xyleme Studio Data Sheet

Xyleme Studio Data Sheet XYLEME STUDIO DATA SHEET Xyleme Studio Data Sheet Rapid Single-Source Content Development Xyleme allows you to streamline and scale your content strategy while dramatically reducing the time to market

More information

CyberDiscovery User Guide Version 0.1

CyberDiscovery User Guide Version 0.1 CyberDiscovery User Guide Version 0.1 Overview Welcome to CyberDiscovery! The CyberDiscovery is a high-resolution visualization and display instrument powered by the Sage2 software. You can use it for

More information

1Site Development Foundations Objectives and Locations

1Site Development Foundations Objectives and Locations Appendix-1 1Site Development Foundations Objectives and Locations Domain 2.1 Demonstrate knowledge required to create a Web page. 2.1.1 Relate the history of markup languages to current techniques and

More information

The Now Platform Reference Guide

The Now Platform Reference Guide The Now Platform Reference Guide A tour of key features and functionality START Introducing the Now Platform Digitize your business with intelligent apps The Now Platform is an application Platform-as-a-Service

More information

EXPORTING ASSETS. Lesson overview

EXPORTING ASSETS. Lesson overview 15 EXPORTING ASSETS Lesson overview In this lesson, you ll learn how to do the following: Create pixel-perfect drawings. Use the Export For Screens command. Work with the Asset Export panel. Generate,

More information

Introduction to the Internet and World Wide Web p. 1 The Evolution of the Internet p. 2 The Internet, Intranets, and Extranets p. 3 The Evolution of

Introduction to the Internet and World Wide Web p. 1 The Evolution of the Internet p. 2 The Internet, Intranets, and Extranets p. 3 The Evolution of Introduction to the Internet and World Wide Web p. 1 The Evolution of the Internet p. 2 The Internet, Intranets, and Extranets p. 3 The Evolution of the World Wide Web p. 3 Internet Standards and Coordination

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

BEAWebLogic. Portal. Overview

BEAWebLogic. Portal. Overview BEAWebLogic Portal Overview Version 10.2 Revised: February 2008 Contents About the BEA WebLogic Portal Documentation Introduction to WebLogic Portal Portal Concepts.........................................................2-2

More information

Impress Guide Chapter 10 Printing, ing, exporting, and saving slide shows

Impress Guide Chapter 10 Printing,  ing, exporting, and saving slide shows Impress Guide Chapter 10 Printing, e-mailing, exporting, and saving slide shows This PDF is designed to be read onscreen, two pages at a time. If you want to print a copy, your PDF viewer should have an

More information

11/5/16 WEB DESIGN. Branding Fall 2016

11/5/16 WEB DESIGN. Branding Fall 2016 designschool.canva.com/blog/print-vs-web/ nngroup.com/articles/differences-between-print-design-and-web-design/ howdesign.com/web-design-resources-technology/top-content-management-systems-designers/ alchemyuk.com/design/74-top-10-web-design-tips

More information

Everyone agrees that the World Wide Web is taking

Everyone agrees that the World Wide Web is taking Get into Ajax Everyone agrees that the World Wide Web is taking off. Everywhere you look, the talk is all about going online. Even cell phones are online these days. The online revolution is here, and

More information

Copyright 2018 MakeUseOf. All Rights Reserved.

Copyright 2018 MakeUseOf. All Rights Reserved. 15 Power User Tips for Tabs in Firefox 57 Quantum Written by Lori Kaufman Published March 2018. Read the original article here: https://www.makeuseof.com/tag/firefox-tabs-tips/ This ebook is the intellectual

More information

XPages development practices: developing a common Tree View Cust...

XPages development practices: developing a common Tree View Cust... 1 of 11 2009-12-11 08:06 XPages development practices: developing a common Tree View Custom Controls Use XPages develop a common style of user control Dojo Level: Intermediate Zhan Yonghua, Software Engineer,

More information

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group 2008 IBM Corporation Agenda XPage overview From palette to properties: Controls, Ajax

More information

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically 1 Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office 2007. The ribbon is a radically different user interface for Office, merging the menubar

More information

CHAPTER 7 WEB SERVERS AND WEB BROWSERS

CHAPTER 7 WEB SERVERS AND WEB BROWSERS CHAPTER 7 WEB SERVERS AND WEB BROWSERS Browser INTRODUCTION A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information

More information

HTML version of slides:

HTML version of slides: HTML version of slides: http://people.mozilla.org/~bbirtles/pres/graphical-web-2014/ Animations can be used for more than just cat gifs. They can be used to tell stories too. Animation is essentially

More information

The Ultimate Web Accessibility Checklist

The Ultimate Web Accessibility Checklist The Ultimate Web Accessibility Checklist Introduction Web Accessibility guidelines accepted through most of the world are based on the World Wide Web Consortium s (W3C) Web Content Accessibility Guidelines

More information

WHAT S NEW IN QLIKVIEW 10. qlikview.com NEW FEATURES AND FUNCTIONALITY IN QLIKVIEW 10

WHAT S NEW IN QLIKVIEW 10. qlikview.com NEW FEATURES AND FUNCTIONALITY IN QLIKVIEW 10 WHAT S NEW IN QLIKVIEW 10 QlikView 10 offers significant improvements over QlikView 9 and introduces new concepts to the QlikView portfolio. This document describes new features and functionality in the

More information

Getting Started. Most likely, if you ve purchased a copy of Adobe Flash CS3 Professional, Introducing Adobe Flash CS3 Professional 3

Getting Started. Most likely, if you ve purchased a copy of Adobe Flash CS3 Professional, Introducing Adobe Flash CS3 Professional 3 1 Getting Started Introducing Adobe Flash CS3 Professional 3 Why Use Flash CS3? 3 What s New in Flash CS3? 6 Flash, Flash Player, or Flash Lite? 7 File Types Associated with Flash CS3 8 Caution: Player

More information

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:

More information

Apple is rightfully proud of the user interface design incorporated into

Apple is rightfully proud of the user interface design incorporated into Customizing OS X Apple is rightfully proud of the user interface design incorporated into the Macintosh OS X family of operating systems. The interface is easy to use, and it s also easy to customize so

More information

ILOG. Introduction to ILOG. Changing the rules of business

ILOG. Introduction to ILOG. Changing the rules of business ILOG 1 Introduction to ILOG Changing the rules of business Founded in 1987 Publicly traded (NASDAQ) FY04 - $103 Million Revenue Over 2000 customers 425 ISV / OEM partners 650 employees worldwide Leader

More information

FITECH FITNESS TECHNOLOGY

FITECH FITNESS TECHNOLOGY Browser Software & Fitech FITECH FITNESS TECHNOLOGY What is a Browser? Well, What is a browser? A browser is the software that you use to work with Fitech. It s called a browser because you use it to browse

More information

Introduction to Autodesk MapGuide EnterpriseChapter1:

Introduction to Autodesk MapGuide EnterpriseChapter1: Chapter 1 Introduction to Autodesk MapGuide EnterpriseChapter1: In this chapter, you review the high-level key components that make up Autodesk MapGuide Enterprise. The Autodesk MapGuide Studio, an integral

More information

SharePoint List Booster Features

SharePoint List Booster Features SharePoint List Booster Features Contents Overview... 5 Supported Environment... 5 User Interface... 5 Disabling List Booster, Hiding List Booster Menu and Disabling Cross Page Queries for specific List

More information

Desktop DNA r11.1. PC DNA Management Challenges

Desktop DNA r11.1. PC DNA Management Challenges Data Sheet Unicenter Desktop DNA r11.1 Unicenter Desktop DNA is a scalable migration solution for the management, movement and maintenance of a PC s DNA (including user settings, preferences and data).

More information

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

Web 2.0, AJAX and RIAs

Web 2.0, AJAX and RIAs Web 2.0, AJAX and RIAs Asynchronous JavaScript and XML Rich Internet Applications Markus Angermeier November, 2005 - some of the themes of Web 2.0, with example-sites and services Web 2.0 Common usage

More information

Web Programming Paper Solution (Chapter wise)

Web Programming Paper Solution (Chapter wise) Introduction to web technology Three tier/ n-tier architecture of web multitier architecture (often referred to as n-tier architecture) is a client server architecture in which presentation, application

More information

Installation and Configuration Manual

Installation and Configuration Manual Installation and Configuration Manual IMPORTANT YOU MUST READ AND AGREE TO THE TERMS AND CONDITIONS OF THE LICENSE BEFORE CONTINUING WITH THIS PROGRAM INSTALL. CIRRUS SOFT LTD End-User License Agreement

More information

Migration to Service Oriented Architecture Using Web Services Whitepaper

Migration to Service Oriented Architecture Using Web Services Whitepaper WHITE PAPER Migration to Service Oriented Architecture Using Web Services Whitepaper Copyright 2004-2006, HCL Technologies Limited All Rights Reserved. cross platform GUI for web services Table of Contents

More information

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

Starting the QGIS Program. Exercise 1: Exploring QGIS

Starting the QGIS Program. Exercise 1: Exploring QGIS Exercise 1: Exploring QGIS In this exercise you will learn how to open maps, manipulate layers, add spatial data, change symbols, and navigate within QGIS. You will also learn to repair broken data links.

More information

Webomania Solutions Pvt. Ltd. 2017

Webomania Solutions Pvt. Ltd. 2017 There are different types of Websites. To understand the types, one need to understand what is a website? What is a Website? A website is an online HTML Document, accessible publicly and it contains certain

More information

Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management

Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management Contents Best Practices for Implementing Adobe Target using Dynamic Tag Management.3 Dynamic Tag Management Implementation...4

More information

When learning coding, be brave

When learning coding, be brave Who am I? Web Technology Overview with a focus on JavaScript-based technologies Lawrence Yao l.yao@unsw.edu.au Lawrence Yao UNSW casual staff Developer Analyst at YTML Consulting Email me if you need technical

More information