+---+---+---+---+ +--------------+ | Q | N | g | c | |webyast client| | t | C | t | m | +------+-------+ | | | k | d | | +---+---+---+ | http | libyui | | | +-----------+ +-----------+---+ +------+-------+ | lib shell | | yast modules | | rest service | +-----------+--------+---------------+----------+--------------+ | common lib: reads/writes config files, starts/stops services | | integration of polkit and zypp | +--------------------------------------------------------------+ | SYSTEM | +--------------------------------------------------------------+
OK, one more for today, because I just cannot help myself ;) Attached is a revision of my original diagram incorporating some of the design style of the ASCII art above. Differences: - There is no lib common, the lib common layer of the ASCII art diagram is implemented by a modularized layer called "Configuration Modules". - There is no lib-shell. In the modularized approach a power user can import/use any module implemented in the "Configuration Modules" layer directly, no need for additional indirection. - No "yast modules" as in the ASCII art, I believe these are superfluous. Additional notes: - Policykit integration would just be another module in the "Configuration Modules" layer - Zypper integration could be a SUSE specific module in the "Configuration Modules" layer, other distros would implement their own package manager integration module (although the API of this module would have to specified and be consistent across distributions) - If asynchronous communication between the GUI elements and the "Configuration Modules" layer is needed some kind of IPC mechanism could sit between the GUI modules and the "Configuration Modules" layer. I do not believe this to be necessary and think the GUI modules can directly import/use modules from the "Configuration Modules" layer. Robert -- Robert Schweikert MAY THE SOURCE BE WITH YOU Novell-IBM Software Integration Center LINUX Tech Lead rschweikert@novell.com rschweikert@ca.ibm.com 781-464-8147 Novell Making IT Work As One