an object-oriented approach to deploying highly configurable...

16
An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment Bruno Lange Carmen Maidantchik Kathy Pommes Varlen Neto Breno Arosa Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment Federal University of Rio de Janeiro (UFRJ) Signal Processing Laboratory (LPS/COPPE) on behalf of the ATLAS Technical Coordination

Upload: others

Post on 02-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

Bruno Lange Carmen Maidantchik

Kathy Pommes Varlen Neto Breno Arosa

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

Federal University of Rio de Janeiro (UFRJ)

Signal Processing Laboratory (LPS/COPPE)

on behalf of the ATLAS Technical Coordination

Page 2: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

long-term endeavor.

diversity of people, practices, technologies, needs and requirements;

high turnover in management positions as well as within the development team;

understanding our environment

changes in requirements become second nature

Page 3: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

requests in numbers

over 3000 emails sent to our support contact [email protected] since August 2011 (an average of 67 emails per month);

almost 800 tickets closed in trac over the course of 4 years. Punctual changes of the system’s rules represented the overwhelming majority of all requests.

issues

TasksImprovementsNew featuresBugsOthers

199

tasks125

bugs33 since September 2014

Page 4: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

How to promptly respond to changes in requirements?

Identify and anticipate potential requirement changes in all stages of development;

Outsource behavior (rules) to configuration files.

Recycle and expand on existing functionalities to build new ones; "… adaptive planning, evolutionary development, early

delivery, continuous improvement and encourages rapid and flexible response to change."

Page 5: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

Front End Engine for Glance

“Glance Information System for the ATLAS Management”, F. Grael et al, CHEP 2010

Glance

XML

JSON

CSV

HTML

Proposal

Page 6: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

configuration files

Glance

Web editor

UsersDeveloper

JSON

Page 7: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

BaseInput

RackTreeInput

Inheritance

Recycling and Expanding

Polymorphism

Radio

OptionInput

SelectCheckbox

TextInput

TextAreaText

DateInput Number

TreeInput

FileInput

Page 8: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

Configuration files loaded hierarchically, with local directives expanding and overwriting global ones

JavaScript Object Notation

Extracting rules from source code using configuration files

https://glance.cern.ch/atlas/analysis/papers

Page 9: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

. Integrated systems

Sensitive data secured through defined user groups,

permissions and CERN e-groups

Native integration with .

Page 10: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

SEARCH INTERFACES (information assessment, i.e, “read”)

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

search parameters and resulting table fully described .in

configuration file .

Page 11: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

LaTeX live preview

. input validation carried out in both client and server sides

easy assessment of the rules .

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

HTML FORMS (write operations)

Page 12: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

CURRENT STATUSATLAS ALICE LHCb

• In production • Appointment • RackWizard (partially)

!!• Under development

• Membership • SCAB (Speakers) • TDAQ (Speakers) • Upgrade (Speakers) • Papers (Analysis) • ConfNote (Analysis) • PubNote (Analysis) • Traceability

!!• To be initiated

• Speakers Committee (Analysis)

• Thesis

• Under development • SAMS • Membership

• To be started: • Membership • Traceability

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

Page 13: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

ATLAS Appointment

First system to be fully migrated to

the Fence framework

Page 14: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

ATLAS RackWizard

Setting forth Fence’s native support for

graphics

Page 15: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment

Majority of changes in requirements do not require any changes in the source code;

Requirement changes can be put in effect immediately by altering the configuration files;

Code recycling and specialization is encouraged by heavily applying OO’s inheritance and polymorphism;

CONCLUSIONS

Page 16: An object-oriented approach to deploying highly configurable …cds.cern.ch/record/2008441/files/brunolange_CHEP2015(3).pdf · 2015. 4. 12. · Okinawa, Apr 2015 | CHEP 2015 | An

FUTURE DEVELOPMENT

Notification center Node.js + MongoDB real time solution to inform logged users about pending actions and alert when sensitive data is changed.

JSON Web editor Friendly interfaces where authorized users can edit the configuration files and see the effects immediately.

Automated testing Unit testing with phpUnit.

Enhanced statistics Native support for displaying pie-charts, histograms, etc in compliance with Google’s Visualization API.

Comprehensive history Extensive use of logs and history tables for complete traceability of changes in data and in requirements and the possibility of performing rollbacks.

Okinawa, Apr 2015 | CHEP 2015 | An object-oriented approach to deploying highly configurable Web interfaces for the ATLAS experiment