Monitoring the acquisition process by web widgets Leonardo Tininini and Antonino Virgillito ISTAT Meeting on the Management of Statistical Information.

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
PHP I.
Configuration management
Configuration management
Database Architectures and the Web
The State of the Art in Distributed Query Processing by Donald Kossmann Presented by Chris Gianfrancesco.
Web Server Programming
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Extensible Scalable Monitoring for Clusters of Computers Eric Anderson U.C. Berkeley Summer 1997 NOW Retreat.
Application architectures
Multiple Tiers in Action
Apache Tomcat Server Typical html Request/Response cycle
Web-Enabling the Warehouse Chapter 16. Benefits of Web-Enabling a Data Warehouse Better-informed decision making Lower costs of deployment and management.
Application architectures
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
ADLB Update Recent and Current Adventures with the Asynchronous Dynamic Load Balancing Library Rusty Lusk Mathematics and Computer Science Division Argonne.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Geneva, 30 October 2009 Giuseppe Sindoni, Istat, Italy An online system for multi-channel, register-based census data collection.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
The Web-based Data Collection in the Italian Population and Housing Census Leonardo Tininini and Antonino Virgillito ISTAT Meeting on the Management of.
SharePoint Enterprise Aggregation Caching Feature Product Overview Nimrod Geva Product Group Manager, KWizCom
JavaScript is a client-side scripting language. Programs run in the web browser on the client's computer. (PHP, in contrast, is a server-side scripting.
Presenting Statistical Data Using XML Office for National Statistics, United Kingdom Rob Hawkins, Application Development.
An Integration Framework for Sensor Networks and Data Stream Management Systems.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Prime Esperienze di Utilizzo di R all’Interno dell’Istat The Web-Based Information System of Italian Population Census Maura Giacummo Leonardo Tininini.
1 3. Computing System Fundamentals 3.1 Language Translators.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
DemocracyApps, Inc. Community Budget Explorer A Technical Overview.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
ASP.NET Caching - Pradeepa Chandramohan. What is Caching? Storing data in memory for quick access. In Web Application environment, data that is cached.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
Computing System Fundamentals 3.1 Language Translators.
(c) Lindsay Bradford1 Varying Resource Consumption to achieve Scalable Web Services Lindsay Bradford Centre for Information Technology Innovation.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Session id: Darrell Hilliard Senior Delivery Manager Oracle University Oracle Corporation.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
WWW and HTTP King Fahd University of Petroleum & Minerals
UI-Performance Optimization by Identifying its Bottlenecks
Database Driven Websites
Introduction to Apache
JavaScript.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
SOFTWARE DEVELOPMENT LIFE CYCLE
Web Application Development Using PHP
SDMX IT Tools SDMX Registry
Presentation transcript:

Monitoring the acquisition process by web widgets Leonardo Tininini and Antonino Virgillito ISTAT Meeting on the Management of Statistical Information Systems (MSIS 2011) Luxembourg, May 2011

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Outline Motivations The web widgets –The "General picture" widget –The "Regional thematic map" widget –The "Latest news histogram" widget Enhancing performances by materializing data The widgets' software architecture

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Motivations The web is increasingly becoming a fundamental means for supporting several phases of the statistical data life cycle, particularly data acquisition and dissemination, however... little interest has been devoted so far to use the web for publicly monitoring the acquisition process Objectives: –providing, as far as possible, fresh data –do not disturb... (the acquisition process itself) –make the components “embeddable” in any web page

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Web widgets A widget is a small web component that can be freely “embedded” into any web page (e.g. a blog), without requiring specific technical knowledge Widgets can be composed and organized in personalized dashboards according to the user's specific needs and preferences The widgets described here display some key data about the 2010 Italian Agriculture Census acquisition process

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The “General picture” widget Shows the numeric values of 5 main aggregates: –the number of operators –the number of interviews completed by operators and recorded in the Census Management System –the number of questionnaires (fully) compiled by enterprises by using the web –the number of questionnaires returned (compiled) by operators by the web –the number of questionnaires under compilation (i.e. only partially compiled) on the web by enterprises. Accepts an additional parameter to select the territory of interest (Italy / a specific region) Refreshed every minute

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The “General picture” widget (snapshot)

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The “Regional thematic map” widget Same 5 aggregates as those in the “General picture” widget, each selectable by its own tab Aggregates are represented on the map of Italy using classes of values Exact aggregate values, along with names, can be obtained by rolling over the region on the map Each region's color is faded in proportion to the value of the specific aggregate for that region The maps are built using the freely-available Google Interactive Chart Tools API (specifically, the Geo Map component)

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The “Regional thematic map” widget (snapshot)

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The "Latest news histogram" widget Shows the time distribution of the questionnaires compiled over the last 24 hours Both enterprises and operators –the fraction corresponding to enterprises is depicted in darker green –the one corresponding to operators in lighter green Details can be obtained by rolling over some sections of the widget –the roll-over on each bar displays the details of the two component values (enterprises vs. operators) –the roll-over on the two legend items displays two different histograms, corresponding to questionnaires compiled only by enterprises or operators, respectively

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The "Latest news histogram" widget (snapshot)

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS How to show the enterprise-only histogram

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Enhancing performances by materializing data Data displayed by widgets are expensive to be computed (counts on several hundreds of thousands of records) Unpredictable number of users (due to free embedding) Potential performance degradation for both: –the operators and enterprises working on the Census Management and Acquisition System and –the widget users This potential degradation has been avoided by adapting two techniques, commonly known as view materialization and query rewriting, widely used in data warehousing environments –Displayed data are obtained by using (and possibly further processing) a few pre-computed data, instead of aggregating data from scratch

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Materialized views and query rewriting

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The widgets' software architecture Single Java web application, directly accessing the Census database High scalability: minimum (and bounded) overhead on the database against unpredictable request traffic Decoupling the access to the widgets made by the user from the access to the database (with aggregation) made by the widgets –One component (Update Job) computes the aggregates (storing them into the application memory) and is scheduled to automatically run every minute –The front-end component (widget in stricter terms) displays the aggregates stored in the application memory

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS High-level architecture of the web application

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS The widget embedding process Each widget is implemented as a separate JSP page The embedding starts form a single row of predefined HTML code that has to be included in the page (Embedding code) the code produces a call to a JavaScript fragment (Embedding script) that is stored on the server and is downloaded and executed on the client browser The execution of the Embedding script creates a frame within which the JSP page rendering the widget is actually loaded Through this technique, the widgets can be incorporated into virtually any web site or blog regardless of the underlying technology and without any programming knowledge

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Conclusion and future works The proposed design can be considered as a general pattern for the acquisition process web monitoring: –easily embeddable “lightweight” components –high level of scalability, by... –decoupling the acquisition data from the monitoring data provided to users –price to pay: “freshness” of the information provided Next (more severe) testbed: monitoring the acquisition process of the Population Census –one/two order(s) of magnitude larger –the trade-off between freshness and overload will be much harder to achieve

Tininini and Virgillito - Monitoring the acquisition process by web widgets - MSIS Questions?