Structural system breakdown

Based on the goals described in the Kauri Vision we have some upfront feeling (or call it a top level architectural view if you prefer) of what the kauri system will be composed of:

  • Modular Runtime Resource Service System
    Basically a Java Main app that will run both at deployment and at development time, the foundational server side running thing.
    • Component/WebModules Framework
      A system to declare modules, their delivered 'services' and their interdependency. Catering for intermodule calls and some classloading-shielding. For inspiration we start off here with some Daisy Runtime on steroids.
    • Sitemap and Routing
      A clever system to manage the request-uri to actual controller mapping. Allowing for flat filesystem structures as well as
    • Authentication/Authorization
      From basic auth to wild thinking about open-id and oauth kinda stuff, together with a access control declaration mechanism (you remember htaccess, don't you?)
    • Tools
      At development time the runtime should provide supportive introspection and management interfaces to assist in debugging, tracing, profiling and yadayada
    • Localization and Internationalization
      l10n and i18n is an obvioous requirement for us. Porbably this aspect is going to crosscut all other blocks of the system. On the level of the runtime however there should be a clear and central mechanism to decide on locale, and then a clear way to make that available to the different components.
    • Caching and Proxying
    • Link Construction (and Rewriting)
  • Browser Based User Interaction System
    In these AJAX times, and in view of the ROA approach to devide application form resource state there should be a strategy to use the browser as a RIA base.
    • Widgets
    • Forms
  • Resource Formatting Rendition & Aggregation
    If you like this is the aggregating and end-user delivery side of the modules hosted in the RT system
    • Look and Feel Approach
      Basically a strategy for decent css layering.
    • Template Language
      Didn't think we could do without :-)
    • Pipelines
      XML processing & various format production.
    • Cross Application Styling, Menu and Search Aggregation
      Where the application to modules split has to converge again.
  • Application Logic Support
    • DataBases
    • Controllers and Business Logic Integration
    • Session and State Management

Endorsed 3rd party Projects

As we go along in the development and assembly of the Kauri System we are likely to grow a list of 3rd party open source projects we endorse and build upon (rather then do everything from scratch)

For various reasons and functionality we explicitely want to mention these: