status quo of css
DESCRIPTION
Status quo of CSS. André Grunow C1-WPS GmbH. CSS Core. Objectives provide a basis for the Platform Runnable define essential extension points define the initial workbench (views, editors, actions, perspectives, …) provide a bridge to avoid dependencies between plugins. CSS Core. - PowerPoint PPT PresentationTRANSCRIPT
XFELThe EuropeanX-Ray Laser Project
Status quo of CSS
André Grunow
C1-WPS GmbH
XFELThe EuropeanX-Ray Laser Project
2
CSS Core
Objectives
• provide a basis for the Platform Runnable• define essential extension points• define the initial workbench (views, editors, actions,
perspectives, …)• provide a bridge to avoid dependencies between
plugins
XFELThe EuropeanX-Ray Laser Project
3
CSS Core
which plugins define the core?
CORE CORE.UI
STARTUP
<< use >>
Platform-Runnable
all relevant UI-components
<< use >>
XFELThe EuropeanX-Ray Laser Project
4
existing Extension Points
• logManagers• iocReceivers• cssManager• loginValidator• mb3Receiver
XFELThe EuropeanX-Ray Laser Project
5
existing Extension Points
logManagers
This Extension Point can be used to handle Logevents, which are thrown anywhere in CSS.
implementing plugin: de.desy.css.log
XFELThe EuropeanX-Ray Laser Project
6
existing Extension Points
iocReceivers
Connected Plugins will receive and handle IOC-Data (which are not completely specified yet).
implementing plugin: de.desy.css.dummylogger
XFELThe EuropeanX-Ray Laser Project
7
existing Extension Points
cssManager
The central plugin to handle authorization and authenticationspecifiy the update mechanism…
implementing plugin: de.desy.css.manager
XFELThe EuropeanX-Ray Laser Project
8
existing Extension Points
loginValidator
Implementing plugins will provide a mechanism to authorize the user requesting a login.
implementing plugin: de.desy.css.manager
XFELThe EuropeanX-Ray Laser Project
9
existing Extension Points
mb3Receiver
This extension point can be used to react to MB3-Events (data have to be specified).
implementing plugins: de.desy.css.ioc.statusde.desy.css.jprobede.desy.css.record.properties
XFELThe EuropeanX-Ray Laser Project
10
existing Extension Points
mb3Receiver
This extension point is used by plugins, which are interested in receiving MB3-Events by other plugins/components.
implementing plugin: de.desy.css.jprobe
XFELThe EuropeanX-Ray Laser Project
11
required plugins
Startup
•initialise and start the workbench•init the default and load changed CSS-preferences•define the preferences of the CSS-product
plugin: de.desy.css.startup
XFELThe EuropeanX-Ray Laser Project
12
required plugins
Logging
•central functionality of CSS•handle all upcoming Log-Events in the whole CSS•configure specified appenders (file, console, JMS, …)•can be configured by preferences
plugin: de.desy.css.log
XFELThe EuropeanX-Ray Laser Project
13
optional plugins
Management
•handle the login•provide a mechanism for authentication and authorization•specifiy RightSets•configure the access-rules of the logged user•configure updates of CSS
plugin: de.desy.css.management
XFELThe EuropeanX-Ray Laser Project
14
optional plugins
rights management
•each plugin defines its own access- and functionality-rules•these rules may be overridden by the management plugin and ist RightSet-implementation•plugin-specific rules are used, if Management-Plugin is not available
XFELThe EuropeanX-Ray Laser Project
15
RightSet Management
CoreICssManager
ILoginValidator
ManagerCssManagerImpl
LoginValidatorImpl
<< implements >>
XXXPlugin
Default-RightSet
IRightSet
RightSetImpl
<< implements >>
<< requests overriding rights >>
Startup
<< requests login-validation >>
XFELThe EuropeanX-Ray Laser Project
16
RightSet Management
functionin plugin
userrequest
checksrights
ManagementPlugin
overridingrights found
performingaction
using defaultrightset
yes
no
1
2
3
function allowed?
yes no
XFELThe EuropeanX-Ray Laser Project
17
optional plugins
Management (Updates)
•local user has restricted access to new/updated plugins by default•the user's role defines the range of possibilities for the user•it's not allowed to update CSS with non-approved plugins by default•the user can't add plugins to CSS by default•update is triggered by central repository
XFELThe EuropeanX-Ray Laser Project
18
Update mechanism
encapsulate the existing Update-Plugin
The non-privileged operator must not have the possibility to manually update the local installation of the CSS-System. The running instance will register itself at the central repository to get updated. The privileged operator may start an update-process with non-approved features (with explicit login).
update local plugins and features
All plugins and features of the local CSS-System will be updated automatically without any interaction by the operator. The update-process is inited by a respository-admin.
XFELThe EuropeanX-Ray Laser Project
19
Update mechanism
grant password-protected access to central repository for beta-updates
Usually, the operator will init the automatic update-process: all available – approved – updated plugins and features are installed. With a login and password, the operator may also browse the repository and update the local CSS-installation with non-approved – maybe unstable – plugins and features.
CSS running 24/7
These systems will be updated by remote. Running instances will be restartet – if needed.
XFELThe EuropeanX-Ray Laser Project
20
optional plugins – update mechanism
centralrepository
<< controlled by admin >>
local CSS-instance
<< controlled by operator >>
<< offline >>
<< register >>
<< online >>
1
2<< send update-command >>
3<< update >>
centralrepository
<< controlled by admin >>
local CSS-instance
<< controlled by operator >>
<< online >>
<< already registered >>
1<< trigger update >>
2<< update >>