WDDX Case Study: Building a Cross CFUG Search April Fleming.

Slides:



Advertisements
Similar presentations
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Advertisements

Database Management Using Microsoft Access Xinhua Chen, Ph.D. Chinese Association of Professionals in Science and Technology March 23, 2003.
1/7 ITApplications XML Module Session 8: Introduction to Programming with XML.
Database management system (DBMS)  a DBMS allows users and other software to store and retrieve data in a structured way  controls the organization,
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
System Design and Memory Limits. Problem  If you were integrating a feed of end of day stock price information (open, high, low, and closing price) for.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
1 Chapter 12 Working With Access 2000 on the Internet.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Tutorial 5 Creating Advanced Queries and Enhancing Table Design
Tutorial 8 Sharing, Integrating and Analyzing Data
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
INTRODUCTION TO WEB DATABASE PROGRAMMING
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
XML, CFMX CFML & SQL XML Kevin Penny, MMCP
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Lecturer: Ghadah Aldehim
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
ACOT Intro/Copyright Succeeding in Business with Microsoft Excel
XSLT for Data Manipulation By: April Fleming. What We Will Cover The What, Why, When, and How of XSLT What tools you will need to get started A sample.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
6 Chapter Databases and Information Management. File Organization Terms and Concepts Bit: Smallest unit of data; binary digit (0,1) Byte: Group of bits.
Class 1Intro to Databases Goals of this class Understand the architecture behind web database applications Gain a basic understanding of what relational.
Electronic Commerce COMP3210 Session 4: Designing, Building and Evaluating e-Commerce Initiatives – Part II Dr. Paul Walcott Department of Computer Science,
Chapter 8 Cookies And Security JavaScript, Third Edition.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Data Storage Choices File or Database ? Binary or Text file ? Variable or fixed record length ? Choice of text file record and field delimiters XML anyone.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Website Development with PHP and MySQL Saving Data.
Microsoft Office 2007 Intermediate© 2008 Pearson Prentice Hall1 PowerPoint Presentation to Accompany GO! With Microsoft ® Office 2007 Intermediate Chapter.
CGI Programming. What is it? CGI –Common Gateway Interface Standard way to pass information back to the Web Server –GET Query String –POST Standard Input.
Advanced PHP & RSS Utilizing XML, RSS, and PHP. XML (eXtensible Markup Language) XML is the language of all RSS feeds and subscriptions XML is basically.
1 © Netskills Quality Internet Training, University of Newcastle HTML Forms © Netskills, Quality Internet Training, University of Newcastle Netskills is.
Access Project 3 Notes. Introduction Maintaining the Database  Modifying the data to keep it up-to-date Restructure the Database  To change the database.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Enhancing Forms with OLE Fields, Hyperlinks, and Subforms – Project 5.
Database Management Systems.  Database management system (DBMS)  Store large collections of data  Organize the data  Becomes a data storage system.
CF101: Welcome to ColdFusion Simon Horwith CTO, Etrilogy Ltd.
1 UNIT 13 The World Wide Web Lecturer: Kholood Baselm.
Access Chapter 5-Table Tricks, Advanced Queries and Custom Forms.
EE296 – Web-based Truth Table Program Jason Axelson Bryant Komo.
Central Arizona Phoenix LTER Center for Environmental Studies Arizona State University Data Query Peter McCartney RDIFS Training Workshop Sevilleta LTER.
Class 1Intro to Databases Goals of this class Understand the architecture behind web database applications Gain a basic understanding of what relational.
10.1Retrieving a Database File – In the last chapter, we have created a database file and several tables for that database. – In order to view and modify.
Presentation on Database management Submitted To: Prof: Rutvi Sarang Submitted By: Dharmishtha A. Baria Roll:No:1(sem-3)
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
Retele de senzori Curs 2 - 1st edition UNIVERSITATEA „ TRANSILVANIA ” DIN BRAŞOV FACULTATEA DE INGINERIE ELECTRICĂ ŞI ŞTIINŢA CALCULATOARELOR.
JSON (Copied from and from Prof Da Silva) Week 12 Web site:
1 UNIT 13 The World Wide Web. Introduction 2 Agenda The World Wide Web Search Engines Video Streaming 3.
1 UNIT 13 The World Wide Web. Introduction 2 The World Wide Web: ▫ Commonly referred to as WWW or the Web. ▫ Is a service on the Internet. It consists.
Edexcel OnCourse Databases Unit 9. Edexcel OnCourse Database Structure Presentation Unit 9Slide 2 What is a Database? Databases are everywhere! Student.
XML Databases Presented By: Pardeep MT15042 Anurag Goel MT15006.
Coding With XML Andrew Schwabe
Fundamental of Database Systems
Exploring Microsoft Word 2000
CF101: Welcome to ColdFusion
Database Systems Unit 16.
Chapter 27 WWW and HTTP.
Lecture 1: Multi-tier Architecture Overview
Presentation transcript:

WDDX Case Study: Building a Cross CFUG Search April Fleming

Introduction “ Real world WDDX (not just a short introduction)” Problem I encountered developing an application How I used WDDX to solve the problem Benefits of using WDDX

Scenario Data stored on 3 separate servers across the country Using CFHTTP to access remote server Remote server built query searching all fields on criteria entered by user. Remote server performs query, outputs the query results with a set of predetermined display fields Local server parses query results, stores each parsed record in a database, to be used and displayed.

Problem Parsing routine had to be written – If remote server output changed the parsing routine would no longer work until it was modified. Required strict communication/cooperation between nodes, not practical – Needed to allow user to search on any given field, using logical operators EX: “FirstName contains ‘A’ and FirstName contains ‘B’ Needed knowledge of data on remote server to avoid rewriting the parsing routine if the remote server changed its structure – Needed to allow user to specify any or all fields to display in search results in any given order. Needed knowledge of data on remote server to give user all possible return fields Local parsing routine needed to be able to parse any possible combination of fields returned by remote server.

Problem - cont’d Storing Search Results – Needed to be able to store any given set of fields in any order Current storage of search records to local table could not accommodate If we stored return fields as text, could not access them as a recordset – Individually inserting records into the database was processor intensive and very slow. – All of the writing and reading from the ACCESS database were causing it to be corrupt.

Solution Enter WDDX….

What is WDDX? WDDX is a tag Markup language written in XML. The markup language describes the data which is being “marked up” Serialization and Deserialization functions written for CFML, ASP, JavaScript,Java, PERL, and Python Facilitates passing objects – Recordsets – Arrays – Structures

<CFWDDX ACTION="" INPUT="" OUTPUT="" TOPLEVELVARIABLE="”> ACTION: CFML2WDDX - Serialize to WDDX Format WDDX2CFML - Deserialize WDDX to CFML CFML2JS - Serialize CFML to Javascript WDDX2JS - Deserialize WDDX to Javascript INPUT - Data to be “Serialized/Deserialized” OUTPUT - Output variable for Serialized/Deserialized Data TOPLEVELVARIABLE - Output variable for Javascript Object WDDX Tag

Terms Serialize - converting data to WDDX format Deserialize - extracting data in native language format Packet - serialized data

WDDX In Action Had the remote server output a WDDX packet describing their data – Does not matter what language they use Used to deserialize their packet Was able to output over the deserialized query to create form for users to choose the fields they want to search Used to serialize a structure containing search criteria. Remote server outputs search results in packets Local server deserializes results packets and manipulates as if queries had been run locally

WDDX In Action - Cont’d

Benefits Parsing routine was already written, performed by WDDX tag Remote server could return any data, WDDX packets are self-describing User could specify any fields since parser could now parse any fields returned. Packets could be written to files, or entire packets could be stored in database requiring less load on the database. Surprisingly fast!

Other Uses for WDDX Syndication – Stocks quotes – News feeds - Greg Witte’s Digital Daily Using JavaScript to allow for multiple user input for a given field – Parent/child relationship – Multiple phone numbers Transferring Data from Browser to Server Wizard interface – Maintain state in an inherently stateless medium

Resources Advanced ColdFusion 4.0 application development (ISBN ) Advanced ColdFusion development XML journal (