XML-powered Exhibit: A Case Study of JSON & XML Coexistence

Slides:



Advertisements
Similar presentations
Improving Human-Semantic Web Interaction: The Rhizomer Experience Roberto García and Rosa Gil GRIHO - Human Computer Interaction Research Group Universitat.
Advertisements

XForms for Metadata Creation Winona Salesky University of Vermont Michael Park Brown University.
DCMI Workshop on Metadata and Search Vendor Panel Presentation Bradley P. Allen
Requirements. UC&R: Phase Compliance model –RIF must define a compliance model that will identify required/optional features Default.
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
A centre of expertise in digital information management Approaches To The Validation Of Dublin Core Metadata Embedded In (X)HTML Documents Background The.
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
1 Actuate Corporation © 2010 THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE.
Can schemas help SVG interwork with other markup vocabularies? MURATA Makoto (FAMILY Given) International University of Japan XHTML XForms SVG XML Events.
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.
M. Honkala, A. Vainio XForms & SVG MITA Seminar, HUT SVG Introduction Features Benefits Simple Example Standardization Mobile Environment Current.
LBSC 670 Information Organization. Today The web and automated information services Data, Ontologies and Web-services Protégé work time.
XHTML, XForms, XML Events & Device Independence Based on W3C Specs as of April 2002 Marc Abrams
Web Applications Development Using Coldbox Platform Eddie Johnston.
With jQuery and AJAX Doncho Minkov Telerik Corporation Technical Trainer.
Fabian Vilers Hands on ASP.NET MVC.
A division of Publishing Technology Facet Building Web Pages With SPARQL SWIG-UK Event, HP Labs November 23 rd 2007 Leigh Dodds Chief Technology Officer,
XML Prashant Karmarkar Brendan Nolan Alexander Roda.
W3C Activities HTML: is the lingua franca for publishing on the Web XHTML: an XML application with a clean migration path from HTML 4.01 CSS: Style sheets.
UNIT-V The MVC architecture and Struts Framework.
Introduction to AJAX AJAX Keywords: JavaScript and XML
Crystal Hoyer Program Manager IIS Team Preview of features that will be announced at MIX09 Please do not blog, take pictures or video of session.
XForms: A case study Rajiv Shivane & Pavitar Singh.
Introduction to ArcGIS API for JavaScript
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
W3C XForms Interactive Web Services; Powerful Client-side Interfaces Micah Dubinko Dave Navarro David Cleary.
Oracle Application Express 4.0. © 2009 Oracle Corporation The following is intended to outline our general product direction. It is intended for information.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
Web Services for Satellite Emulation Development Kathy J. LiszkaAllen P. Holtz The University of AkronNASA Glenn Research Center.
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade.
Introduction to Web Dimitar Nenchev Ivan Nakov
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
UFCEUS-20-2 Web Programming Lecture 1 Module Introduction & Outline.
Tuukka Haapaniemi XForms – What’s the need? HTML forms Very outdated Hard to develop and to maintain Requires lot of work To create basic.
Introduction to W3C XForms The Future of Web Forms Micah Dubinko.
Department of computer science and engineering Two Layer Mapping from Database to RDF Martin Švihla Research Group Webing Department.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Google Data Protocol Guy Mark Lifshitz. Motivation Google’s Mission: – Organize the world’s information – Make information universally accessible – Provide.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
XFormsDB An XForms - Based Framework for Simplifying Web Application Development Markku Laine Master’s Thesis Presentation March 9, 2010.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
1 Välkommen till Sommarkollo Windows Presentation Foundation Per Östman ISV Developer Evangelist
ZK AJAX FRAMEWORK  R.RAJESH. What is ZK?  ZK is an open-source Ajax Web application framework, written in Java that enables creation of rich graphical.
Web Standards 99.9% of Website are still obsolete Designing & building with standards The trouble with standards Findability, Syndication, Blogs, Podcasts,
NSDL STEM Exchange: Technical Overview and Implications for Active Dissemination of Federally Funded Resources Across Implementation Systems.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
1 Semantic Web Technologies for UK HE and FE Institutions: Part 1: Background to the Development of the Web Brian Kelly UK Web Focus UKOLN
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
Ajax & Client-side Dynamic Web Gunwoo Park (Undergraduate)
ANGULAR 2. JavaScript is a high-level, dynamic, untyped, and interpreted programming language. JavaScript was originally developed in May 1995 by Brendan.
GRDDL: A Pictorial Approach Chimezie Ogbuji Cleveland Clinic Foundation.
Introducing the Microsoft® .NET Framework
XML: Extensible Markup Language
XML Related Technologies
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
AJAX.
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
WPF AKEEL AHMED.
.NET and .NET Core 7. XAML Pan Wuming 2017.
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
Modern web applications
COP 3813 Intro to Internet Computing
JavaServer Faces: The Fundamentals
Modern web applications
WCF Data Services and Silverlight
Presentation transcript:

