Fedora App Slide 2009 Hastac
-
date post
21-Oct-2014 -
Category
Technology
-
view
1.251 -
download
0
description
Transcript of Fedora App Slide 2009 Hastac
WebService
Interac.veWebApplica.on
SEASR:@Work–FedoraComponents
• QuickIntroduc.onofFedora– RepositoryServerfordigitalcontentandmetadata– DigitalObjects– ServicesandInterfacesProvided– Applica.onProgrammersInterface
• SEASRFedoraComponents• MoveContentfromZoterotoFedorausingSEASRwebserviceend‐pointrunningasadataflow.
• SearchandBrowseFedoraRepositoryusingaSEASRwebbasedapplica.oninterfacerunningasadata‐flow
SEASR:@Work–FedoraComponents
• AboutFedoraCommons:• FedoraCommonsisanon‐profitorganiza.onprovidingsustainabletechnologiestocreate,manage,publish,shareandpreservedigitalcontentasabasisforintellectual,organiza.onal,scien.ficandculturalheritagebybringingtwocommuni.estogether.
• Communi.esofprac.cethatincludescholars,ar.sts,educators,Webinnovators,publishers,scien.sts,librarians,archivists,publishers,recordsmanagers,museumcuratorsoranyonewhopresents,accesses,orpreservesdigitalcontent.
• SoRwaredeveloperswhoworkonthecuSngedgeofopensourceWebandenterprisecontenttechnologiestoensurethatcollabora.velycreatedknowledgeisavailablenowandinthefuture.
• FedoraCommonsisthehomeoftheuniqueFedoraopensourcesoRware,arobustintegratedrepository‐centeredplaUormthatenablesthestorage,accessandmanagementofvirtuallyanykindofdigitalcontent.
• Reference;hWp://www.fedora‐commons.org/about
SEASR:@Work–FedoraComponents
• Fedora’sDigitalObjectModel:– Abstrac5on:
Theobjectmodelisthesamewhethertheobjectisdata,behaviordefini.ons,orbehaviormechanism.ItalsodoesnotmaWerwhatkindofdatathedigitalobjectsisrepresen.ng—text,images,maps,audio,video,geospa.aldataareallthesametoFedora.
– Flexibility:ImplementersofFedoracandesigntheircontentmodelstobestrepresenttheirdataandthepresenta.onrequirementsoftheirspecificusecase.
– Generic:Metadataandcontentare.ghtlylinkedwithinthedigitalobject.
– Aggrega5on:Fedoraobjectscanrefertodatathatisstoredlocallyorthatisstoredonanywebaccessibleserver.
– Extensibility:Fedora’sbehaviorinterfacesareextensiblebecauseservicesaredirectlyassociatedwithdatawithinaFedoraobject.Astheserviceschange,theobjectschangealongwiththem.
SEASR:@Work–FedoraComponents
PersistentID(PID)
FOXMLMetadataObjectProper.es
Rela.onshipMetadata
Datastream(item)Datastream(item)Datastream(item)
DefaultDisseminatorCustomDisseminatorCustomDisseminator
ServicePerspec.ve:methodsfordissemina.ng“views”ofcontent
ItemPerspec.ve:setsofcontentormetadataitems
Descrip.ve:keymetadataandrela.onshipstootherobjects
DigitalObjectIden.fier
Reference:(pages6,7,&9)hWp://www.fedora‐commons.org/documenta.on/2.2.3/userdocs/tutorials/tutorial1.pdf
• Fedora’sPreserva5on&Archive:– XML:
Fedoraobjects’XMLandtheschemauponwhichtheyarebasedarepreservedatingest,duringstorage,andatexport
– ContentVersioning:Fedorarepositoriesofferimplementerstheop.onofversioningdataobjects.Whenadataobjectisversioned,theobject’saudittrailisupdatedtoreflectthechangesmadetotheobject,whenthechangewasmadeandbywhomandanewversionofthemodifieddataisaddedtotheobject’sXML.Thisnewdatastreamcascadesfromtheoriginalandisnumberedtoshowtherela.onshipbetweenoriginalandversion.Thisallowsuserstoretrieveolderversionsofadataobjectbyperformingadate/.mesearchandretrieval,orthemostcurrentversionifthedate/.mecriteriaarenotincludedinthesearch.
– ObjecttoObjectRela5onships:Rela.onshipsbetweenobjectscanbestoredviathemetadataincludedintheobjects.Thisallowsimplementerstolinktogetherrelatedobjectsintoparent/childrela.onships.
– EventHistory:EveryobjectinaFedorarepositorycontainsanaudittrail,whichpreservesarecordofeverychangemadetotheobject.
• DistributedRepositories• DynamicDataTransforma5on• WebServices(HTTP/SOAP)
SEASR:@Work–FedoraComponentsThisdiagramshowsinverygeneraltermsthestructureoftheen.rerepository.Usersinteractwiththecontentoftherepositorybymeansofclientapplica.ons,webbrowsers,batchprograms,orserverapplica.ons.Theseapplica.onsaccesstherepository’sdatabymeansofthefourAPIsbywhichFedoraisexposed:management,access,search,whichareexposedviaHTTPorSOAP,andtheOAIproviderAPI,whichisexposedviaHTTP.
Reference:(pages7,8&14)hWp://www.fedora‐commons.org/documenta.on/2.2.3/userdocs/tutorials/tutorial1.pdf
SEASR:@Work–FedoraComponents
WherecouldSEASRfitintothebiggerpicture?Reference:(page15)hWp://www.fedora‐commons.org/documenta.on/2.2.3/userdocs/tutorials/tutorial1.pdf
Fedora’s“BiggerPicture”
SEASR:@Work–FedoraComponents
Reference:
Fedora’sApplica5onProgrammersInterface• Approximately40logicen55esdividedintotwodis5nctsets.
• APIA–Access• APIM‐Management
SEASRComponentsEachsignificantlogicalen5tydefinedbyFedoraAPI*wasrepresentedasacomponent.
• Allowsforbroadestpossiblerangeofpoten5alusesandflexibility
Connec.onConnec.on
Connec.onConnec.onSearch GetContent
• TwoExamplesuses:
– Uploadwebserviceend‐pointforFedorafromZoterorunningaspersistentdataflows.
– Search&Browsesimpleexamplethatprovideswebpagesthatactasauser‐interfaceforexploringaFedorarepository.
SEASR:@Work–FedoraComponents
SEASR:@Work–FedoraComponents
BuildingaWebServiceEnd‐Point:
ListensforInputfromaClientnormallyintheformofaHTTPRequestthatactedupontodelivertoprovideaHTTPResponse
Request Response
ResponseObject
ProcessingSteps
WebServiceScenario
SEASR:@Work–FedoraComponents
WebServiceRequestProcessor
SEASR:@Work–FedoraComponents
WebServiceFunc.onalWork
AndBuildingResponse
SEASR:@Work–FedoraComponents
WebServiceSendResponse
toClient
SEASR:@Work–FedoraComponents
WebServiceOutputCouldAllowAddi.onalAc.onsinTheResponse
SEASR:@Work–FedoraComponents
• TwoExamplesuses:
– Uploadwebserviceend‐pointforFedorafromZoterorunningaspersistentdataflows.
– Search&Browsesimpleexamplethatprovideswebpagesthatactasauser‐interfaceforexploringaFedorarepository.
SEASR:@Work–FedoraComponents
SEASR:@Work–FedoraComponentsBuildingaWeb–basedApplica5on:
CaptureInputfromaClientRequestthatareevaluatedandcauseaResponsetobecomputed,generated,&deliveredbacktotheclient
Request Response
ResponseObject
ProcessingCycle
ProcessingCycle
ProcessingCycle
SEASR:@Work–WebService
SEASR:@Work–WebSession
SEASR:@Work–WebResponder
SEASR:@Work–Condi.onalGate
SearchQueryAnd
Results
SEASR:@Work–FedoraComponents
FedoraXMLObject
SEASR:@Work–FedoraComponents
DetailDatastreams&Methods
SEASR:@Work–FedoraComponents
ViewDatastreamDublinCore
SEASR:@Work–FedoraComponents
ComplicatedOverviewofApplica.onOrchestra.on
SEASR:@Work–FedoraComponents
Func.onalViewofApplica.onOrchestra.on
SEASR:@Work–FedoraSearch
WebService
Interac.veWebApplica.on
SEASR:@Work–FedoraComponents