java development for irods · java development for irods java development update irods user group...
TRANSCRIPT
![Page 1: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/1.jpg)
Java Development for iRODS
Java Development Update iRODS User Group Meeting 2015
Mike Conway
![Page 2: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/2.jpg)
What is the deal?
It may appear confusing from the outside, DICE shifted to DFC and the Consortium picked up the core server
Python developed by iPlant and picked up by Antoine in Consortium.
Java and PHP maintained by me at DFC, for DFC development, with PHP ‘catch as catch can’. I’m now 10% Consortium so I can do some support work.
![Page 3: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/3.jpg)
Client Dev Going Forward
Part of 4.2+ strategy
Components
Migrate functionality back to server as coarse-grained operations, less chatty
Standard representation of iRODS protocol (e.g. Avro or ProtoBuf) with generated object bindings
Phased migration across all clients
(PHP, Python, Java, C++)
![Page 4: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/4.jpg)
![Page 5: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/5.jpg)
Let’s Build Jargon
git clone https://github.com/DICE-UNC/jargon.git
cd jargon
mvn install -Dmaven.test.skip=true
![Page 6: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/6.jpg)
Maven from GitHub
Best we can do for now, sorry. Working with Consortium to do more friendly deployment automation.
For now we host Maven Repo using GitHub web server
https://github.com/DICE-UNC/DICE-Maven
![Page 7: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/7.jpg)
Example POM using Jargon - set GitHub repo
![Page 8: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/8.jpg)
Example POM using Jargon - set Jargon coordinates
![Page 9: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/9.jpg)
Setting Up Testing
mvn install without skip flag will run all tests
A test server needs to be configured with expected resources, users, see the setup scripts for stand-alone and federated setup in jargon/test-scripts
Settings for maven in home/.m2/settings.xml to match configured grid, see sample-maven-settings.xml in jargon/test-scripts
mvn install will create a testing.properties file in src/test/resources and launch the testing
See: https://github.com/DICE-UNC/jargon/wiki/Setting-up-unit-tests
![Page 10: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/10.jpg)
Quick View
IRODSAccount defines target grid and identity
IRODSSession
provides hooks to retrieve a service factory and return it
provides a cache of expensive things, like configuration and server profile information
IRODSProtocolManager
pluggable source of connections (one per request, pool, cache)
![Page 11: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/11.jpg)
Session
Based on Hibernate session,
Each connection stateful, ThreadLocal
![Page 12: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/12.jpg)
Factory and Services
IRODSAccessObjectFactory provides a way to obtain service objects
DAO -> AO
![Page 13: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/13.jpg)
FileFactory provides java.io
IRODSFile, InputStream, OutputStream, etc
![Page 14: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/14.jpg)
Spring Friendly
![Page 15: Java Development for iRODS · Java Development for iRODS Java Development Update iRODS User Group Meeting 2015 Mike Conway . What is the deal? It may appear confusing from the outside,](https://reader035.vdocuments.us/reader035/viewer/2022070809/5f082f7b7e708231d420c39c/html5/thumbnails/15.jpg)
Let’s See Some Code