CERN’s Project Management Platform
This presentation is the property of its rightful owner.
Sponsored Links
1 / 44

CERN’s Project Management Platform PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

CERN’s Project Management Platform

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


Cern s project management platform

CERN’s Project Management Platform

Jurgen De Jonghe CERN / IT-AIS

[email protected]


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


Change management

Change Management


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

<?xml version="1.0"?>

<!DOCTYPE database SYSTEM "http://jakarta.apache.org/turbine/dtd/database.dtd">

<database name="PPT_EVM" tableTableSpace="tabppt" indexTableSpace="idxppt">

<table name="DOMAIN_LISTS" javaName="DomainLists“ tracking=“true” audit=“true”>

<storage initial="50K" next="100K" maxExtents="20"/>

<column name="ID" javaName="Id" primaryKey="true" required="true" size="6"

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

<column name="CODE" javaName="Code" required="true" size="12" type="VARCHAR“/>

<column name="DESCR" javaName="Description" size="60" type="VARCHAR“/>

<foreign-key foreignTable="DOMAIN_LISTS">

<reference foreign="ID" local="PARENT_ID"/>

</foreign-key>

</table>

</database>

  • 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 Services

Tracking: 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


Cern s project management platform

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;


Cern s project management platform

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


Cern s project management platform

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


Transaction tables

Transaction tables


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 import export

Excel Import/Export


Excel upload diagram

Excel upload: Diagram


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


Excel upload webflow definition

Excel Upload: Webflow definition


Excel upload jaxb config

Excel Upload: JAXB config


Jaxb java architecture for xml binding

JAXB: Java Architecture for XML Binding

  • Easy to use ( SAX, DOM)

  • Customizable

  • Standard

  • Validation & Round-tripping


Cern s project management platform

Q & A


Backup slides to follow

Backup Slides to follow


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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;


Trees example wbs

Trees: example WBS


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 ContractF511/00, FF1008091 (IT-3003)

Duty travelAmount: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. Accepted4 / 4 Unit Eq. Code: RPTF 16-Nov-2004 until 30-Dec-2004


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


Cern s project management platform

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


  • Login