XML-powered Exhibit: A Case Study of JSON & XML Coexistence Chimezie Ogbuji (chee-meh) ogbujic@ccf.org / chimezie@gmail.com (Cleveland Clinic Foundation) http://metacognition.info/Publications/xml_exhibit

Background and Motivation Longitudinal patient data in a Content Management System (CMS) XForms 1.1 (formsPlayer) met our dynamic data entry needs Needed a light framework for read-only browsing of patient data Built a prototype in 30 minutes

XML / JSON: A Percieved Divide Syntactic expressiveness Datatyping (strong typing) Formal querying language Javascript Object Notation (JSON) Simple (less verbose) Pervasive support Low-cost native implementation

XML on the Web: The Vision Rich Web Application Backplane (RWAB) XML data model / binding mechanism Comprehensive submission mechanism Event-based interaction Independent set of controls / widgets Declarative approach (XForms) Imperative approach (AJAX)

Developing an Exhibit Page Describe your JSON 'schema' Select your widgets / lenses Tabular lens Tile-based lens Timeline lens Map lens Embed the widgets within vanilla HTML Point the document at a data source

Key (Architectural) Divergence RWAB is a revolutionary approach to enabling R/W web applications Exhibit is an evolutionary approach to enabling read-only web applications A roadmap for a future HTML specification must consider the former The latter is a quick, well-engineered hack for the interim

Is there an overlap? Model View Control approach to UI

Using the Overlap to Our Advantage With XML at the start: built-in future-proofing (Functional) XML pipelines can be built once for all instances of a schema

Atom as a Usecase Well-designed Rich set of metadata (facets) Simple Supports a popular niche: content syndication Has an associated publishing protocol: Atom Publishing Protocol (APP) Promise of massive deployment (consider GData)

Sample Atom Entry Excerpt from Norm Walsh's Atom feed

Mapping from Atom to JSON Capture most if not all of the Atom metadata XSLT is perfect for this First, we need a convention Turtle has syntactic sugar similar to JSON Start with an existing Atom-to-Turtle pipleline as the basis

A JSON Convention Non-repeating properties are flat key/value pairs atom:updated, atom:published, atom:title, etc.. Properties that repeat are modelled as homogeneous lists atom:category and dc:subject

Atom in, JSON out The same Atom entry as JSON

Exhibit Schema for Atom / JSON Exhibit allows authors to supply a schema for the data source Gives Exhibit cues on how to render certain properties (timeline view) Similar to how XForms allows XSD datatypes to determine an appropriate widget

An Exhibit Schema

The Transform xsl:stylesheet/xsl:output/@method='text' xsl:stylesheet/xsl:output/@media- type='application/json' A hard-coded JSON schema Inlined with the data source An atom:entry template

The Exhibit UI Template /html/head/link[@href ='.. JSON source ..' and @rel='exhibit/data'] exhibit-browse-panel (faceted browsing) exhibit-control-panel exhibit-view-panel *[@ex:role='exhibit-view' and ..] table[@ex:role='exhibit-lens']

Screenshot

Putting it Together: Planet Atom http://planetatom.net/exhibit http://svn.platom.python-hosted.com /trunk/media/templates/atom2json.xsl http://planetatom.net/output/index.js .. in addition .. http://planetatom.net/output/index.rdf (AtomOWL) http://planetatom.net/output/index.xhtml (XHTML+RDFa+GRDDL)

Final Thoughts Very simple to put together Clean MVC separation Pluggable on XML systems via pipelining Cross-platform support Technological camp warefare does a diservice to innovation: XHTML vs HTML, XML vs RDF, XML vs JSON, etc..