slide1
Download
Skip this Video
Download Presentation
CERN’s Project Management Platform

Loading in 2 Seconds...

play fullscreen
1 / 44

CERN’s Project Management Platform - PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

CERN’s Project Management Platform. Jurgen De Jonghe CERN / IT-AIS [email protected] Projects, Timeline. ATLAS Detector 500 MCHF CORE Cost, 150 institutes in 35 countries. 1999. LHC 3.3 BCHF expenditure 12 years. 2002. CNGS 75 MCHF expenditure CERN & Gran Sasso. 2003.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CERN’s Project Management Platform' - vila


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
projects timeline
Projects, Timeline
  • ATLAS Detector
      • 500 MCHF CORE Cost,
      • 150 institutes
      • in 35 countries

1999

  • LHC
      • 3.3 BCHF expenditure
      • 12 years

2002

  • CNGS
      • 75 MCHF expenditure
      • CERN & Gran Sasso

2003

  • EGEE
      • 50 MCHF,
      • 70 partners
      • 800 project members

2004

2005

CERN wide strategic planning

concepts
Concepts

*

WBS

*

WorkUnits

*

*

Deliverables

Resources

  • WBS: Work Breakdown Structure, hierarchical list of all the activities to be performed to complete the project.
  • Workunits: The “Leaves” of the WBS tree. Activity small in size/duration, under responsibility of one person.
    • use Resources (money, people)
    • to produce Deliverables
agenda
Agenda
  • Intro: CERN’s Project Management Platform
  • In-Depth 1: DB infrastructure to track project evolution
  • In-Depth 2: Excel Upload in a JEE environment
tracking what is the aim
Tracking: what is the aim ?
  • Answer questions
    • What was changed by whom and when?
    • What are the emerging project trends?
    • Who is currently using the system?
    • How did the application’s data look in the past?
tracking requirements
Tracking: requirements
  • Easy to use, transparent
  • Robust
  • Performant
  • Support Workflow: approval before acceptance of new data
  • Collaborative: inform project stakeholders of changes
  • Storage overhead (less important)
xml file for database description
XML File for Database Description

Tables

Views

type="DECIMAL" sequenceName="S_DOMLIST_ID“/>

  • Jakarta ‘torque’ + ‘velocity’ templates
  • Scripts for tracking are generated as pl/sql packages
  • ANT is used to build

Triggers & Stored Procedures

tracking timeline
Administrative Information ServicesTracking: timeline

10:00

11:30

12:00

Insert into shop(id, descr) values (1, ‘Shop 1’);

10:00

User1

11:30

User2

Update shop set descr = ‘Produkt shop’ where id = 1;

12:00

User3

Update shop set descr = ‘Product shop’ where id = 1;

Jurgen De Jonghe CERN/IT-AIS

slide10
Tracking: explicit authorization

Administrative Information Services

Jurgen De Jonghe CERN/IT-AIS

Insert into shop(id, descr) values (1, ‘Shop 1’);

10:00

10:30

11:30

12:00

12:30

13:30

14:00

10:00

User1

10:30

PowerUser

Authorise;

11:30

User2

Update shop set descr = ‘Produkt shop’ where id = 1;

11:45

PowerUser

Reject;

12:00

User3

Update shop set descr = ‘Product shop’ where id = 1;

12:30

PowerUser

Authorise;

13:30

User4

Delete shop where id = 1;

14:00

PowerUser

Authorise;

slide11
Tracking: summary so far

Administrative Information Services

  • Each insert, update or delete on tracked object creates a new version (= row) in the database
  • Tracking can be with or without authorization
    • Each version can be in status: new, authorized or rejected
  • Two timelines:
    • First timeline shows time when each version was really created and shows all user actions, including rejected actions and delete attempts.
    • Second timeline shows only authorized versions (as user will normally see it).

Jurgen De Jonghe CERN/IT-AIS

slide12
Tracking: how does it work?

Administrative Information Services

SHOP_SRC

SELECT

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

INSERT

SHOP

‘instead of’ trigger

Source Table

ID

DESCR

View for last authorised version

UPDATE

SHOP_MIR

DELETE

ID

DESCR

Mirror Table

Jurgen De Jonghe CERN/IT-AIS

tracking usage statistics
Tracking: Usage Statistics

About 1 million transactions for slightly less than 2 million versions

