5/5/2005Toni Räikkönen Internet based data collection from enterprises using XML questionnaires and XCola engine CoRD Meeting May 11th 2005.

Slides:



Advertisements
Similar presentations
SharePoint Forms All you ever wanted to know about forms but were afraid to ask.
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
COMBASE: strategic content management system Soft Format, 2006.
XML 6.7 XForms 6. Motivation HTML forms deliver the interactive WWW Forms are what make electronic transactions possible HTML forms are long overdue for.
Alternate Software Development Methodologies
Previous Lectures: Planning of a Web site: Discussing the strategic issues of Web site engineering process –Models used for Web site planning –Compare.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Server-Side vs. Client-Side Scripting Languages
Oct 31, 2000Database Management -- Fall R. Larson Database Management: Introduction to Terms and Concepts University of California, Berkeley School.
Design of Web-based Systems IS Development: lecture 10.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
XML Prashant Karmarkar Brendan Nolan Alexander Roda.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Active Server Pages Chapter 1. Introduction Understand how browsers and servers interacted when the Web was young Understand what early Internet and intranet.
Interpret Application Specifications
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
UWWD In our quest to eliminate bad websites, we present…. HALLELUJAH!!
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
UNIT-V The MVC architecture and Struts Framework.
ASP.NET AJAX. Content ASP.NET AJAX Ajax Control Toolkit Muzaffer DOĞAN - Anadolu University2.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 CS 3870/CS 5870 Static and Dynamic Web Pages ASP.NET and IIS.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
WorkPlace Pro Utilities.
Geneva, 30 October 2009 Giuseppe Sindoni, Istat, Italy An online system for multi-channel, register-based census data collection.
XForms: A case study Rajiv Shivane & Pavitar Singh.
Dr. Azeddine Chikh IS444: Modern tools for applications development.
Server-side Scripting Powering the webs favourite services.
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
Toni Räikkönen Data Collection in Statistics Finland now and in the Future.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
Presentation Topic: XML and ASP Presented by Yanzhi Zhang.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
The Experiences of Web Based Data Collection from Enterprises in Finland August 9th 2006, JSM Seattle USA.
HTML Basics BCIS 3680 Enterprise Programming. Web Client/Server Architecture 2  Your browser (the client) requests a Web page from a remote computer.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Tuukka Haapaniemi XForms – What’s the need? HTML forms Very outdated Hard to develop and to maintain Requires lot of work To create basic.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
Using the Right Method to Collect Information IW233 Amanda Murphy.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
MSI Information using XML, XSLT, & CVS Kakapo Meeting August 28, 2003.
The Module Road Map Assignment 1 Road Map We will look at… Internet / World Wide Web Aspects of their operation The role of clients and servers ASPX.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
XFormsDB An XForms - Based Framework for Simplifying Web Application Development Markku Laine Master’s Thesis Presentation March 9, 2010.
Introduction and Principles Web Server Scripting.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
ASP.NET MVC An Introduction. What is MVC The Model-View-Controller (MVC) is an architectural pattern separates an application into three main components:
MSc Publishing on the Web Week 4 Image Maps. Aims and Objectives Discover what are image maps To understand the different types of image map To understand.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
GeneXus 9.0: Web applications at their higher power
Lecture 1: Multi-tier Architecture Overview
Analysis models and design models
Web Application Development Using PHP
Presentation transcript:

5/5/2005Toni Räikkönen Internet based data collection from enterprises using XML questionnaires and XCola engine CoRD Meeting May 11th 2005

5/5/ Background Many web based data collection systems developed in Statistics Finland since 2000 Developed using traditional web development methods like ASP, ASP.NET, COM+ etc. The collection systems are usually quite user friendly consisting of large amount of interaction with the respondent Automated fills, validations, feedback etc.

5/5/ Background (cont.) The development process usually includes a lot of customization and tailoring for a certain survey The results have typically been “unique” systems No automation in development Requires hard and usually more or less the same work time after time Separate maintenance cycle for each system Not very modern way of producing applications

5/5/ Questions How to improve the development of web collection systems? Frameworks? Generic applications? Off-the-shelf applications? What is the role of XML? etc.

