SlideShare une entreprise Scribd logo
1  sur  23
e-Infrastructure & Data Services
Features and implementations
Catania, 14/03/2014Riccardo Rotondo
riccardo.rotondo@ct.infn.it
Outline
 Requirements
 e-Infrastructure Service
 Data Service
 Workflow
 Javadocs
 Implementations
 Demo
2
e-Infrastructure & Data Service
 We designed the architecture to provide a Service
accessible from your application.
 Modular attachable resources available to the SG thanks
to the straight coupled service that allows read/write
data from several e-Infrastructures.
3
e-Infrastructure Service
 Four different kind of e-Infrastructure identified:
 Local
 Remote
 Grid
 Cloud
 Possibility of defining different Policy and Quota
according e-infrastructures/users availability/needs
 Default and favorite e-Infrastructures selectable
 Disaster recovery and (cross) file replica.
4
e-Infrastructure Service
 If you want to copy a file on a file system you plug-in
an external storage to it.
5
HFS
ext4
NFS
FAT
e-Infrastructure Service
 On a SG now you are able to plug-in an e-
Infrastructure.
6
Local Storage
Remote Storage
Grid Storage
Cloud Storage
Data Services
 Business logic related to file management totally
independent from the underneath technology
 All the common features associated to file provided:
create, copy, delete, move and sharing.
 For each features, we implemented a different Storage
Interface that translates the single commands according
to the technology
 All data are stored in different tables in order to let users
organise files on a virtual file system.
7
Data Service
8
Local Storage
Remote Storage
Grid Storage
Cloud Storage
Different
implementations
of the same
storage interface
Upload
workflow
9
1.
Sign
in
Database
5. File
Upload
4. e-Infra
found
7. Update
6. Upload on
e-Infras
2. Upload
request
3. e-Infra
Discovery
Data Management on various
e-Infrastructures
10
Dec ’13:
release 0.1
Service Implementation
 Package name
 Namespace
 Entity
 Interface type
 Finder
 Ordered value
 One-to-many relation
 Many-to-many relation
 Fake entity
Riccardo RotondoTutorial on Science
Gateways, Roma,
service.xml
Database created (automatically by service
buider)
12
mysql> show tables like 'eInfrSrv%';
+---------------------------------+
| Tables_in_lportal61 (eInfrSrv%) |
+---------------------------------+
| eInfrSrv_File |
| einfrsrv_files_tags |
| einfrsrv_files_virtualpaths |
| einfrsrv_infrastructure |
| einfrsrv_properties |
| einfrsrv_storageurls |
| einfrsrv_tag |
| einfrsrv_virtualpath |
+---------------------------------+
File
Directory
File url on storage
e-Infrastructures
File tags
Properties (reffered to e-Infra)
Javadocs
13
 http://www.catania-science-gateways.it/javadocs/einfrsrv-portlet/index.html
Model & Service Implementation
14
Custom model
implementation
Custom service
implementation
Main features
15
 e-Infrastructure:
 Define several e-Infrastructures;
 Associate each e-Infra with Policy and Quota
 Storage interface:
 A standard interface defined to support any storage solution
simply implementing the abstract method
 Directory:
 File tree data organisation
e-Infrastructure Service
(it.infn.ct.einfrsrv.sb.service.impl.InfrastructureLocalServiceImpl)
16
 Infrastructure
getDefaultInfrastructure(long
companyId, long userId,
java.lang.String portletId,
java.lang.String type)
Data Service Storage (it.infn.ct.einfrsrv.data.storage)
17
 java.lang.StringgetStoragePath()
 boolean isURLAvailable(java.lang.String url)
 java.lang.StringputFile(java.lang.String filePath)
 java.lang.StringputFile(java.lang.String source,
java.lang.String destination)
 boolean writeFileToStream(java.lang.String
filePath, java.io.OutputStream out)
 boolean removeFile(java.lang.String filePath)
Data Service File
(it.infn.ct.einfrsrv.sb.service.impl.FileLocalServiceImpl)
18
 boolean upload(long companyId, java.lang.String
companyName, long userId, java.lang.String
portletId, Infrastructure infraParam,
java.lang.String fileName, java.lang.String
source, java.lang.String virtualPathParam,
java.lang.String[] tagsParam)
 java.util.List<File> listFiles(long userId,
java.lang.String virtualPathParam)
 boolean writeFileToStream(long userId, long
fileId, java.io.OutputStream out)
 java.net.URL getURL(long userId, long fileId)
Data Service Directory
(it.infn.ct.einfrsrv.sb.service.impl.VirtualPathLocalServiceImpl)
19
 VirtualPath makeDir(java.lang.String
parentPath, java.lang.String path,
long userId)
Portlet accessing the service
20
 Add to liferay-plugin-package.properties:
 required-deployment-contexts=einfrsrv-portlet
Source & Binary
21
 Sourceforge:
http://sourceforge.net/p/ctsciencegtwys/einfsrv/sourc
es/HEAD/tree/
 Rel 0.1:
