may 16 – 18, 2007 copyright 2007, data access worldwide may 16 – 18, 2007 copyright 2007, data...

40
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy' An Introduction to the Visual DataFlex AJAX Library Eddy Kleinjan, Data Access Europe, [email protected]

Upload: maximillian-palmer

Post on 26-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Build Great Web Application 'Fast and Easy'

An Introduction to the Visual DataFlex AJAX Library

Eddy Kleinjan, Data Access Europe, [email protected]

Page 2: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

AgendaAgenda

Great Web ApplicationVisual DataFlex AJAX LibraryBuilding AJAX Library Web ApplicationsBasic WebApp

Page 3: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Great Web ApplicationsGreat Web Applications

Good Graphical User Interface DesignExtended User Interface ControlsFast RespondingEvent DrivenNo Full Page Refresh

Page 4: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Great Web Application SamplesGreat Web Application Samples

Google Suggest http://www.google.com/webhp?complete=1&hl=en

Backpack http://educ.backpackit.com/

Google Maps http://maps.google.com/?ie=UTF8&t=k&om=1&ll=25.823965,-80.121118&spn=0.003385,0.007135&z=18

Yahoo news http://news.yahoo.com/

Page 5: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Great Web Applications use AJAX to create User Friendly, Responsive,

Interactive Web Sites

Page 6: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

What is AJAX?

Page 7: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Defining AJAXDefining AJAX

Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right,

coming together in powerful new ways. Jesse James Garrett

Page 8: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Defining AJAXDefining AJAX

AsynchronousJavaScriptAndXMLFirst named by Jesse James Garrett as a project name to help management understand what they were working on.

http://adaptivepath.com/publications/essays/archives/000385.php

Page 9: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Technologies InvolvedTechnologies Involved

HTMLJavaScriptDocument Object Model (DOM)XMLASP (VBScript)Visual DataFlexWeb ServicesCSS

Page 10: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Source: http://adaptivepath.com/publications/essays/archives/000385.php

Page 11: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Source: http://www.javarss.com/ajax/j2ee-ajax.html

Asynchronous AJAX Call Yahoo News SampleAsynchronous AJAX Call Yahoo News Sample

Page 12: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Visual DataFlex AJAX Library

Page 13: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

GoalsGoals

Create Framework for Web Based Database ApplicationsAllow Applications to be build ‘Fast-and-Easy’Windows like ControlsBrowser IndependentHighly IntuitiveData Dictionary Based ValidationsClient Side And Server Side ValidationsStandards Based

Page 14: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Automated Input ControlsAutomated Input Controls

Input controls are automatically attached to Data Dictionary itemsCharacteristics like data type, length, etc. are loaded from Data Dictionary upon page loadClient side data validation while navigating forward and before sending dataBehavior can be influenced by setting attributes on the input element.

Page 15: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

No Page ReloadNo Page Reload

Only changed parts of the page are updatedData is send and received in the backgroundUse of Modal Popup Object without opening a new browser window

Page 16: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Lookup Lists and GridsLookup Lists and Grids

Lists provide a virtual view on a set of dataImplemented as normal HTML tables

Page 17: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Other ControlsOther Controls

Tabbed Dialogs

Modal Popup Dialogs

Pull Down Menu's

Page 18: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Data DictionaryData Dictionary

All Meta Data is available at the ClientWhen possible, validations will be done at the ClientServer Validations will always be executed

Page 19: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Samples

Page 20: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

AJAX Library Components

Page 21: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

AJAX Library ComponentsAJAX Library Components

Visual DataFlexData DictionariesWeb Browser ObjectWeb Services

Internet Information ServerHTML (ASP Pages optional)JavaScriptCascading Style Sheets (CSS)

Page 22: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Client / ServerClient / Server

Client / Server Technology

ServerImplemented as Web Services

ClientJavaScriptCSSXMLHttpRequest Object

Page 23: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

ClientServer

WebService

WebBusiness

Object

SessionManager

Optional ASP Calls

.asp page orHTML page

12Build page using ASP

Page is shown3

Meta data is requested4

Meta Data is delivered

AJAX Request

AJAX Response

5

7 Build Data

Structure

6

8

Request page

Page 24: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

ServerServer

Implemented as Web ServiceExtends the Standard Web Business ObjectsOnly One Web Service Object in an ApplicationWeb Service Passes Calls on to Web Business ObjectsAll calls can be overruled by DeveloperEvents Are Generated for Developer to Augment

Page 25: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

ClientClient

Implemented as set of JavaScript ClassesGoal: Developer should not have to use JavaScriptDon’t need Active Server Pages (.asp)Control VDF Specific Settings through HTML Attributes

Page 26: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Page Load ProcessPage Load Process

· Request page · Delivers page (ASP processing when necessary)

· Request Meta Data from Web Object

· Looks up Web Object; Sends back XML document containing Meta Data

· Stores XML Meta data· Processes All Forms· Attaches Attributes to Input Elements

based on Meta Data

Client Server

Page 27: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Processing a Client RequestProcessing a Client Request

· Performs Client Side Validation· Creates XML Document based on Form

data· Sends Data with Session Key to Server

· Validates Session· Looks up Web Object· Processes Request· Creates XML Document containing

requested data· Processes Request· Updates the Screen

Client Server

Page 28: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

How to build

Page 29: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Create a ‘Workspace’Create a ‘Workspace’

Create a new workspaceAdd the “Visual DataFlex Ajax Library”

Page 30: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Create SessionManagerCreate SessionManager

Handles security and creation of Session Id’sNew Web Object Ajax Library Session ManagerCall it “oSessionManager”

Page 31: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Create Web Service InterfaceCreate Web Service Interface

Accepts Incoming CallsNew Web Object Ajax Library Web Service InterfaceCall it “WebService”

Page 32: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Create Web Browser ObjectCreate Web Browser Object

Functional unitNew Web Object Ajax Library Web Business ObjectAdd Data Dictionary ObjectsTest it

Page 33: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Create FormCreate Form

Handles ‘one-record-at-a-time’ formsNew Web Markup Ajax Library FormCall it “MyTable.asp”Replace “MyTable” with your details

Page 34: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

How to get?How to get?

Download at www.dataaccess.eu/ajaxDownloads Visual DataFlex Ajax LibrarySupport: news.dataaccess.nl Libraries AJAX

Page 35: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Basic WebApp

Page 36: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Basic WebApp DefinitionBasic WebApp Definition

Starting Point for Building Web ApplicationsNo AJAX Required

Page 37: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Basis Web App ComponentsBasis Web App Components

SessionManagerExtended Data Dictionary

Alternative Auto Increment FunctionRegister Created/Modified Data (when fields supplied)

Translation (Multi Lingual Sites)User Rights Table

Page 38: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

Copyright 2007, Data Access WorldwideMay 16 – 18, 2007

Basic WebApp AvailabilityBasic WebApp Availability

Will be made Available to all Conference Attendees

Page 39: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Questions?

Page 40: May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy

May 16 – 18, 2007 Copyright 2007, Data Access WorldwideMay 16 – 18, 2007 Copyright 2007, Data Access Worldwide

Thank you!