Heliophysics Integrated Observatory
Coordinated Data Analysis Workshop
24
thof October 2011
Trieste
Architecture and Demonstrations
Mapping the General Science Use Case to
an Architecture
Structural Architecture
Se rv ic e' U se rIn teg ratio n'Test' Infr astru ctu re HELIO'Fro nt en d' (HFE ) A cc es s
HELIO'Clie nt 'AP I'(Java )
Se rv ic e' Pr ov id er E na blin g'Services
T aver na 'Se rve r T aver na
Wo rkb en ch
Disco ver y
O b se rvat io n' Co ver age 'Se rvice'
(OC S) H ELIO'Pro cessin g' Se rvice '(H PS) HELIO'Sto rage ' Se rvice'(HSS) M eta dat a HELIO'Even t' Cat alog'(HE C) IDL'Clie nt In fr as tr uc tu re HE LIO 'R eg istr y' Se rvice'(H RS ) HELIO'M on it or in g' Se rvice '(H MS ) HE LIO 'F ron te nd H ELIO'Fro nt en dSta nd alon e'In te rface s HELIO'Fro nt en d
HELIO'Fro n ten dApp licatio ns3r dIp ar ty'
HELIO'Instr um en t' Locat io n'Ser vice '
(ILS) HELIO'Instr um en t'
C ap ab ilit ie s' S ervice'(IC S) Dat a'E valua tio n '
Ser vice'(DE S) HE LIO 'Fe atu re'
C atalo g'(H FC)
Pro p agat io n' M od el'(P M )
C lien t'In te grat io n' Se rvice'(CIS) ID L'API
C on text 'Se rvices' (CX S) Data Dat a'Access' P ro vid er '(D PAS)
Service User
Access Layer
Infrastructure
Service Provider
1
3
4
2
ACCESS LAYER
Se rv ic e' U se rIn teg ratio n'Test' Infr astru ctu re HELIO'Fro nt en d' (HFE ) A cc es s
HELIO'Clie nt 'AP I'(Java )
Se rv ic e' Pr ov id er E na blin g'Services
T aver na 'Se rve r T aver na
Wo rkb en ch
Disco ver y O b se rvat io n' Co ver age 'Se rvice'
(OC S) H ELIO'Pro cessin g' Se rvice '(H PS) HELIO'Sto rage ' Se rvice'(HSS) M eta dat a HELIO'Even t' Cat alog'(HE C) IDL'Clie nt In fr as tr uc tu re HE LIO 'R eg istr y'
Se rvice'(H RS ) HELIO'M on it or in g'Se rvice '(H MS )
HE LIO 'F ron te nd H ELIO'Fro nt en dSta nd alon e'In te rface s HELIO'Fro nt en d
HELIO'Fro n ten dApp licatio ns3r dIp ar ty'
HELIO'Instr um en t' Locat io n'Ser vice '
(ILS) HELIO'Instr um en t'
C ap ab ilit ie s' S ervice'(IC S) Dat a'E valua tio n '
Ser vice'(DE S) HE LIO 'Fe atu re' C atalo g'(H FC)
Pro p agat io n' M od el'(P M )
C lien t'In te grat io n' Se rvice'(CIS) ID L'API
C on text 'Se rvices' (CX S)
Data Dat a'Access' P ro vid er '(D PAS)
hel
INFRASTRUCTURE LAYER
Se rv ic e' U se rIn teg ratio n'Test' Infr astru ctu re HELIO'Fro nt en d' (HFE ) A cc es s
HELIO'Clie nt 'AP I'(Java )
Se rv ic e' Pr ov id er E na blin g'Services
T aver na 'Se rve r T aver na
Wo rkb en ch
Disco ver y O b se rvat io n' Co ver age 'Se rvice'
(OC S) H ELIO'Pro cessin g' Se rvice '(H PS) HELIO'Sto rage ' Se rvice'(HSS) M eta dat a HELIO'Even t' Cat alog'(HE C) IDL'Clie nt In fr as tr uc tu re HE LIO 'R eg istr y'
Se rvice'(H RS ) HELIO'M on it or in g'Se rvice '(H MS )
HE LIO 'F ron te nd H ELIO'Fro nt en dSta nd alon e'In te rface s HELIO'Fro nt en d
HELIO'Fro n ten dApp licatio ns3r dIp ar ty'
HELIO'Instr um en t' Locat io n'Ser vice '
(ILS) HELIO'Instr um en t'
C ap ab ilit ie s' S ervice'(IC S) Dat a'E valua tio n '
Ser vice'(DE S) HE LIO 'Fe atu re' C atalo g'(H FC)
Pro p agat io n' M od el'(P M )
C lien t'In te grat io n' Se rvice'(CIS) ID L'API
C on text 'Se rvices' (CX S)
Data Dat a'Access' P ro vid er '(D PAS)
SERVICE USER LAYER
Se rv ic e' U se rIn teg ratio n'Test' Infr astru ctu re HELIO'Fro nt en d' (HFE ) A cc es s
HELIO'Clie nt 'AP I'(Java )
Se rv ic e' Pr ov id er E na blin g'Services
T aver na 'Se rve r T aver na
Wo rkb en ch
Disco ver y
O b se rvat io n' Co ver age 'Se rvice'
(OC S) H ELIO'Pro cessin g' Se rvice '(H PS) HELIO'Sto rage ' Se rvice'(HSS) M eta dat a HELIO'Even t' Cat alog'(HE C) IDL'Clie nt In fr as tr uc tu re HE LIO 'R eg istr y'
Se rvice'(H RS ) HELIO'M on it or in g'Se rvice '(H MS )
HE LIO 'F ron te nd H ELIO'Fro nt en dSta nd alon e'In te rface s HELIO'Fro nt en d
HELIO'Fro n ten dApp licatio ns3r dIp ar ty'
HELIO'Instr um en t' Locat io n'Ser vice '
(ILS) HELIO'Instr um en t'
C ap ab ilit ie s' S ervice'(IC S) Dat a'E valua tio n '
Ser vice'(DE S) HE LIO 'Fe atu re' C atalo g'(H FC)
Pro p agat io n' M od el'(P M )
C lien t'In te grat io n' Se rvice'(CIS) ID L'API
C on text 'Se rvices' (CX S)
Data Dat a'Access' P ro vid er '(D PAS)
Service User Layer I:
HELIO Front End
HELIO IDL Client – Communication
IDL$Client$Consumer
IDL$Client$Provider
HTTP$GET
IDL$Struct
Java$Client$API
Service User Layer II:
IDL Low Level Clients
IDL> o=obj_new('heliovo')
% Compiled module: HELIOIDLAPI.
IDL> helio = heliovo()
% Compiled module: HELIOIDLAPI.
IDL> o->help
IDL> heliovo help
IDL> helio = heliovo() ; create heliovo object
IDL>
IDL> helio->print, /service ; print available services
IDL> helio->find, service='SERVICENAME' ; search for service with name SERVICENAME
IDL> service = helio->get(service=SERVICE) ; gets service object of SERVICE (Name or ID)
IDL>
IDL> service->print, /catalog ; print available catalogs for this helio_service
IDL> service->find, catalog='CATALOGNAME' ; search for catalog with name CATALOGNAME
IDL> catalog = service->get(catalog=catalog) ; gets catalog object of CATALOG (Name or ID)
IDL>
IDL> catalog->set, time_interval=['1-may-2005','2-may-2005'] ; set time_interval OR
IDL> catalog->set, where='WHERE_STATEMENT' ; set where statement
IDL>
IDL> data = catalog->get(/struct) ; run the query and directly parse the data OR
IDL>
IDL> result = catalog->get(/query) ; run the query
IDL>
IDL> x = wget(url=result->get(/url), file='my.xml') ; download result and save it to my.xml
IDL> myxml = wget(url=result->get(/url)) ; download result to variable myxml
IDL>
IDL> parser = obj_new('votable2struct’ ) ; create votable parser object