SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Último

Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
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
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
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
 

Último (20)

Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
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
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
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
 

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!