Andrius,

This is an excellent opportunity to have the communities exchange ideas on
this topic.  A question for the Fedora developers...  In the project to
Mavenize Fedora, is there the capability yet to initialize an in memory or
temporary instance of fedora for testing against? Possibly via Jetty, such
that an implementation of a DSpace StorageService provider could be tested
against it during maven packaging?  This would be a very critical tool
necessary for completing integration activities, not just in the GSoC
project, but also for other parties interested in integrating against Fedora
in the near future.

See my further comments below:

2009/8/1 Andrius Blažinskas <[email protected]>

> Dear community,
>
> I'm one of this year GSOC students and I'm working on "DSpace2
> storage-fedora module implementation" project. As project name
> suggests, this module should allow DSpace run on top of Fedora.
> Targeted versions are DSpace 2.x and Fedora 3.x. It is aimed that this
> module should fully support CRUD operations for all data coming from
> DSpace2. To ensure that, comprehensive DSpace2-Fedora3 model mapping
> should be done. After going through many possible mapping variants
> some ideas have settled down and all of them can be found at wiki:
>
> http://wiki.dspace.org/index.php/Google_Summer_of_Code_2009_Fedora_Integration
> .
> Again, if anyone has any recommendations or ideas how it can be
> improved, please comment (on wiki or here).
>
> Now implementation part. Generally, main module methods will be
> implementations of existing StorageService, StorageProvider,
> StorageWriteable, ShutdownService interfaces, though there are some
> thoughts about using separate content, metadata and relationship
> services (later two highly overlap, if not the same). I wont go deep
> into code details and specifics, but still there are some semi-open
> questions.
> Last year, when work has been done on pretty similar project
> (
> http://wiki.dspace.org/index.php/Google_Summer_of_Code_2008_Fedora_Integration
> ),
> DAO prototype was used. It was pretty simple to "test" and get visual
> feedback of implemented functionallity by simply going through DSpace
> UI (I used JSPUI): filling and submitting required data and then
> browsing it. So my question here: whether there is any DSpace2 UI
> (XMLUI?) providing any means to submit content? For now, my simple
> solution is writing tests which execute implemented methods and
> directly play with sandbox Fedora repository. Here I touched another
> question - testing. To my understanding, testing in this case should
> be done with real Fedora repository, without using any sort of mock
> objects.


We have been trying to plan a couple projects necessary to get the DSpace
2.0 testable capabilities you are talking about below.  There are a couple
recent problems since OR09 that have caused the 2.0 XMLUI to no longer
function properly.  There were refactorings of the StorageService and
LocationServices that broke rendering resources within the XMLUI.   For the
OR09, our work hardcoded into place the Memory based StorageService
implementation and populated it with some simple contents... see:

https://scm.dspace.org/svn/repo/modules/xmlui/trunk/xmlui-test/src/main/resources/META-INF/cocoon/spring/block-servlet-service.xml
https://scm.dspace.org/svn/repo/modules/xmlui/trunk/xmlui-test/src/main/java/org/dspace/xmlui/test/TestModelInit.java

When this cocoon block is loaded by the XMLUI Cocoon webapp. It populates
whatever StorageService is presently configured with some example content.
This can be repurposed in your tests as well, but I would highly recommend
writing tests that are UI independent that provide similar capability.

I would like to see a discussion of this with the DSpace 2.0 developers next
week sometime and your needs can provide the pressure neccessary to correct
the UI rendering issues.   I would however, focus on creating your own
configuration of Feodra for your StorageService that can be used for testing
within your maven project, when the tests are run.  I would recommend until
the answer for an inmemory fedora test instance is provided, a standalone
Fedora instance be installed and required for testing the DSpace 2.0
StorageService implementation against.

Another open question is, whether I should try implementing some
> asynchronous execution (on separate threads) of main storage-fedora
> interface methods, or should that be left for DSpace2 event mechanism?
> Because of interaction with Fedora, module methods usually take some
> time to return (at least with FedoraClient), which at some point may
> cause undesired effect - lag in UI (last year created prototype showed
> this behavior).
>
>
> Best regards,
> Andrius Blažinskas
>

It is unfortunate that there is an experienced latency in the response time
with Fedora, is this a problem that should be addressed within the Fedora
community.  It would seem to me, that your proposal (and I've seen others
making this one-off proposal as well) to work asynchronously is reactionary
rather that strategically corrective.  If Fedora's response time is poor for
either writing and/or reading content, then someone needs to address this
issue within the Fedora community.  As a storage solution for DSpace, this
would need to be the case for it to be a practical and effective
integration.  I would recommend not using the band-aid of asynchronous
client side activity to correct for latencies in fedora and instead we work
to identify these latencies and assure the Fedora developers are aware that
they need correcting.  By having DSpace 2.0 require specific performance
standards, there would be pressure to meeting these standards within the
third party storage solutions we are attempting to provide for.

Finally I would recommend seeking some advice on this topic from the Group
at Northwestern University who are working on the Fedora/JCR connector.  We
could find out if they expereince this latency issues and discuss
appropriate strategies for resolution if they do exist.  Note, Xin Xiang and
Jonathan Smith have worked on some performance testing already with JCR and
Fedora which would be useful to do a comparision against.  I've included
them into this discussion thread.

Cheers,
Mark

-- 
Mark R. Diggory
@mire - http://www.atmire.com
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Fedora-commons-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers

Reply via email to