Page Oriented User Interfaces with HTML5 and Dojo
Since the move from server side Web based User Interfaces that have been generated by Servlets, JSP’s , JSF or even PHP, there has been a lot of innovation around how best to deliver and present the next generation of Web based Applications. Over the last 4 years a number of common sense best practices seem to be forming that are outside of any standard, toolkit or book. This set of blog updates will try and explain some of these best practices in a way that will allow others to think about there impact on there next generation user interfaces for the web.
So if we now have the concept that the design of the page is focused on a set of business functions that are all surfaced around that page and AJAX and Web 2.0 techniques are used to present the UI, how do we navigate to this tasks. The next key principle of Page Orientated User Interfaces (POUIs) is the use of REST as a navigational point. REST is very good for data access and has changed the way we think of application servers and how they can delivery business information. When you start thinking of REST as a link to a page of content with a unique bookmarkable signature. It now allows a completely different way of thinking about page navigation. So all POUI’s will require a JAX-RS HTML Rendering feature. This will allow simple REST signatures that return HTML/TEXT mime types. These signatures can then take unique UUID’s to help identify data or business task.
Another key element of POUI’s if the use of state. State can come in a number of forms, Session, Application, Persistent, Page State. Each one has a different purpose to support the application.
So with the concept of Pages as a focal point for a business task, combinded with navigation using REST and a method for allowing various application state elements to exist we now have a basis to build a web application where users can navigate around, book mark, email , and maintain state with no server side overhead. These styles of application then become very scalable and flexible under high demand.
I will be writing up more of these principles over the coming weeks to help document these ideas.