Enterprise Quality UI Frameworks
At pagebloom we strictly follow a 'separation of concerns' philosophy which means that the enterprise domain model frameworks can be used with any Java UI framework you desire: Servlet, JSP, *MVC, Java Faces, Wicket, Tapestry, Echo, Vaadin etc., but to make things really fast we supply a ready to use UI framework...
The pagebloom cloud platform provides a UI layer, based on the most excellent POJO based, object oriented, 'assembly by component' Java UI framework known as Wicket.
Our enterprise Java UI layer provides a high quality, secure, user friendly, user inteface, right out of the box, to provide creation, management and access to many of the entities that form part of the pagebloom cloud platform's enterprise domain model.
To create a new web page whose access is restriced to any authenticated user then simply derive that page from the 'RestrictedPage' class in the pagebloom cloud's UI framework. Page authorization *can* be that easy!
For greater control over page access you can restrict access based on a user's roles in the context of the current organization. For that simply configure the PageAccessController to take care of authorization.
Built-in Content Management System
Right out of the box the pagebloom cloud platform supports content management. This enables the various organizations within your cloud app to be 'themed, 'styled' or 'branded' easily via the admininstration screens of that particular organization. Images in headers, website layout templates, menu items, links in footers, side bar menus etc., can all be controlled from within the content management system.
Many commonly used pages are available for use including:
- Home page - a variety of templates provide different styles of home page including ones with sliders or managed content row headers etc., You can even have a plain old home page with freeform content as the only panel.
- FAQ - frequently asked questions pages - The UI includes an easy to use FAQ management which includes the ability to arrange questions into different categories.
- Contact page - a page listing the contact details of an organization
- Information request/Support ticket page - allows users to submit a form containing a request for specific information. This also allows the submission of support tickets which are then managed by the workflow engine as a process.
- News items page - displays news items regarding an organization. The UI admin screens provide a way to add new news items.
- Testimonial/Feedback page - end users can submit testimonials that need to be approved by the organization administer before they will appear on the testimonials page.
- About us page - a simple page with freeform content, typically used to convey company history, etc.,
- Employee page - the admin UI allows the administrator to manage the set of employees in an organization.
- Location page - takes user to a google map displaying the location of the organization
- Coming events - displays a calendar of comming events to the user. The events are managed within the UI admin screens.
- Operating hours - displays the hours of operation of the business.
- Product and Category pages - if the organization has lots of products these can be easily arranged into categories and displayed across multiple pages in a variety of ways depending on the template chosen for the website.
Creation of new pages
Creating a new page is simply a matter of creating a new page class and creating its associated markup (HTML) file. Anyone with any Wicket or Tapestry experience will find this very easy and familiar. Anyone with JSP experience will find that it's very similar to creating a JSP except that the code and markup are placed in separate files - which brings a whole world of benefits and opportunities.
Web Server Request Processing
As any web application developer knows there's a lot more to creating a web site that merely providing a response to HTTP requests. All manner of querks, browser specific issues and optimizations must be accomodated. The pagebloom cloud platform has a whole host of features built in to handle the HTTP request processing in a way that works well for multiple browers and multiple domain names.
Uniform bookmarking - whether a user arrives at your site via mysite.com or www.mysite.com does not matter - they are always redirected to www.mysite.com. The browser is automatically redirected to a canonical form of the URL to avoid issues with cookies in some browsers where the cookie store in a subdomain is not identical to that in the standard domain name.
Multi tenant domain name processing
In a multi tenanted environment many different domain names are served by the same server. This requires a domain name manager that, via a ServletFilter correctly detects the domain name of incoming HTTP requests, determines which organization is identified by that domain name and then serves content in the context of that organization. The pagebloom cloud platform has a built in multi tenanted domain name manager that performs this function. It has been optimized over many years to perform this function with minimal impact on HTTP request processing performance.
Open Session/Persistence Manager In View
One of the most popular approaches to managing transparent persistence within a web application is the "Open Session/Persistence Manager In View" strategy. A ServletFilter wraps the UI framework's ServletFilter to ensure that an open persistence manager and transaction is established at the start of every HTTP request. At the completion of the HTTP request , after the response has been rendered, the transaction is committed, saving any changes made during the response to the request (eg., if a user has pressed OK on a form).