• Save
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Best Practices
Upcoming SlideShare
Loading in...5
×
 

Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Best Practices

on

  • 5,443 views

Jerry Silver's presentation from the Web Content Chicago 2009 conference. This session is targeted at Web development professionals who are looking for a better way to architect their sites, ...

Jerry Silver's presentation from the Web Content Chicago 2009 conference. This session is targeted at Web development professionals who are looking for a better way to architect their sites, leveraging the latest standards to lower risk, reduce development and maintenance costs, and bring their sites to production faster. For further information and to download the slides, please visit https://community.emc.com/docs/DOC-4109.

Statistics

Views

Total Views
5,443
Views on SlideShare
5,198
Embed Views
245

Actions

Likes
1
Downloads
0
Comments
0

9 Embeds 245

http://predicate-llc.com 162
http://www.webcontentconferences.com 51
http://www.slideshare.net 10
http://wikid.netapp.com 10
http://www.linkedin.com 5
https://community.emc.com 3
http://www.predicate-llc.com 2
http://209.85.229.132 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Best Practices Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Best Practices Presentation Transcript

  • Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Best Practices Web Content Chicago 2009 Jerry Silver Lead Product Marketing Manager EMC Documentum
  • Traditional Content Delivery Challenges
    • Generic content pushed to all end users—lacks personal relevance
    • Difficult for users to find information—affects productivity and customer satisfaction
    • May drive customers away or limit up-sell/cross-sell
    • Content can grow stale, which can lead to compliance and liability concerns
    File System
  • Dynamic Content Delivery Challenges
    • Content often modeled as XML but stored on file system or extracted from RDBMS
    • Model mismatch adds cost and complexity
    • Difficult to scale:
      • Relational database and file systems are inefficient at serving high volumes of XML content
    • Difficult to build:
      • Proprietary programming models
      • Complex procedural logic
    • Difficult to integrate:
      • Challenging to import and aggregate content from multiple sources
    • Difficult to use:
      • Static forms and Web user interfaces are difficult to interact with
      • Limited choices for users (see “difficult to build”)
    File System/ RDBMS
  • Large High Tech Manufacturer
    • Challenges
      • Web publishing silos
      • Home grown delivery system hard to support, hard to publish, slow performance
      • Information hard to find/navigate
    • Solution
      • Standards-based dynamic delivery application: XQuery, XProc, XSL, SOA
      • Provides context sensitive delivery of information tailored to the needs of their various constituents (partners, customers)
    • Results
      • Reduce number of pages by 80%
        • Direct saving in operating costs
        • More consistency and quality in the information
        • Better customer experience
        • Better information governance
      • Better performance and scalability
      • Faster development, easier maintenance
    CASE STUDY
  • XML Standards Based Dynamic Delivery
    • Scalable:
      • Native XML architecture ensures high performance
    • Dynamic:
      • Enables real time generation and delivery of dynamic content to thousands of end users across multiple channels
    • Easy to build:
      • Declarative tools, based on XML standards, simplify application development
    • Easy to integrate:
      • Aggregate content from multiple sources
    • Easy to use:
      • Interactive search forms and flexible queries promote usability
  • Dynamic Content Assembly Components < Service Task> < Task Description > Engine Replacement < / Task Description > < Task> To remove the faulty engine from the vehicle first remove fixing bolts from main assembly and disconnect blue cable...and lift the engine out of the casing. < / Task > < Warning > Ensure that all electrical power is turned off before starting< / Warning > < / Service Task > XML Repository Dynamic Delivery Application Response
  • Key Technologies and Standards
    • Native XML Databases
    • XQuery: for searching collections of XML content and composing new content
    • XQuery: for complex database updates
    • XSL-T: for transforming content (e.g. html output)
    • XSL-FO: for document oriented PDF rendering
    • XForms: for client side user interfaces
    • XProc: primary server processing language
    • S1000D Process Data Module
  • What Is A Native XML Database?
    • XML documents as fundamental unit of storage
    • Based on XML logical model
      • Elements, attributes, PCDATA, and document order
      • Typical models: XPath, Infoset, DOM
    • Use XQuery/XPath as the query language
    • Typically provide a path-like collection model e.g. folders, libraries
  • Why an XML Database? Maintains document fidelity Loses document fidelity Easy to change schema Difficult to change schema Minimizes redundancy, decreases storage costs Redundant data increases storage costs Suitable for any content – structured or unstructured Unsuitable for unstructured content Excellent performance on hierarchical data Poor performance for hierarchical data Load and immediately query any XML content Extensive up-front design effort XML Database RDBMS
  • XQuery
    • Designed to query collections of XML data
      • Works on files
      • Works best with an XML database
    • Combines XPath with SQL-Like Operators (FLWOR)
    • World Wide Web Consortium (W3C) Recommendation
    • Full-Text and Update extensions
    F or <a variable declaration> L et <the variable = a value> W here <filtering conditions> O rder by R eturn <results>
  • Dynamic Data Models Catalog
    • Content is loaded in XML database
      • No need to configure a database schema
      • Schemas are automatically loaded as well
    • New content refers to a changed schema
      • Changed content is loaded just like any other document
    • XQueries are unchanged and execute over mixed content models
  • XQuery Example Constructor XPath expression
  • XProc
    • XProc: XML Pipeline Language
      • http://www.w3.org/TR/xproc/
    • Language for describing operations to be performed on XML documents
      • XProc itself is an XML dialect
    • Benefits
      • Declarative
      • Streamlines development of XML-enabled applications
      • Flexibility
    Step 4 Deliver to user via PDF, HTML, Mobile Step 3 Create Table of Contents and indexes Step 2 Filter out results Step 1 Issue search via XQuery
  • XProc pipeline
    • Steps (can) have
      • Input ports
      • Output ports
      • Options
      • Parameter input ports
    • Atomic vs. compound steps
    • Standard atomic step library
      • xslt, xquery, http-request, xinclude, …
    • Custom steps
      • Custom compound steps
      • Step libraries
    XQuery Source XML document Result XML document XSLT source stylesheet source source stylesheet XSLT stylesheet
  • Demonstration: Visual Programming with XProc Watch for free download of XProc Designer mid-July 2009 on Developer.EMC.com/XMLTech
  • XForms
    • General purpose language for building user interfaces for interacting with XML data
      • Not just “forms”
    • Model-View-Controller Architecture
      • Separate logic from data and presentation
      • Enables dynamic forms that adapt to users’ personalized needs and format
      • Minimizes coding/maintenance effort
    User Interface XHTML SVG WML Proprietary Instance Data XForms Model
  • XForms Example
  • Dynamic Form Generation Application Server (XProc) User Profile XML Instance Personalized Form XQuery XQuery Update
  • Process Data Module
    • A specification for interactive processing structures
      • Non-Linear Procedures
      • Surveys
      • Conditional processing
      • Collecting information
      • User interaction
      • Maintaining State information
      •  Input : XML instance
      •  Output : Application
    • Part of the S1000D Specification, but applicable to other document types
  • S1000D Process Data Module Data Modules Repository Process Data Module dm-if dm-node (refdm) dm-node (dialog) dm-node-alt dm-node (step1) dm-node (step1) dm-node (step1) DM DM DM DM DM DM
  • Process Data Module Execution Data Modules Repository Process Data Module dm-if dm-node (refdm) dm-node (dialog) dm-node-alt dm-node (step1) dm-node (step1) dm-node (step1) DM DM DM DM DM DM Logic Engine / User Interface OK Cancel Tire pressure (PSI) 45 Bicycle checkout
  • Example Application Data Module Step Data Module Step Data Module Step Step Content
    • Lubricate the bicycle
    • Make sure the chain is clean and dry
    • Apply the lubricant to each roller of the chain
    Previous Next Previous Next
    • Do a check of the tire pressure with the Tire pressure gauge .
    • Compare the value you read with the
    OK Cancel Tire pressure (PSI) 45 Bicycle checkout Audio player OK Cancel
  • Standards – Current Status
    • XQuery
      • W3C Recommendation: January 2007
      • XQuery Update: W3C Candidate Recommendation
      • XQuery and XPath Full Text: W3C Candidate Recommendation
    • XProc
      • W3C Candidate Recommendation
    • XForms
      • Version 1.0: W3C Recommendation October 2003
      • Version 1.1: W3C Candidate Recommendation
    • XSLT
      • Version 2.0: W3C Recommendation January 2007
    • XSL-FO
      • Version 1.1: W3C Recommendation December 2006
    • S1000D
      • Issue 4.x: March 2009
  • A Travel Example XML Database Hotel x Hotel y Trail A Attraction 1 Review A Attraction 2 Attraction 3 Review B Review C International travel guides XQuery: “ Select all content for my trip” Select country, region, hotel standard, and cultural interests Trail A Attraction 1 Review A Attraction 3 Effectivity: Short description Target delivery device is a PDA, so filter short-form description Trail A Attraction 1 Review A Attraction 3 Transform Format content to fit constraints of PDA screen Trail A Attraction 1 Review A Attraction 3 Trail A Attraction 1 Review A Attraction 3
  • User Supplied Information: Example XML fragment <rating> <page>index.html</page> <rate>3</rate> </rating> Rate this page Response Average Rating 2.56 Response Service Only for registered users Response Filter Store Calculate average Post-processor
  • British Medical Journal
    • Challenges
      • Reduce costs of generating, managing and updating publications
      • Provide more relevant content to customers
    • Solution
      • XML content management
      • Content fragments reused across publications
      • Content served dynamically to users based upon profiles and preferences
    • Results
      • Reduced time to generate new content
      • 50% reduction in time taken to generate publications
      • Doctors have more relevant content to aid medical decisions
      • New revenues for publisher
    CASE STUDY
  • Eliminate the Model Mismatch
    • XML-based infrastructure to process XML content
    • Minimize cost, complexity, and effort: XML in, XML out
    • Improves interoperability and minimizes learning curve
    • Reduces dependency on proprietary tools
    Visit developer.emc.com/xmltech for more information on these and other XML standards