PDA

View Full Version : Architecting an Enterprise REST presentation layer



juancancela
18 Apr 2013, 7:36 PM
Id like to discuss a concept, and a potential technology solution for an enterprise Web UI framework. There are two main ideas behind framework:

Homogenization of applications (they should have an standardized look and feel).
Reduce application complexity in order to speed up development process.
I have already built a solution to achieve these objectives. Essentially, I am using a set of REST services to manage User Access Control, Security and User Profile, and EXT JS for UI. In a nutshell, through services Im able to register applications, define its "pages", then set access to users based on roles over that pages. Its a little bit more complex, but you can think as a complete set of UAC services, and a UI that knows how to interact with it. One more thing about the UI: Basically it is a dashboard (think in something similar to this: http://1.bp.blogspot.com/_hf9RwRjrOuw/TSs1rn2VSZI/AAAAAAAABBI/dD-Sp75UfgM/s1600/toolbar.png) where menus are loaded based on user profile. Then each page is rendered on the center container.
This solution is working, and everybody seems happy. Now I want to go one step further. Let me explain what i have in my mind. Applications itself contains "locally" (local to a particular application built with this framework) the pages that conforms that particular application. Also, the dashboard component is added as an application dependency. What im looking for is a way to make applications completely remote. That is, instead of having diverse applications with pages, i could leverage pages to resources (from a REST perspective; addresability, hypermedia, representations) and modify dashboard component in order to make it an standalone remote application. In that way, applications would be thought as a set of resources (former pageS). In fact, an application itself could be thought as a tag or property over a resource.
Right now, we are using EXT JS 4.2, so my preferred option is to find a way to construct this solution using it (something like remote views, controllers and models I guess if that is possible). If not, i would like to know if you know other frameworks / libraries adecuated for this architecte

slemmon
20 Apr 2013, 9:20 AM
For view/component loading on the fly have you looked at the ComponentLoader class?
http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.ComponentLoader

Also, in 4.2 you can now create multiple application definitions extending from a base application class which may come in handy when determining the application build for a user based on login.
See "Deriving from Ext.app.Application" at the top of this API page:
http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.app.Application

juancancela
20 Apr 2013, 12:49 PM
Thanks! Ill take a look at it.