[Building Sakai] RSF Present and Future

Antranig Basman Antranig.Basman at colorado.edu
Tue Feb 2 17:27:32 PST 2010


I thought this would be an opportune moment to sent a note to the list 
about the current and future status of RSF, since I know it is the 
platform for a number of actively maintained tools which are being 
managed by the community.
The most urgent issue is the move of the wiki to its new URL space - 
many of you will have been alarmed at seeing 404s and broken links in 
Google over the last couple of weeks. All of the RSF online resources 
(JIRA, SVN, wiki and forums) are in the process of being migrated to new 
homes generously provided by the Fluid project. The new URL for the RSF 
wiki is at
http://rsf.fluidproject.org/wiki for which there are now redirects in 
place from the old CARET locations. Google is currently indexing the 
site at its old mount point but this should catch up soon.

RSF is to continue to be supported, for the forseeable future in a 
"maintenance" mode, with support available on forums and for critical 
issues reported on JIRAs. However, the active focus of Fluid's 
development is now on its new server-side infrastructure, "Fluid Kettle" 
- in which practically all of the RSF concepts and primitives have 
resurfaced in one form or another (for example, at its core is the Fluid 
Renderer, a Javascript implementation of the same rendering algorithm 
and component concept found in RSF) as well as many newer innovations 
aimed at making the system easier to understand and more flexible. 
Kettle is still at a very early stage of development (as a rough 
calibration, we will be implementing support for handling POST requests 
over the next week or so!) and is not yet ready for use outside our 
community (I must be clear that Fluid has not yet made a commitment that 
it ever will be!) but is an exciting evolution of the ideas that made 
plain markup and Javascript easy to use in RSF. Our implementation is 
currently in the form of a Java Servlet hosting a Javascript engine 
operated by Mozilla's Rhino, but is being pursued in such a way that a 
move to powerful JS VMs such as Google's V8 is straightforward down the 
line.

This is part of Fluid's move towards an all-Javascript infrastructure 
(both in the client, in middleware and the persistence layer), which is 
a reaction to the very deeply entrenched obstacles impeding rapid and 
flexible development on the traditional stack. Java applications, 
despite widespread tool support, are harder than necessary to develop 
and maintain, and make unnecessary demands on specialised knowledge - 
the same is true for applications based on SQL, and the difficulties we 
have all faced with ORM tools such as Hibernate only highlight the 
deficiencies that lie inherently in the object-based and relational 
approaches, let alone the train wreck which occurs when they are 
combined :) Finally, whilst the IoC foundation supplied by Spring was 
very promising, over time more and more points of mismatch were 
discovered between the direction of the Spring community as a whole, and 
the demands that a technology like RSF would make.

Despite my best efforts, RSF was never as easy to learn and use as I 
wanted, both because of the problems in these foundational technologies 
and as a result of the thinking and community work that went to build it 
still being ongoing. My hope is that this new direction will result in a 
stack which makes development *truly* efficient, pleasant and easy to 
do, and produce an environment in which it is finally not unrecognisably 
hard to meet the needs of a diverse base of demanding customers on a 
tight schedule and tight budget, whilst keeping a reasonably organised 
codebase that one can be proud of. As well as this, whilst RSF was 
largely a one-man effort, Kettle is the work of an entire community 
which allows these ideas to mature alongside the working practices and 
sustainability which are required to express them.

I am not actively reading sakai-dev but I am happy to continue to host 
your RSF questions on the forums and privately and looking forward to 
working alongside you all now and in the future :)

I will keep you posted from time to time as the further moves are made 
with RSF infrastructure (note that source SVN has moved to
http://rsf.fluidproject.org/svn/ - will be updating links when I can) as 
well as progress with Kettle. An interesting (to me at least!) 
development is a new IoC implementation in about 300 lines of Javascript 
which will be merged into Fluid trunk over the next month to form the 
basis of our new way of organising code and meeting the needs of 
accessibility.

Cheers,
Antranig.



More information about the sakai-dev mailing list