Maite Barroso – WP4 Workshop – 10/12/2002 - n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002

Slides:



Advertisements
Similar presentations
Andrew McNab - Manchester HEP - 24 May 2001 WorkGroup H: Software Support Both middleware and application support Installation tools and expertise Communication.
Advertisements

Introduction to Web Services Protocols. Talk titledate2 Communication and standards Efficient (or indeed any) communication is dependent on a shared vocabulary.
Software change management
Configuration management
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Project Management Summary Castor Development Team Castor Readiness Review – June 2006 German Cancio, Giuseppe Lo Presti, Sebastien Ponce CERN / IT.
Configuration Management
ANT – Another Neat Tool Representation and Management of Data on the Internet.
1 Ant – Another Neat Tool Representation and Management of Data on the Internet.
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
27-29 September 2002CrossGrid Workshop LINZ1 USE CASES (Task 3.5 Test and Integration) Santiago González de la Hoz CrossGrid Workshop at Linz,
Peoplesoft: Building and Consuming Web Services
US GPO AIP Independence Test CS 496A – Senior Design Team members: Antonio Castillo, Johnny Ng, Aram Weintraub, Tin-Shuk Wong Faculty advisor: Dr. Russ.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
DataGrid is a project funded by the European Commission under contract IST rd EU Review – 19-20/02/2004 DataGrid Quality Assurance On behalf.
System Implementation
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES API documentation.
This chapter is extracted from Sommerville’s slides. Text book chapter
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Andrew McNab - Manchester HEP - 26 June 2001 WG-H / Support status Packaging / RPM’s UK + EU DG CA’s central grid-users file grid “ping”
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
C. Loomis – Testbed Status – 28/01/2002 – n° 1 Future WP6 Tasks Charles Loomis January 28, 2002
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Yannick Patois – CVS and Autobuild tools at CCIN2P3 – hepix - October, n° 1 CVS setup at CC-IN2P3 and Datagrid edg- build tools CVS management,
NICOS System of Nightly Builds for Distributed Development Alexander Undrus CHEP’03.
Usability Issues Documentation J. Apostolakis for Geant4 16 January 2009.
JavaDoc1 JavaDoc DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING CONCORDIA UNIVERSITY July 24, 2006 by Emil Vassev & Joey Paquet revision 1.2 –
Configuration Management (CM)
Yannick Patois – Datagrid Repository Presentation- 2001/11/21 - n° 1 Partner Logo DataGrid Software Repository presentation A short presentation of the.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
EGEE is a project funded by the European Union under contract IST Build Infrastructure & Release Procedures Integration.
The Basics of Javadoc Presented By: Wes Toland. Outline  Overview  Background  Environment  Features Javadoc Comment Format Javadoc Program HTML API.
Partner Logo German Cancio – WP4-install LCFG HOW-TO - n° 1 LCFGng configuration examples Updated 10/2002
1 / 22 AliRoot and AliEn Build Integration and Testing System.
EDG Testbed installation and configuration with LCFGng Maite Barroso - WP4
EGEE is a project funded by the European Union under contract IST JRA1-SA1 requirement gathering Maite Barroso JRA1 Integration and Testing.
Javadoc A very short tutorial. What is it A program that automatically generates documentation of your Java classes in a standard format For each X.java.
DataGRID WPMM, Geneve, 17th June 2002 Testbed Software Test Group work status for 1.2 release Andrea Formica on behalf of Test Group.
GRID Zhen Xie, INFN-Pisa, on DataGrid WP6 meeting1 Globus Installation Toolkit Zhen Xie On behalf of grid-release team INFN-Pisa.
EGEE is a project funded by the European Union under contract IST Tools survey status, first experiences with the prototype Diana Bosio EGEE.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
Portal Update Plan Ashok Adiga (512)
EGEE is a project funded by the European Union under contract IST Unit testing coordination and interface testing. David Collados Testing Team.
GLite build and integration system Building and Packaging Robert HARAKALY
JRA2: Quality Assurance Overview EGEE is proposed as a project funded by the European Union under contract IST JRA.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Maite Barroso - 10/05/01 - n° 1 WP4 PM9 Deliverable Presentation: Interim Installation System Configuration Management Prototype
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
EGEE is a project funded by the European Union under contract IST Installation and configuration of gLite services Robert Harakaly, CERN,
Tests at Saclay D. Calvet, A. Formica, Z. Georgette, I. Mandjavidze, P. Micout DAPNIA/SEDI, CEA Saclay Gif-sur-Yvette Cedex.
GLite build and integration system Building and Packaging Robert HARAKALY
DataGrid is a project funded by the European Commission under contract IST EDG Baseline API Document Document build description and current.
DataGrid is a project funded by the European Commission under contract IST QAG activity report On behalf of the QAG
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Update on Status of Fabric Global Schema Maite Barroso 10/12/2002
Open Science Grid Configuring RSV OSG Resource & Service Validation Thomas Wang Grid Operations Center (OSG-GOC) Indiana University.
Development Environment
Advanced Programing practices
DataGrid Quality Assurance
The COSMO Coding Standards Some Highlights
NA4 Test Team Status Test meeting, 07/09/04
Module 01 ETICS Overview ETICS Online Tutorials
Advanced Programing practices
The COSMO Coding Standards Some Highlights
Presentation transcript:

Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002

