doc.devdocs.level0-tasks.doc Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fcrepo-client Show documentation
Show all versions of fcrepo-client Show documentation
The Fedora Client is a Java Library that allows API access to a Fedora Repository. The client is typically one part of a full Fedora installation.
The newest version!
??ࡱ? > ?? 2 4 ???? 1 ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 7 ?? q bjbjUU 7| 7| q ?? ?? ?? l ? ? ? ? ? ? ? ? V V V V b $ ? 0 2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $ b ? ` ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?
?
?
? ? ? ? ? ? ? ?
? ? ?
?
? r ? T ? ? ? ? ? ???ɧ??? ? V
? ? 0 0 ? ? ?
? ? ?
? ? ? ? ? ? ? Mellon Fedora
Phase 1
Level 0 Tasks
Duration: 4-6 weeks
Objective: 360-degree test demonstrating creation, replication, and dissemination of the Test Set 0 digital object.
Deliverable: basic functioning code modules for API-S, API-M, and API-A, fully tested, in CVS
1. Create Test Dataset 0 (SANDY):
Create an extension to the METS XML schema that expresses everything we need.
Create a valid level 0 test digital object in METS that provokes all scenarios of datastreams and disseminators defined in the spec.
Create the bDef and bMech digital objects to support the level 0 object
Standard image via simple http get
MrSid via HTTP binding
Image Watermark via SOAP binding
2. API-M Subsystem (CHRIS):
Configure and test the basic API-M Web service using Axis/SOAP for now.
WSDL for API-M
Java interface for API-M (FedoraManagement)
Simple deployment of service
3. API-S Subsystem (PAUL, CHRIS, SANDY):
Define first-cut abstract classes (SANDY; first cut in CVS):
ObjectReader : methods to get whole object or components
ObjectWriter : methods to put/set whole object or components
DOMReader : methods instantiate DOM from object read from persistent storage
DOMWriter : methods to take DOM and write object to persistent storage
Write DOMFileReader which implements DOMReader (SANDY)
method implementations necessary to read object xml file into DOM
consults digital object registry to locate file given PID.
Write DOMFileWriter which implements DOMWriter (CHRIS)
method implementations necessary to write object xml file from DOM
writes to digital object registry to record PID and file location.
Write METSObjectReader which implements ObjectReader (SANDY)
method implementations necessary to obtain components from the METS XML
will instantiate a DOMFileReader implementation.
Decide whether all behavior def and mech info should be avail via digital object that uses it, or whether clients should just find the PIDS of behavior objects via the ObjectReader, and then instantiate a separate ObjectReader instance on each behavior object.
Write METSObjectWriter which implements ObjectWriter (CHRIS)
method implementations necessary to create components in the METS XML
will instantiate a DOMFileWriter implementation.
Write SQLObjectReader which implements ObjectReader (PAUL)
method implementations necessary to obtain object components from SQL db.
Write SQLObjectWriter which implements ObjectWriter (PAUL)
method implementations necessary to write object components to SQL db.
Write ObjectReplicator (PAUL)
Replicates objects from XML METS to SQL db.
Uses a METSObjectReader
Uses an SQLObjectWriter
Implement subclass of METSObjectReader with a special interface (BehaviorDefReader?) to:
Get WSDL abstract definitions
Get Method List: (return an array of methods in a Fedora data structure?)
Implement subclass of METSObjectReader with a special interface (BehaviorMechReader?) to:
Get WSDL with service implementations
Get binding spec
4. API-A Subsystem (ROSS):
Write the basic API-A servlet and run the simple disseminations on level 0 test object.
Since the level 0 test object provokes all scenarios note which one's not supported by db decide if there are ways to branch to XML parsing to support those scenarios (e.g., dissemination that uses SOAP mechanism)
5. SOAP-Enabled Behavior Service (CHRIS):
Create a new SOAP-enabled service for testing (e.g., Graphing service)
Create test digital object that will use the service in METS.
Create test behavior definition object to define service methods
Create test behavior mechanism object to define service bindings
Deploy service.
Work with Ross on how to test disseminations via API-A.
1 : F ? ? 1 ? ? g ? ? ? ? ? ?
?
G P ?
?
?
?
?
? ? ? ? r ? ? ? ? " 8 9 p q ?????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5?\? CJ
5?CJ \?* $ & ; ?
1 L o ? ? ? ? I ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
&F 7$ 8$ H$
&