GLAST Infrastructure Introduction
Goals of the Project
The primary goal of the project is to provide the software architecture and infrastructure for the GLAST Core Team to accomplish its mission. Specific goals include:
- Distributed SOA for GLAST data processing projects
- Lightweight, scaleable maintainable
- Team oriented approach (as opposed to individual contributors)
- Maximize talents of a small group
- Programmers
- Web Developers
- Occasionally-connected programmer/manager/astronomer
- Utilize talents of JAS group
There are three sets of expected users:
User |
Description |
Time Scale |
---|---|---|
Core team |
Develop and maintain GLAST data processing projects |
now |
GLAST collaborators |
Use the GLAST data processing projects to accomplish the GLAST mission |
now |
Astronomy community at large |
Consumers of GLAST data products |
post-launch (2006) |
GLAST Data Processing Projects
The GLAST data processing projects and the platforms they run on.
Project |
Linux |
Windows |
---|---|---|
Processing Pipeline (GINO) |
|
|
Release Manager |
||
Installer |
||
Tag Collector |
|
|
System Tests |
||
Data Access |
Integration Tier
The back-end legacy components and the platforms that need access to them.
Legacy System |
Linux |
Windows |
---|---|---|
Oracle |
||
LSF |
||
NFS |
||
Windows File System |
|
|
mstore |
|
|
cvs |
||
gcc |
|
|
cl.exe |
|
|
cmt |
||
gleam.exe |
||
ROOT |
Requirements
The list of requirements of each subsystem based on real use-cases.
Requirement |
GINO |
RM |
Installer |
TC |
System Tests |
Data Access |
---|---|---|---|---|---|---|
Web configuration/editing |
|
|
|
|
|
|
Web reports |
||||||
Single Sign-On |
||||||
Persistence (CRUD) |
|
|
|
|
||
Reports (DB Queries) |
||||||
Batch Submission |
|
|
|
|||
Scheduler |
|
|
||||
Event Notification |
|
|
||||
Automated email |
|
|
|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> <hibernate-mapping package="grits.gino.domain"> <class name="TaskImpl" table="TASK"> <id name="id" type="long" unsaved-value="null"> <column name="TASK_PK" /> <generator class="native"> <param name="sequence">TASK_SEQ</param> </generator> </id> <property name="name" type="string"> <column name="TASKNAME" length="30" unique="true" not-null="true" /> </property> <property name="datasetBasePath" type="string"> <column name="BASEFILEPATH" length="200" not-null="false" /> </property> <property name="runLogPath" type="string"> <column name="RUNLOGFILEPATH" length="200" not-null="true" /> </property> <many-to-one name="type"> <column name="TASKTYPE_FK" not-null="true" /> </many-to-one> <set name="taskProcessSortedSet" inverse="true" cascade="all-delete-orphan" sort="natural" order-by="SEQUENCE asc"> <key column="TASK_FK" /> <one-to-many class="TaskProcessImpl" /> </set> <set name="datasetSetInternal" inverse="true" cascade="all-delete-orphan"> <key column="TASK_FK" /> <one-to-many class="DatasetImpl" /> </set> </class> </hibernate-mapping>