Maite Barroso – Global Schema - 10/12/ n° 2 What is the developers’ guide? This guide provides guidelines for developing code for the European DataGrid project. It is intended to be the definitive source of information for everything which the developer needs to know. It has been constructed with information taken from a number of other document which it supersedes. These include: initial Developer’s Guidelines Building Conventions DataGrid Naming Conventions The Quality Group is responsible for updating/maintaining it.

Maite Barroso – Global Schema - 10/12/ n° 3 Enforcement of the proposed guidelines It is realised that some of the obligatory rules cannot be enforced immediately for existing code. However, the QAG expects to see a shift towards following the obligatory rules and expects that all new code will conform as it is written. Random cross-checks of code and documentation done by QAG members

Maite Barroso – Global Schema - 10/12/ n° 4 Guide Skeleton Software Packages Automatic Build System Environment Interfaces and APIs Documentation Code management Test and Validation process Style and Naming Conventions Integration Procedure

Maite Barroso – Global Schema - 10/12/ n° 5 Software Packages Developers must provide a complete, accurate list of the dependencies for each package. When external packages are needed, developers must check if they are already inthe external packages section of the DataGrid repository. If not or if a different version is needed, the developer must contact the Integration Team to discuss possible conflicts with other work package requirements. Once there is agreement the package will be added to the repository. The packaged code must be entirely relocatable via the environmental variable EDG_LOCATION

Maite Barroso – Global Schema - 10/12/ n° 6 Automatic Build System Packages are created from tagged versions of CVS modules. For each package version x.y.z there must be a corresponding tag vx_y_z of the CVS module. Automatic Build on demand (BOD) is trigered when: A regular release tag (like v1_0_2) is set; the built RPM will immediatly be published. A special “build” tag of the form build[0-9]*, that is the string build followed by any arbitrary number. The produced RPMs will not be published in that case.

Maite Barroso – Global Schema - 10/12/ n° 7 Environment EDG software services shall source/parse a top level EDG configuration file, and shall not rely on this being previously done This file will have a key-value based syntax, containing all the needed basic prefixes: EDG_LOCATION /opt/edg EDG_LOCATION_VAR $EDG LOCATION/var EDG_TMP /tmp Daemons: should not run as root All initialization of a daemon should be done with the init.d script which controls the daemon. The init.d script should minimally support the start, stop, status, and restart methods.

Maite Barroso – Global Schema - 10/12/ n° 8 Interfaces and APIs API guidelines: The API should be managed as a separate package whenever possible. This is to ensure that the code is not tied in any way to the implementation. The interface package should be versioned independently of any implementation. This makes it very clear when an API changes. For web and grid services, language specific bindings must be derived from a WSDL document whenever possible. This allows the functionality of a service to be defined in a language independent manner. Interface versioning: guidelines to maintain versions of interface packages.

Maite Barroso – Global Schema - 10/12/ n° 9 Documentation README and INSTALL files API documentation should be provided with Doxygen for C/C++ code, JavaDoc for Java code and POD for Perl. Recommended source formats for end-user documentation include sgml/XML, html and LATEX. There must be a man page for each executable and each configuration file. Those man pages have to be installed under /opt/edg/share/man by default.

Maite Barroso – Global Schema - 10/12/ n° 10 Code Management Guidelines on version numbering: Version numbers should be in the format version.revision.patch flavour, e.g Organization and access to the cvs repository Organization and access to the package repository

Maite Barroso – Global Schema - 10/12/ n° 11 Test and Validation process This section describes the release process as a cycle of well defined every day activities (development- integrating-testing), application testing and the system certification leading to the next software release: WP development and unit tests Integration Application validation Testbed structure

Maite Barroso – Global Schema - 10/12/ n° 12 Style and naming Conventions It contains basic Java and C++ coding and naming conventions

Maite Barroso – Global Schema - 10/12/ n° 13 Integration Procedure Detailed description of the integration procedure: What needs to be provided before the integration starts (autobuilt RPMs, automatic configuration, documentation, unit tests) The package will be built from CVS with the autobuild system. If it doesn’t build, the integration for this package ends. The work package must contact the technical coordinator to schedule a new slot for integration. If the unit tests fail, the work package must immediately correct the problem and provide a new tagged package. If the problem cannot be corrected immediately, the integration for this package ends and the work package must schedule a new slot with the technical coordinator.

Maite Barroso – Global Schema - 10/12/ n° 14 Present status The official first version is not out yet. It is presently being reviewed by QAG and thecnical coordinator. It will be made public before Christmas. The latest version is: Please, read it and apply it send me your comments if you strongly disagree with any guideline