agenda1
Agenda
  • Intro: CERN’s Project Management Platform
  • In-Depth 1: DB infrastructure to track project evolution
  • In-Depth 2: Excel Upload in a JEE environment
excel upload why spring webflow
Excel Upload: Why Spring Webflow
  • Definition of the flow in one XML file – the decision-states, action-states (executed code) and the view-states (JSPs shown to the end user)
  • Possibility to conduct our flow according to the results of the action’s execution (not only in case of error or success)
  • Simple integration into our Spring Application Framework
jaxb java architecture for xml binding
JAXB: Java Architecture for XML Binding
  • Easy to use ( SAX, DOM)
  • Customizable
  • Standard
  • Validation & Round-tripping
slide24
Tracking: DB Implementation

Administrative Information Services

SHOP_CHANGES

SHOP_SRC

SHOP_PAST

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

ID

DESCR

ID

ID_PREV

ID_CHANGED

VERSION

IS_CURRENT_VERSION

‘Back to the past’ view

SHOP_ALL

Versions View

Source Table

ID

DESCR

View for last version

SHOP

SHOP_MIR

ID

DESCR

ID

DESCR

View for last authorised version

Mirror Table

Jurgen De Jonghe CERN/IT-AIS

slide25
Tracking: All Versions

Administrative Information Services

10:00

10:30

11:30

12:00

12:30

13:30

14:00

SELECT * FROM SHOP_ALL WHERE ID = 1;

Jurgen De Jonghe CERN/IT-AIS

slide26
Tracking: DB Implementation

Administrative Information Services

SHOP_CHANGES

SHOP_SRC

SHOP_PAST

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

ID

DESCR

ID

ID_PREV

ID_CHANGED

VERSION

IS_CURRENT_VERSION

‘Back to the past’ view

SHOP_ALL

Versions View

Source Table

ID

DESCR

View for last version

SHOP

SHOP_MIR

ID

DESCR

ID

DESCR

View for last authorised version

Mirror Table

Jurgen De Jonghe CERN/IT-AIS

slide27
Tracking: Changes

Administrative Information Services

10:00

10:30

11:30

12:00

12:30

13:30

14:00

SELECT * FROM SHOP_CHANGES WHERE ID = 1;

Jurgen De Jonghe CERN/IT-AIS

slide28
Tracking: implicit authorization

Administrative Information Services

Insert into shop(id, descr) values (1, ‘Shop 1’);

10:00

11:30

12:00

13:30

10:00

User1

11:30

User2

Update shop set descr = ‘Produkt shop’ where id = 1;

12:00

User3

Update shop set descr = ‘Product shop’ where id = 1;

13:30

User4

Delete shop where id = 1;

Jurgen De Jonghe CERN/IT-AIS

slide29
Tracking: Transactions

Administrative Information Services

  • Transactions group user actions
    • E.g., Changes to 5 workunits and their resources & deliverables
  • Transaction can have different transaction types.
  • Transaction can have comments.
  • Each change of tracked table belongs to some transaction.
  • Authorised transaction can be rejected later.

Jurgen De Jonghe CERN/IT-AIS

slide30
Tracking: Application

Administrative Information Services

  • Application is responsible for:
    • starting and ending transactions
    • setting the comments
    • setting type of transaction
  • Apart from specific screens (trends, history) no other app.code is aware of tracking.

Jurgen De Jonghe CERN/IT-AIS

slide31
Tracking: Going back to the Past

Administrative Information Services

  • How did the data look one year ago?
  • There is a possibility to ‘Go back to the past’.
    • Just call one function in TRANSACTION package and all _PAST views will return data for the desired date.

Jurgen De Jonghe CERN/IT-AIS

similar generated infrastructure auditing trees searching
Similar generated infrastructure:Auditing, Trees, Searching
  • Auditing: automatically adds fields
    • creation date/user
    • last modification date/user
trees concepts
Trees: Concepts

*

  • WBS: Work Breakdown Structure, hierarchical list of all the activities to be performed to complete the project.
  • Workunits: The “Leaves” of the WBS tree. Activity small in size/duration, under responsibility of one person.
  • Workunits use Resources (money, people) to produce Deliverables
  • Other secondary breakdown structures will be used in large projects:
    • People and monetary resources are also organized in OBS (Organization)
    • Deliverables are part of the final product, described in PBS (Product)
    • Individual parts are assembled according to an ABS (Assembly)…

WBS

*

WorkUnits

*

*

Deliverables

