Hlavní menu


ComponentizedPlatform / PreliminaryIdeasAndGoals

View (print) - Edit page | Recent changes - Page history

Updated 05 April 2011, 17:52 by PremekBrada

Ideas of what could we do

Current state:

  • We have a platform
  • We need a support of plugins (component, modules) to extend the platform based on different customer's needs

Topics with highest relevance

(A) (automatic) adaptation to evolving APIs? -- see notes from brainstorming

  • generating adaptation and modification of third party-components (existing clients) to changes in our API
  • what-if scenarios - which clients would I break with such-and-such API change?
  • search a repository for a relevant API for an existing client
  • metrics to assess API - stability, complexity
  • process to support the above - how to assess API, how to evolve it, what to do after it evolved

(B) testing of components based on semi-real data

  • monitoring (QoS?) in customer environment, obtaining real usage data
  • generating tests (mainly load, performance, reliability) with data based on those monitored
  • testing in a simulated environment
  • visualization of results and metrics and test results

A previous list of possibly relevant topics (with relevance to IW needs):

  • communication of components with each other and communication of components with the platform (high)
    • a unified way of communication
    • an 'universal' bus, events, messaging, ...
    • monitoring of messages coming through
    • filtering of messages
    • authentication of messages
    • role based authorization mechanism
  • verification of components compatibility (medium)
    • verification of different version on components
    • replacement of an old components by a new one.
    • verification of compatibility of third-party components
    • (vaclav sykora) I don't fully undestand the point
  • visualization of components (low)
    • visualization of considerable wide set of components
    • monitoring of runtime state of components
    • monitoring of customer installation
    • Custom metric visualization (including QoS?)
    • Exploring component dependencies
    • Traceability analysis (including EFP)
  • configuration of components based on customer needs (high)
    • product lines
    • components customized based on customer needs.
    • different edition for different prices
    • Tool for dependencies visualization and assembling
    • Visual exploring of variation/extension points
  • deployment of components to the running platform (low)
    • updates of running systems
    • Automatic update hints (with/without visualization)
    • seamless update without restart
    • configuration on the fly
  • repository of components (medium)
    • a unified storage
    • building up the application from storage
    • mining components based on configuration
  • monitoring and testing of components (high)
    • testing in development environment
    • monitoring (QoS?) in customer environment
    • Visualization of results and metrics and test results in diagram
  • analysis of platform-plugin-component structure/technology solution
  • development, SCM and build support

Visualization can be useful in following points mentioned above:

  • verification of components compatibility
  • repository of components

Additional ideas:

  • Internal component analysis
  • Visual comparison of views
  • Automatic finding components in code (or macro-components in components)