5/5/ How it all started? A quick ‘n’ dirty prototype at the end of 2003 Used XML4DR to represent a static customized web form The outcome was quite nice but lacked the dynamics we required for the web surveys Questions Could we extent the use of XML, especially the XML4DR? Define the customization routines in XML? What sort of application would we need to execute all this?

5/5/ Early findings The suitability of pure XML4DR was not adequate enough We required quite a lot dynamic functionality XML4DR did not support this XForms does But is difficult to execute on the server side We later learnt about open source project Chiba (

5/5/ What is XCola? XML based collection application A generic application for web surveys Typically for surveys aimed to enterprises Meaning, the surveys conform to each other are developed using modern techniques and technologies can be developed “easily”

5/5/ …and technically? An engine that reads XML questionnaires as input files and outputs them as XHTML web forms Typically does a lot of processing for the questionnaires between the input and output phases Enabling the dynamics for the surveys

5/5/ Requirements A generic application The questionnaires purely in XML No programming, no scripting Declarative Must support customization Server side implementation Must support at least all the functionality of the older collection systems

5/5/ Requirements (cont.) Requirements for the XML format Support for all the typical question types Open questions, multiline questions, multiple choices, drop down lists etc. Support for open structures Adding / removing rows or columns Should be unaware of the presentation logic No styles, no JavaScript what so ever

5/5/ Requirements (cont.) The questionnaires could be stored in XML or in relational databases Because of our existing infrastructure we decided to store the questionnaires into databases The database structure must be generic All the questionnaires will be stored in the same format The data should be easily mapped back into the XML questionnaires

5/5/ XML questionnaire We chose the XML4DR as the base format However as it doesn’t support the required dynamics we modified it quite a bit Generalized the format to support all the imaginary questionnaire types Added some extra functionality taken from XForms Introduced customization routines Implemented these with processing instructions and XML templates

5/5/ The XCola engine Represents an instance of a web survey Processes the questionnaires and transforms them into web applications Reads and writes the contents of the XML questionnaire from/to the generic database structure Supports client and server side validations Makes use of the authentication and authorization framework

5/5/ Preprocessors The XML questionnaire contains processing instructions for the XCola engine. And sometimes also XML templates to support the PIs The engine reads these instructions and customizes the document accordingly The preprocessors are implemented using chain of responsibility design pattern. The processors are executed in a chain one at a time until all instructions are processed

5/5/ Preprocessors (cont.) So far the engine supports preprocessing for Visibility settings Pre-Filling Row fetching Dynamic Domain (column) generation Dynamic Data (cell) generation Dynamic Calculation formula generation

5/5/ Post processors Post processing takes place when the user submits the web form The types of post processors Update the XML document from the web form contents Update the XPath references Server side validation Update the dynamic structures in the XML document (e.g. adding / removing rows) Saving XML document contents into the database

5/5/ Transformation into a web form The XML questionnaire is transformed into ASP.NET web form using XSLT ASP.NET controls are used for input controls Validation controls are used for client side validation User interface related things are brought in using CSS JavaScript libraries are connected into the web page during the transformation

5/5/ Pros One application, no maintenance hell No programming required for the questionnaire Supports all the basic functionality of the web survey Works well on the enterprise surveys Typically not suitable for interview based surveys Customizable; use just the features needed in the survey Supports linking of external components in case some custom functionality is required

5/5/ Cons Generic solution can not implement any survey dependent functionality Everything must be generic Seems to fit badly into very hierarchical surveys (with more than two levels) Some parts of the XML questionnaire are not so trivial Especially constraints defined in XPath statements can be really hard to understand

5/5/ Current situation Couple of in-house test surveys during fall 2004 No major problems In production since January 2005 Currently running six different surveys The smallest with just 200+ respondents And the largest with over respondents! There will probably be 4-5 new surveys during this year Seems to be the perfect solution for Statistics Finland!

5/5/ The future Probably some minor development Some new features Scalability investigations etc. Polish the tools that are needed to administer XCola surveys

5/5/ XCola in a nutshell Think about XForms: Most of the typical things you can do with XForms you can do with XCola Although our solution isn’t so declarative and requires the power of the engine Executed on the server side Works on every modern browser Extremely simple Easy to implement the questionnaires just in hours