XRX

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Contents

[edit] Web Development with XRX

XRX or XForms/REST/XQuery is a simple and elegant web application architecture that leverages modern declarative and functional programming systems. XRX allows the developer to create rich-client web applications that perform complex functions without the need for middle-tier objects, relational databases or client-side JavaScript.

XRX is based on three standards:

  1. XForms on the client
  2. REST interfaces
  3. XQuery on the server

These three standards have been created by the W3C standards organization and represent their vision of the future of web application development. For discussions on alternate defintions of the XRX web application architecture see What is XRX.

This wikibook is intended as an example that specifically uses all three of these technologies to create small applications that work together.

[edit] Related Wikibooks

There are two sibling Wikibooks that this Wikibook is designed to complement.

The XForms Tutorial and Cookbook Wikibook has over 90 sample XForms application to help you become familiar with the XForms model and XForms controls. Although XForms has only 21 elements they can be combined in many different ways to build very complex web clients.

The XQuery Wikibook is focused on using the XQuery language with almost all of the sample programs using the eXist native XML database.

The XForms Wikibook has minimal dependencies on what server you are using to host your web forms. Almost all of the XQuery Wikibook does not assume any prior knowledge of XForms. This book on the other hand assumes you will be using both XForms and XQuery to create a complete web application development environment.

[edit] New Subversion Repository

Many of the example programs in this cookbook are now being stored in a Subversion repository on GoogleCode. The URL for the XRX GoogleCode is here:

http://code.google.com/p/xrx

If you are using an IDE with a Subversion client such as Eclipse or oXygen the URL for the repository is:

https://xrx.googlecode.com/svn/trunk

If you would like a read-only copy you can use the non-SSL URL

http://xrx.googlecode.com/svn/trunk

[edit] Table of Contents

(There is no 'next' button! Keep this Table of Contents open)

  1. Introduction - an overview of the goals of this Wikibook and the intended audience Development stage: 25% (as of May 10th, 2008)
  2. Benefits of XRX - an analysis of the technical benefits of the XRX web application architecture Development stage: 25% (as of May 10th, 2008)
  3. XRX Application Server - how XRX has allowed the XQuery language to move from a database language to an application language Development stage: 25% (as of May 10th, 2008)
  4. Building your First XRX Application - some suggestions on how to get started building your first XRX application Development stage: 75% (as of Oct 13th, 2008)
  5. Background Technologies - a summary of the background technologies you will use to build XRX applications Development stage: 75% (as of Oct 13th, 2008)
  6. Sample Applications
    1. Configuration File Editor - a simple file, single user XML configuration file editor using XForms and eXist Development stage: 75% (as of July 9th, 2008)
    2. Dictionary Editor - a simple round-trip create/update edit using XForms and eXist Development stage: 50% (as of April 2nd, 2008)
    3. Regular Expression Builder - a demonstration of using regular expressions in XQuery Development stage: 75% (as of March 8th, 2008)
    4. Autoincrement File ID - save an instance from a form into a collection and have the id automatically created by the server Development stage: 25% (as of March 8th, 2008)
    5. Move a Resource - simple resource move utility Development stage: 25% (as of March 8th, 2008)
    6. Save File Dialog - saving a file to a collection similar to a save dialog panel Development stage: 25% (as of March 8th, 2008)
    7. Login and Session Management - a login panel and methods of authenticating users Development stage: 25% (as of March 8th, 2008)
    8. File Locking - strategies to prevent multiple users from overwriting each others updatesDevelopment stage: 00% (as of April 10th, 2008)
    9. Selection List Generator - a tool to generate selection lists from code tables Development stage: 25% (as of March 25th, 2009)
    10. Glossary Term Editor - a tool to manage specialized business vocabularies Development stage: 25% (as of May 10th, 2008)
    11. FAQ Manager - a tool to manage frequently asked questions Development stage: 25% (as of Sept 22th, 2008)
    12. Detecting Duplicates - checking for duplicates as you type Development stage: 25% (as of May 10th, 2008)
    13. Data Element Editor - a tool to manage ISO/IEC 11179 data elements Development stage: 25% (as of May 10th, 2008)
    14. Selection List Management - tools to manage selection list codes in your XForms Development stage: 25% (as of May 10th, 2008)
    15. Customizing Selection Lists - customize the selection list based on role or other session variable Development stage: 25% (as of May 10th, 2008)
    16. Table Sorting - customization of table sort order Development stage: 25% (as of March 18th, 2009)
    17. NIEM Services - tools to create NIEM web services Development stage: 25% (as of Nov 21th, 2008)
    18. Product Ratings - allows users to assign a rating of one to five stars to an item in a collection Development stage: 25% (as of March 8th, 2008)
    19. Business Rules Template - a sample of a simple business rules template Development stage: 25% (as of May 10th, 2008)
    20. Metadata Shopper - a shopping cart tool for your metadata elements Development stage: 25% (as of Oct 31st, 2008)
    21. Subset Generator - a program that generates a subset of a metadata registry that is imported into an XML Schema Development stage: 25% (as of Aug 10th, 2008)
    22. XForms Generator - convert an XML Schema directly into an XForms application Development stage: 25% (as of May 10th, 2008)
    23. User Manager - track users and manage their login attempts, session timeouts and roles Development stage: 25% (as of March 10th, 2009)
  7. XRX Patterns
    1. Content Routing - inspecting the content of an XML document to apply save rules Development stage: 25% (as of July 23th, 2008)
    2. URL Rewriting - allow URIs to reflect the logical structure of a service, not the collection structure of the database Development stage: 25% (as of Aug 8th, 2008)
  8. Related Technologies
    1. LAMP - Linux, Apache, MySQL and PHP
    2. AJAX - Asynchronous JavaScript and XML
    3. Adobe Flex - Adobe's system for building rich-client interfaces
    4. Microsoft Silverlight - Microsoft's strategy for putting XML in the browser
  9. References
    1. Related Wikibooks
      1. XForms Tutorial and Cookbook
      2. XQuery Cookbook
Personal tools
Create a book