Resources

trees why
Trees: Why
  • How to retrieve trees quickly from the database
    • Oracle “CONNECT BY” not ANSI standard, slow, sub-query restrictions
    • Iterate in Java: slow, not possible as sub-queries
    • We want a simple/quick query like:

select code, description from wbs where b_path like ‘21.1.0.0.%’

order by b_orderintree;

searching simple example
Searching: Simple example

Auto-generation of an additional search field:

searching more advanced
Searching: more advanced

WorkUnits

*

*

Deliverables

Resources

WorkUnit extended with an extra Search Field:

19418: Supply & deliver series of thyristor converter : 1st batch

Holder: A. BEURET

Planned Start: 16-Nov-2004 End:16-Nov-2004

Actual Start: 30-Nov-2004 End:30-Dec-2004

Supplies & procurement (under F contracts only) Amount: 286,765 CHF BudgetCode: 96637 Contract F511/00, FF1008091 (IT-3003)

Duty travel Amount: 2,000 CHF BudgetCode: 96637 Travel expenses for visiting the firm

All other procurement (under M budget) Amount: 20,000 CHF BudgetCode: 96637 Free issues items

F511 810A,450V] converters - Batch 1prov. Accepted 4 / 4 Unit Eq. Code: RPTF 16-Nov-2004 until 30-Dec-2004

slide38
Tracking: DB Implementation

Administrative Information Services

SHOP_CHANGES

SHOP_SRC

SHOP_PAST

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

ID

DESCR

ID

ID_PREV

ID_CHANGED

VERSION

IS_CURRENT_VERSION

‘Back to the past’ view

SHOP_ALL

Versions View

Source Table

ID

DESCR

View for last version

SHOP

SHOP_MIR

ID

DESCR

ID

DESCR

View for last authorised version

Mirror Table

Jurgen De Jonghe CERN/IT-AIS

slide39
Tracking: Tab & View Example

Administrative Information Services

10:00

10:30

11:30

12:00

12:30

13:30

14:00

SELECT * FROM SHOP_SRC WHERE ID = 1;

Jurgen De Jonghe CERN/IT-AIS

slide40
Tracking: DB Implementation

Administrative Information Services

SHOP_CHANGES

SHOP_SRC

SHOP_PAST

ID

DESCR

T_PK

T_START

T_END

T_AUTHSTART

T_AUTHEND

T_WORKID

ID

DESCR

ID

ID_PREV

ID_CHANGED

VERSION

IS_CURRENT_VERSION

‘Back to the past’ view

SHOP_ALL

Versions View

Source Table

ID

DESCR

View for last version

SHOP

SHOP_MIR

ID

DESCR

ID

DESCR

View for last authorised version

Mirror Table

Jurgen De Jonghe CERN/IT-AIS

slide41
Tracking: Normal User View

Administrative Information Services

10:00

10:30

11:30

12:00

12:30

13:30

14:00

SELECT * FROM SHOP WHERE ID = 1;

Jurgen De Jonghe CERN/IT-AIS

excel upload spring intro
Excel Upload: Spring intro
  • Spring is essentially a technology enabling you to build applications using POJOs.
  • Through its bean factory concept, Spring is an Inversion of Control (Dependency Injection) container .
  • Hollywood Principle: "Don't call me, I'll call you.“
  • Benefits:
    • components don't need to look up collaborators at runtime, they're simpler to write and maintain
    • for the same reasons, application code is much easier to test
    • most business objects don't depend on IoC container APIs. This makes it easy to use legacy code... an IoC container isn't invasive
excel upload spring webflow
Excel Upload: Spring WebFlow
  • For building web application modules that guide the user through controlled navigations that drive business processes spanning HTTP requests.
  • A generic flow engine based on a finite-state machine for the execution of a web conversation.
  • Goals:
    • Integrates with existing frameworks like Struts, JSF...
    • Flow definitions should be declarative and understandable by business analysts (easy like a visual diagram, such as a UML state diagram)
    • Flow definitions should be self-contained.
      • Reusable modules usable standalone or combined in larger, more complex flows.
    • Easily testable in isolation.
ppt a project management platform
PPT: a Project Management Platform

*

*

Web Components

User Interface Components

Analysis reports

Ad hoc crosstabs

Configurable Business Rules

Project Management Domain

OLAP Engine

Collaborative Events & Alerts Bus

Summary Layer

Change Management

Relational Database

ad