RIBA stands for Rich Internet Business Application. As you may easily notice, the term is self-created and derives from RIA – Rich Internet Application – plus a ‘B’ for Business. This ‘B’ means a whole category of applications, namely LOBs – Line Of Business – applications. “So why does my application need that?” you might ask.
Well, if your application will be a Silverlight (or with minor changes a WPF) one and your clients will be accessing company data, if you want to provide these data from your database or whatever entity-source to a RIA or WCF service through one or multiple firewalls to one or multiple externally visible IIS Webserver(s) which then serve(s) the Silverlight clients. If you have to build such an application and you wish to adopt the MVVM architectural pattern consistently, so that your application will stay “maintainable”, “testable” and “blendable” for the next decade. Plus your concern is security and you wish that only the really needed DLL’s are provided to your user’s computers and maybe also provide an easy-to-maintain localization System.
This is what we understand under Line Of Business application and what RIBA stands for. Surely you have and done many tutorials on all these different aspects, MVVM, dynamically loading DLLs, RIA, WCF etc… But have you ever seen one fix-finished example or a tutorial of a heavy-duty-LOB-app in Silverlight? I guess not.
RIBA puts the pieces of the puzzle together. When it will be done it will be an example application with all main features described above. Plus it will be documented very nicely for everyone to profit.
The key features of the completed RIBA application will comprehend:
One piece of the mentioned puzzle is the RIBA.MVVMSL library. It was internally developed with the best practices from Microsoft in mind. Big thanks go to Laurent Bignon for his great ideas and speeches at MIX10. Of course, the RIBA.MVVMSL library is optimized to work best in a RIBA-style application, but it’s universally usable, even in simpler applications, if you just whish to easily use the MVVM pattern.
When you download the project, you can find all sources of this library within the “mvvm” folder. There you will find the solution to build it, a unit-test and a TestGUI project. You will also find the solution of the feature overview tutorial and the solution of the advanced tutorial at your disposal. However, it is highly recommended that you go through the tutorials step-by-step to achieve the best possible learning effect.
The key features of the MVVM Framework comprehend:
Where | What | Language |
http://www.SilverlightBlog.Net | Overviews on RIBA, explanations, generic talk about Silverlight | EN/DE |
http://www.granwehr.net/riba/ | Online API of the MVVM framework | EN |
[Source]\mvvm\doc | Tutorials of the MVVM framework, Sandcastle HelpfileBuilder Project, Offline API of the MVVM framework | EN/DE |
[Codeplex]/Documentation | Starting point and directions on where to go | EN |
You are invited to go through the tutorial if you feel that RIBA could be the right type of application for you.
Also, provide us with feedback and tell us about problems you may encounter.
Within the terms of the chosen copyright, you can modify the source for personal usage and adaption to your own kind of application.
If the above documentation still leaves you with some questions or you have some suggestions or encounter issues don’t hesitate to start a discussion or contact one of the developers deirectly.
Keep in mind that the project is maintained during our free time.