Today Silverlight and WPF are the two premier rich-client platforms for Line Of Business (LOB) applications, owing perhaps a fair share to the ubiquity of Windows OS in the business world. Nonetheless, after a decade of swing towards Web-based dumb-clients,
Rich Internet Applications (RIA) are gradually taking back the mantle for developing LOB applications as they are increasingly combining the ubiquity and deployment benefits of Web-apps with the graphical-richness and “state-fullness” of rich-client apps.
Building on this technological readiness, nRoute was designed from the ground-up and repeatedly validated against client-side needs of LOB applications, including:
- Visual Composition: The central problem with most LOB applications is that they are data intensive, with a boat-load of information to visualize. Herein, nRoute helps by virtue of its navigation based composition, allowing you to break your application
into n-levels of composing-parts with content becoming pages that can be paraded in and out with the ease of an Url
- Modularity: Businesses are organized in modular fashion, and LOB apps often need to reflect this reality – nRoute helps with the same by breaking modular interdependencies into Url addressable parts that no-longer need direct references, further modular
parts can be dynamically loaded, mapped, and composed at runtime using various facilities in nRoute. Also because the working unit of an application is an Url-addressable page problems or errors are generally self-contained within the scope of the Url
- Change Management: Under an Url-addressed regime, like with web pages, content and code can be readily changed as long as the Url-mapping itself stays in place – case in point, you can change the namespace, location, class name, or even replace the entire
implementation of a page and things will continue to work correctly. This allows for enormous amount of flexibility, allowing parts of application to evolve independently with changing business requirements
Supplementing the ideals of LOB applications, nRoute has also been designed for extensibility in terms of both the application architecture and application development stand-points. This is actually in keeping with the spirit of
ASP.NET MVC to which nRoute shares a lot of heritage. Further, as you will see in the
Extending nRoute section, most features in nRoute can be changed to ones liking, if not at one level of abstraction then on another.