Friday, February 11, 2005

Server-Side XForms

The Mozilla project recently announced the first beta version of their XForms support for the Mozilla and Firefox browsers.

As the W3C puts it, XForms is the next generation of web forms. It aims at replacing HTML forms within XHTML, as well as providing other languages such as SVG the ability to handle forms.

XForms was largely intended by its authors to run on the client, that is, within a web browser, as HTML forms do today. It offers benefits such as:

  • Clear separation between the data captured and the presentation (separation of concerns).
  • Flexible, structured XML-based data model. Define your data model as an XML document, then create forms accessing the data.
  • Built-in facilities for validation and data integrity based on XML Schema and/or assertions.
  • Requires much less, or no scripting at all for many common scenarios that do require scripting with HTML forms. In other words, XForms's approach is very declarative.
  • Ease of internationalization.
  • Support for a variety of devices.

As we know, after Netscape succumbed to Internet Explorer back in the 90s, client-side web browser technologies have largely stalled. The theory is that Microsoft, with a market share of over 90% of the installed web browsers base, does not see any point in making any improvement at all. After IE 5, Internet Explorer hasn't had any serious upgrade. With that spirit, Microsoft has said it wouldn't support XForms. In fact, Microsoft has also its own competing proprietary technology to push: InfoPath.

The good news is that while all this has been going on, the Mozilla project has not rested on its laurels and has produced an ever more solid browser, culminating with the release of Firefox 1.0 just a few months ago, a milestone on the path to a much bigger market share.

The Mozilla XForms beta is important, because it announces the day where Firefox will be fully XForms 1.0 compliant. Developers can play with a beta and get their hands on the technology. You can look forward to the day where XForms-based applications can at last be freely deployed on the intranet, where the browser environment is controlled.

But there is still a major issue, which is that if Microsoft doesn't come back on its decision not to implement XForms, it still won't be possible to deploy XForms on the web - that is, unless you don't care about users being able to access your site or web application. As much as we like to see Firefox's market share grow, it has yet to reach 10%.

This is why it is important today to closely look at server-side XForms implementations, one of which is provided by the open source Orbeon PresentationServer today.

The idea behind a server-side XForms implementation is quite simple: instead of requiring the web browser to interpret the XForms tags, software running on a server does it. To do so, it typically looks at XHTML and XForms documents, and transforms them into good old HTML and JavaScript. When the web browser submits an HTML form, the server-side software, again, transforms the submission to make it look to the application like it was submitted by an XForms engine.

The huge benefit of this approach is that almost every browser currently deployed can now render XForms, while the application developer does in fact write XHTML and XForms. It also opens the possibility for XForms-enabled web browsers to fully benefit from XForms, while legacy browsers use the server-side implementation.

To be fair, there are some drawbacks. For example, a promise of XForms is to reduce the number of roundtrips to the server. With a server-side implementation, this may not be easily achieved. Also, some features of XForms may take time to be implemented by such server-side implementations because they are harder to implement than on the client-side. PresentationServer aims at implementing eventually all of the XForms specification. The list of implemented features is available here.

In spites of those drawbacks, this approach is in some people's opinion the only way XForms will be able to be widely deployed on the web in the fairly short-term future. So go ahead and give PresentationServer a try!