http://sourceforge.net/p/ctsciencegtwys/einfsrv/sources/H
EAD/tree/tags/release-0.1/
 Binaryhttps://sourceforge.net/projects/ctsciencegtwys/files
/eInfrastructureService/Release/0.1/
Demo
22
 Whishing to see e-Infra & Data service in action? Request
access to GARR Science Gateway (https://sgw.garr.it)
 Remember the service is still under development so your
feedback is welcome!
Questions ?
23

Contenu connexe

Similaire à e-Infrastructure & Data Service

Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talkDaniel Kreuzhofer
 
Splunk app for stream
Splunk app for stream Splunk app for stream
Splunk app for stream csching
 
Optimizing windows 8 for virtual desktops - teched 2013 Jeff Stokes
Optimizing windows 8 for virtual desktops - teched 2013 Jeff StokesOptimizing windows 8 for virtual desktops - teched 2013 Jeff Stokes
Optimizing windows 8 for virtual desktops - teched 2013 Jeff StokesJeff Stokes
 
IT Network Asset Discovery & Inventory
IT Network Asset Discovery & InventoryIT Network Asset Discovery & Inventory
IT Network Asset Discovery & Inventoryikirmer
 
Automated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishAutomated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishJose De La Rosa
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_AppajiAppaji K
 
Hyper v and live migration on cisco unified computing system - virtualized on...
Hyper v and live migration on cisco unified computing system - virtualized on...Hyper v and live migration on cisco unified computing system - virtualized on...
Hyper v and live migration on cisco unified computing system - virtualized on...Louis Göhl
 
Better Network Management Through Network Programmability
Better Network Management Through Network ProgrammabilityBetter Network Management Through Network Programmability
Better Network Management Through Network ProgrammabilityCisco Canada
 
Linux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic ControlLinux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic Controlsandy_vasan
 
Matrix - One-year in, Matthew Hodgson, Matrix.org
Matrix - One-year in, Matthew Hodgson, Matrix.orgMatrix - One-year in, Matthew Hodgson, Matrix.org
Matrix - One-year in, Matthew Hodgson, Matrix.orgAlan Quayle
 
Service Fabric and Azure Service Fabric Mesh introduction
Service Fabric and Azure Service Fabric Mesh introductionService Fabric and Azure Service Fabric Mesh introduction
Service Fabric and Azure Service Fabric Mesh introductionMikkel Mørk Hegnhøj
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...
6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...
6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...Jürgen Ambrosi
 
The Overview of Discovery and Reconciliation of LTE Network
The Overview of Discovery and Reconciliation of LTE NetworkThe Overview of Discovery and Reconciliation of LTE Network
The Overview of Discovery and Reconciliation of LTE NetworkIRJET Journal
 
The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS SchemaMark Leith
 

Similaire à e-Infrastructure & Data Service (20)

Microservice and Service Fabric talk
Microservice and Service Fabric talkMicroservice and Service Fabric talk
Microservice and Service Fabric talk
 
Splunk app for stream
Splunk app for stream Splunk app for stream
Splunk app for stream
 
Optimizing windows 8 for virtual desktops - teched 2013 Jeff Stokes
Optimizing windows 8 for virtual desktops - teched 2013 Jeff StokesOptimizing windows 8 for virtual desktops - teched 2013 Jeff Stokes
Optimizing windows 8 for virtual desktops - teched 2013 Jeff Stokes
 
IT Network Asset Discovery & Inventory
IT Network Asset Discovery & InventoryIT Network Asset Discovery & Inventory
IT Network Asset Discovery & Inventory
 
Automated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishAutomated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and Redfish
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
Resume_Appaji
Resume_AppajiResume_Appaji
Resume_Appaji
 
Hyper v and live migration on cisco unified computing system - virtualized on...
Hyper v and live migration on cisco unified computing system - virtualized on...Hyper v and live migration on cisco unified computing system - virtualized on...
Hyper v and live migration on cisco unified computing system - virtualized on...
 
Better Network Management Through Network Programmability
Better Network Management Through Network ProgrammabilityBetter Network Management Through Network Programmability
Better Network Management Through Network Programmability
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Middleware
MiddlewareMiddleware
Middleware
 
Cv
CvCv
Cv
 
Linux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic ControlLinux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic Control
 
Matrix - One-year in, Matthew Hodgson, Matrix.org
Matrix - One-year in, Matthew Hodgson, Matrix.orgMatrix - One-year in, Matthew Hodgson, Matrix.org
Matrix - One-year in, Matthew Hodgson, Matrix.org
 
Service Fabric and Azure Service Fabric Mesh introduction
Service Fabric and Azure Service Fabric Mesh introductionService Fabric and Azure Service Fabric Mesh introduction
Service Fabric and Azure Service Fabric Mesh introduction
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...
6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...
6° Sessione - Ambiti applicativi nella ricerca di tecnologie statistiche avan...
 
The Overview of Discovery and Reconciliation of LTE Network
The Overview of Discovery and Reconciliation of LTE NetworkThe Overview of Discovery and Reconciliation of LTE Network
The Overview of Discovery and Reconciliation of LTE Network
 
The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS Schema
 

Dernier

On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 

Dernier (20)

On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 

e-Infrastructure & Data Service

  • 1. e-Infrastructure & Data Services Features and implementations Catania, 14/03/2014Riccardo Rotondo riccardo.rotondo@ct.infn.it
  • 2. Outline  Requirements  e-Infrastructure Service  Data Service  Workflow  Javadocs  Implementations  Demo 2
  • 3. e-Infrastructure & Data Service  We designed the architecture to provide a Service accessible from your application.  Modular attachable resources available to the SG thanks to the straight coupled service that allows read/write data from several e-Infrastructures. 3
  • 4. e-Infrastructure Service  Four different kind of e-Infrastructure identified:  Local  Remote  Grid  Cloud  Possibility of defining different Policy and Quota according e-infrastructures/users availability/needs  Default and favorite e-Infrastructures selectable  Disaster recovery and (cross) file replica. 4
  • 5. e-Infrastructure Service  If you want to copy a file on a file system you plug-in an external storage to it. 5 HFS ext4 NFS FAT
  • 6. e-Infrastructure Service  On a SG now you are able to plug-in an e- Infrastructure. 6 Local Storage Remote Storage Grid Storage Cloud Storage
  • 7. Data Services  Business logic related to file management totally independent from the underneath technology  All the common features associated to file provided: create, copy, delete, move and sharing.  For each features, we implemented a different Storage Interface that translates the single commands according to the technology  All data are stored in different tables in order to let users organise files on a virtual file system. 7
  • 8. Data Service 8 Local Storage Remote Storage Grid Storage Cloud Storage Different implementations of the same storage interface
  • 9. Upload workflow 9 1. Sign in Database 5. File Upload 4. e-Infra found 7. Update 6. Upload on e-Infras 2. Upload request 3. e-Infra Discovery
  • 10. Data Management on various e-Infrastructures 10 Dec ’13: release 0.1
  • 11. Service Implementation  Package name  Namespace  Entity  Interface type  Finder  Ordered value  One-to-many relation  Many-to-many relation  Fake entity Riccardo RotondoTutorial on Science Gateways, Roma, service.xml
  • 12. Database created (automatically by service buider) 12 mysql> show tables like 'eInfrSrv%'; +---------------------------------+ | Tables_in_lportal61 (eInfrSrv%) | +---------------------------------+ | eInfrSrv_File | | einfrsrv_files_tags | | einfrsrv_files_virtualpaths | | einfrsrv_infrastructure | | einfrsrv_properties | | einfrsrv_storageurls | | einfrsrv_tag | | einfrsrv_virtualpath | +---------------------------------+ File Directory File url on storage e-Infrastructures File tags Properties (reffered to e-Infra)
  • 14. Model & Service Implementation 14 Custom model implementation Custom service implementation
  • 15. Main features 15  e-Infrastructure:  Define several e-Infrastructures;  Associate each e-Infra with Policy and Quota  Storage interface:  A standard interface defined to support any storage solution simply implementing the abstract method  Directory:  File tree data organisation
  • 17. Data Service Storage (it.infn.ct.einfrsrv.data.storage) 17  java.lang.StringgetStoragePath()  boolean isURLAvailable(java.lang.String url)  java.lang.StringputFile(java.lang.String filePath)  java.lang.StringputFile(java.lang.String source, java.lang.String destination)  boolean writeFileToStream(java.lang.String filePath, java.io.OutputStream out)  boolean removeFile(java.lang.String filePath)
  • 18. Data Service File (it.infn.ct.einfrsrv.sb.service.impl.FileLocalServiceImpl) 18  boolean upload(long companyId, java.lang.String companyName, long userId, java.lang.String portletId, Infrastructure infraParam, java.lang.String fileName, java.lang.String source, java.lang.String virtualPathParam, java.lang.String[] tagsParam)  java.util.List<File> listFiles(long userId, java.lang.String virtualPathParam)  boolean writeFileToStream(long userId, long fileId, java.io.OutputStream out)  java.net.URL getURL(long userId, long fileId)
  • 19. Data Service Directory (it.infn.ct.einfrsrv.sb.service.impl.VirtualPathLocalServiceImpl) 19  VirtualPath makeDir(java.lang.String parentPath, java.lang.String path, long userId)
  • 20. Portlet accessing the service 20  Add to liferay-plugin-package.properties:  required-deployment-contexts=einfrsrv-portlet
  • 21. Source & Binary 21  Sourceforge: http://sourceforge.net/p/ctsciencegtwys/einfsrv/sourc es/HEAD/tree/  Rel 0.1: http://sourceforge.net/p/ctsciencegtwys/einfsrv/sources/H EAD/tree/tags/release-0.1/  Binaryhttps://sourceforge.net/projects/ctsciencegtwys/files /eInfrastructureService/Release/0.1/
  • 22. Demo 22  Whishing to see e-Infra & Data service in action? Request access to GARR Science Gateway (https://sgw.garr.it)  Remember the service is still under development so your feedback is welcome!