INFSOM-RI Training: Browsing and Editing with Web Tools Paolo Fabriani, Engineering Ingegneria Informatica S.p.A. (Italy) ETICS Project
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 2 Summary OverviewOverview TechnologyTechnology Web Application LayoutWeb Application Layout Browsing & Editing the ETICS datamodelBrowsing & Editing the ETICS datamodel Security (AuthN & AuthZ)Security (AuthN & AuthZ) ReferencesReferences
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 3 Service Overview Build/Test Artefacts Web Application Report DB Project DB NMI Scheduler Clients Web Service NMI Client Wrapper Via browser WNs ETICS Infrastructure Continuous Builds
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 4 Technology Server-side technologiesServer-side technologies –Java 1.5 –Apache Tomcat 5.0 –hsqldb –JDuck-PAT Client-side technologiesClient-side technologies –Javascript –DHTML –AJAX –JDuck-WT
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 5 Web Application Overview Browse & Edit the full ETICS DatamodelBrowse & Edit the full ETICS Datamodel –Project & Configuration structures –Commands –Dependencies SecuritySecurity –AuthN supported via the application container –AuthZ based on a role-based approach implemented in the WS Identity-based UI customisationIdentity-based UI customisation –According to the AuthZ level –According to the usual working context (planned)
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 6 Web Application Map Project Selector (Home) Project/Configuration Browser/Editor
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 7 Project Selector Lists all projects hosted by the ETICS platformLists all projects hosted by the ETICS platform Project details are shown upon selection in a drop- down listProject details are shown upon selection in a drop- down list Project Details
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 8 Web Application Layout View/Edit Panel Browse Panel Configuration List
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 9 The Browse Panel Project Explorer Three viewers in the Browse Panel:Three viewers in the Browse Panel: 1.Project Explorer: enables project structure browsing; i.e. navigate through the current project, its subsystems and components 2.Configuration Explorer 3.Etics Explorer
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 10 The Browse Panel Configuration Explorer Three viewers in the Browse Panel:Three viewers in the Browse Panel: 1. Project Explorer 2.Configuration Explorer: enables the navigation within a the structure of a configuration (subconfigurations) Platform-dependant items are also shown: –Subconfigurations –Build|Vcs|Test Commands –Properties –Environment –Dependencies 3.Etics Explorer
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 11 The Browse Panel ETICS Explorer Three viewers in the Browse Panel:Three viewers in the Browse Panel: 1. Project Explorer 2.Configuration Explorer 3.ETICS Explorer: allows the navigation among all the projects hosted by the ETICS platform. Specifically useful for dependency setting
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 12 The View/Edit Panel Enables the inspection and editing of every object of the Project datamodel (modules, confs, commands, properties, environment, subconfs, deps)Enables the inspection and editing of every object of the Project datamodel (modules, confs, commands, properties, environment, subconfs, deps) The content of the Browse/Edit Panel changes according to selection in the browse panelThe content of the Browse/Edit Panel changes according to selection in the browse panel Module Viewer
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 13 The View/Edit Panel Organized around a tabbed panel allowing separate viewer while editingOrganized around a tabbed panel allowing separate viewer while editing
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 14 The Configuration List Panel Lists configurationsLists configurations Populated from different sources according to the operation being performed:Populated from different sources according to the operation being performed: –Project browsing: shows module configurations. You can go to them through a contex-menu
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 15 The Configuration List Panel –Subconfiguration editing: shows available configurations for sub- modules. You can set them as subconfiguration through a contex-menu –Dependency editing: shows configurations for the module to put a dependency on. You can set them as (static or dynamic) dependency through a contex-menu
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 16 Authentication AuthN is based on X.509 certificatesAuthN is based on X.509 certificates –You’ll have the rights granted to you by the Administrator of each project However, access without certificate is still allowedHowever, access without certificate is still allowed –You’ll be mapped to a ‘Guest’ user, with minimal privileges (most likely just read access) in most areas WebApplication is available on https (port 8443)WebApplication is available on https (port 8443)
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 17 Authorization ETICS adopts a role-based approach to AuthZETICS adopts a role-based approach to AuthZ A number of roles have been defined:A number of roles have been defined: –Guest – has the minimum level of authz. He has read-only access –Developers - work on the implementation of the software. Identify dependencies –Integrators - run together different software components, checking there are no conflicts among them –Testers - can register and submit tests attached to configurations –Release Managers - are responsible for the release of the project software. Decide when the software is mature enough to be released –Module Administrators - can create and manage projects, assign permissions, set policies, etc –Administrators - responsible for setting up the ETICS infrastructure, creating projects, registering users
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 18 Authorization (cont’d) ETICS AuthZ ModelETICS AuthZ Model –Roles are assigned to users within a context –A context is either a module (projects, subsystems, components) or a configuration –Contexts are hierarchal according to the project/configuration structure Project Project Configuration Project Configuration Subsystem Subsystem Subsystem Configuration Subsystem Configuration Component Component Component Configuration Component Configuration Component Component Component Configuration Component Configuration
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 19 Authorization (cont’d) –Roles assigned to users in higher context are inherited in lower ones –Example: if you have a role at Subsystem level, you also have that role on subsystem, Subsystem Configurations, Components and Component Configurations Project Project Configuration Project Configuration Subsystem Subsystem Subsystem Configuration Subsystem Configuration Component Component Component Configuration Component Configuration Component Component Component Configuration Component Configuration
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 20 References Project Home page:Project Home page: – ETICS Web Application:ETICS Web Application: – Bug and requirements tracking (Savannah)Bug and requirements tracking (Savannah) – TwikiTwiki – Mailing-listsMailing-lists
INFSOM-RI ETICS Training - Web Tools - 24 September CERN 21 Thanks Thank you!