65 comments:

  1. Eric van der VlistFeb 14, 2005 03:29 AM
    Just a few comments ;-) ...

    * Client side XForms on IE might not be that far away, at least through plugins (some are already available, other will come). The interoperability of all these implementations is still to be shown, but if the Mozilla announce is so important that's not only because it's a native implementation but also because there is no XForms plugins for Mozilla.

    * We wouldn't be fair to Orbeon PresentationServer by focusing too much on its XForms implementation. Of course, that's a very cool feature to have, but even if we could rely on client side XForms, there would still be a need for a framework such as OPS. XForms isn't meant to cover web applications at large and web publication frameworks will be most needed to define the glue that's needed between XForms and the underlying infrastructure. That's why I believe that using OPS is the best way to prepare a smooth transition between server side and client side XForms.

    * WordPress looks cool, but what about a blog system powered by OPS (and of course XForms)? I think that if whole application modules were available for OPS, that could be an additional competitive advantage for OPS and a blog module seems like a good start :-) ...

    All that being said, I heartfully agree that XForms is the next generation of web forms and OPS the way to make it happen today!
    ReplyDelete
  2. Yes, it would be cool to have a blog powered by OPS + XForms, and not difficult in principle (although you quickly get to the point where you need to support many features). If there are volunteers out there to start, please go ahead! We can discuss the architecture of it on ops-development or ops-users. We could base it on eXist.
    ReplyDelete
  3. You can also check some relevant information on online poker
    ReplyDelete
  4. You may find it interesting to take a look at some information dedicated to pacific poker poker games
    ReplyDelete
  5. Take your time to check out some helpful info about strip texas hold best online strip poker
    ReplyDelete
  6. In your free time, check the pages in the field of poker chips accessories poker texas hold
    ReplyDelete
  7. Take your time to take a look at some helpful info in the field of texas holdem basics
    ReplyDelete
  8. You are invited to check out some information on canadian online poker texas hold em strategy
    ReplyDelete
  9. Take your time to check the pages about dealing texas hold em online poker cheats and scams
    ReplyDelete
  10. You may find it interesting to visit some helpful info dedicated to poker supplies online poker uk
    ReplyDelete
  11. You are invited to take a look at some relevant pages about poker chip cases clay poker chips
    ReplyDelete
  12. You can also visit some information on used blackjack tables download strip blackjack
    ReplyDelete
  13. You may find it interesting to take a look at some relevant pages on roulette wheel plans used blackjack tables
    ReplyDelete
  14. You are invited to take a look at some relevant information on diet medicine
    ReplyDelete
  15. Take your time to visit some helpful info on buy levitra online hgh
    ReplyDelete
  16. You can also take a look at the pages on drugs antibiotics
    ReplyDelete
  17. In your free time, check out the pages on party poker texas hold em poker rooms
    ReplyDelete
  18. Take your time to take a look at some information in the field of poker rooms poker
    ReplyDelete
  19. You are invited to check out some relevant pages on texas holdem poker fabric
    ReplyDelete
  20. You are invited to check out some information on empire poker poker rooms poker
    ReplyDelete
  21. Please visit the sites on online poker poker games
    ReplyDelete
  22. Take your time to check the sites dedicated to texas holdem empire poker
    ReplyDelete
  23. In your free time, visit some relevant pages on online poker party poker
    ReplyDelete
  24. You may find it interesting to visit the sites dedicated to gambling online casino
    ReplyDelete
  25. Please visit some relevant pages dedicated to texas holdem tools
    ReplyDelete
  26. Please check some relevant pages about online casino blackjack
    ReplyDelete
  27. Take your time to visit the sites dedicated to mortgage calculators debt consolidation
    ReplyDelete
  28. In your free time, take a look at some information dedicated to pacific poker
    ReplyDelete
  29. You are invited to check the pages on pacific poker party poker
    ReplyDelete
  30. You can also visit some information in the field of free slots online casinos
    ReplyDelete
  31. You may find it interesting to check out the pages on slot machines
    ReplyDelete
  32. In your free time, check the sites on debt management debt
    ReplyDelete
  33. You may find it interesting to check out some relevant pages in the field of online poker texas holdem online poker
    ReplyDelete
  34. In your free time, take a look at some relevant pages in the field of poker hand rankings poker games
    ReplyDelete
  35. Take your time to check the pages dedicated to official poker rules online poker
    ReplyDelete
  36. In your free time, visit some relevant pages dedicated to poker party message board
    ReplyDelete
  37. You can also check some relevant pages dedicated to poker poker games texas hold em
    ReplyDelete
  38. Please visit some helpful info dedicated to texas holdem
    ReplyDelete
  39. Please take a look at some relevant information dedicated to online gambling
    ReplyDelete
  40. Please take a look at some information in the field of poker online poker
    ReplyDelete
  41. Please visit some information on poker texas holdem free poker
    ReplyDelete
  42. You are invited to visit the pages about poker rules pacific poker
    ReplyDelete
  43. You can also visit some helpful info in the field of online casino casino gambling
    ReplyDelete
  44. You may find it interesting to check out the sites on online casino slot machines
    ReplyDelete
  45. Take your time to visit some helpful info on online casinos casino on net
    ReplyDelete
  46. You may find it interesting to check out the sites on online casino gambling casino on net
    ReplyDelete
  47. In your free time, take a look at some helpful info in the field of online casino online casinos
    ReplyDelete
  48. Please check out some information about indian casinos mohegan sun casino
    ReplyDelete
  49. Please take a look at some relevant information on michigan casinos oklahoma gambling
    ReplyDelete
  50. Take your time to check out some helpful info on casino chips gambling online
    ReplyDelete
  51. Please visit the sites in the field of mortgage payment calculator loan
    ReplyDelete
  52. Please visit some relevant information on mortgage calculator credit card processing
    ReplyDelete
  53. You are invited to check the pages about official rules texas holdem poker hoyle tournament
    ReplyDelete
  54. Take your time to check out the sites in the field of alprazolam amitriptyline
    ReplyDelete
  55. You are invited to visit some relevant information in the field of adipex amitriptyline
    ReplyDelete
  56. Take your time to check the sites in the field of pacific poker odds calculator
    ReplyDelete
  57. Please take a look at some relevant information on blackjack free slots
    ReplyDelete
  58. You can also visit some information in the field of free casino cash grand casino
    ReplyDelete
  59. In your free time, check some information dedicated to free strip poker online texas holdem
    ReplyDelete
  60. You are invited to check the pages on free strip poker poker table for sale
    ReplyDelete
  61. You may find it interesting to visit some relevant information in the field of free strip poker play texas holdem
    ReplyDelete
  62. Please check out the sites dedicated to celebrity poker poker tournament
    ReplyDelete
  63. In your free time, visit some relevant information on free poker game poker terms
    ReplyDelete
  64. Take your time to check out some relevant pages dedicated to free poker pacific poker
    ReplyDelete
  65. I recently came across your post and have been reading along. I thought I would leave my first comment. I don't know what to say except that it caught my interest and you've provided informative points.  I will visit this blog often.

    Thank you,

    Hutchinson
    ReplyDelete