XRX

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

[edit] Web Development with XRX

Xrx-book-cover.jpg

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 definitions 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 which server you use 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 that 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

[edit] Introduction

  1. Introduction - an overview of the goals of this Wikibook and the intended audience 25% developed  as of May 10th, 2008
  2. Benefits of XRX - an analysis of the technical benefits of the XRX web application architecture 25% developed  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 25% developed  as of May 10th, 2008
  4. Building your First XRX Application - some suggestions on how to get started building your first XRX application 75% developed  as of Oct 13th, 2008
  5. Background Technologies - a summary of the background technologies you will use to build XRX applications 75% developed  as of Oct 13th, 2008
  6. Patching you Browser to Support XForms - how to add functionality to support the W3C XForms standards 25% developed  as of July 4th, 2009
  7. XSLTForms and eXist - getting XSLT forms to work with eXist 25% developed  as of September 30th, 2009

[edit] Common Patterns

  1. Server Field Validation - using a server-side XQuery to validate a field 25% developed  as of Feb 7th, 2010

[edit] Sample Applications

  1. Configuration File Editor - a simple file, single user XML configuration file editor using XForms and eXist 75% developed  as of July 9th, 2008
  2. Dictionary Editor - a simple round-trip create/update edit using XForms and eXist 50% developed  as of April 2nd, 2008
  3. Regular Expression Builder - a demonstration of using regular expressions in XQuery 75% developed  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 25% developed  as of March 8th, 2008
  5. Move a Resource - simple resource move utility 25% developed  as of March 8th, 2008
  6. Save File Dialog - saving a file to a collection similar to a save dialog panel 25% developed  as of March 8th, 2008
  7. Login and Session Management - a login panel and methods of authenticating users 25% developed  as of March 8th, 2008
  8. File Locking - strategies to prevent multiple users from overwriting each others updates00% developed  as of April 10th, 2008
  9. Selection List Generator - a tool to generate selection lists from code tables 25% developed  as of March 25th, 2009
  10. Glossary Term Editor - a tool to manage specialized business vocabularies 25% developed  as of May 10th, 2008
  11. FAQ Manager - a tool to manage frequently asked questions 25% developed  as of Sept 22th, 2008
  12. Detecting Duplicates - checking for duplicates as you type 25% developed  as of May 10th, 2008
  13. Data Element Editor - a tool to manage ISO/IEC 11179 data elements 25% developed  as of May 10th, 2008
  14. Selection List Management - tools to manage selection list codes in your XForms 25% developed  as of May 10th, 2008
  15. Customizing Selection Lists - customize the selection list based on role or other session variable 25% developed  as of May 10th, 2008
  16. Table Sorting - customization of table sort order 25% developed  as of March 18th, 2009
  17. NIEM Services - tools to create NIEM web services 25% developed  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 25% developed  as of March 8th, 2008
  19. Business Rules Template - a sample of a simple business rules template 25% developed  as of May 10th, 2008
  20. Metadata Shopper - a shopping cart tool for your metadata elements 25% developed  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 25% developed  as of Aug 10th, 2008
  22. XForms Generator - convert an XML Schema directly into an XForms application 25% developed  as of May 10th, 2008
  23. User Manager - track users and manage their login attempts, session timeouts and roles 25% developed  as of March 10th, 2009

[edit] XRX Patterns

  1. Content Routing - inspecting the content of an XML document to apply save rules 25% developed  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 25% developed  as of Aug 8th, 2008

[edit] 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

[edit] References

  1. Related Wikibooks
    1. XForms
    2. XQuery