Top Banner
Web Service Interac.ve Web Applica.on SEASR: @ Work – Fedora Components
27

Fedora App Slide 2009 Hastac

Oct 21, 2014

Download

Technology

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fedora App Slide 2009 Hastac

WebService

Interac.veWebApplica.on

SEASR:@Work–FedoraComponents

Page 2: Fedora App Slide 2009 Hastac

•  QuickIntroduc.onofFedora–  RepositoryServerfordigitalcontentandmetadata– DigitalObjects–  ServicesandInterfacesProvided– Applica.onProgrammersInterface

•  SEASRFedoraComponents•  MoveContentfromZoterotoFedorausingSEASRwebserviceend‐pointrunningasadataflow.

•  SearchandBrowseFedoraRepositoryusingaSEASRwebbasedapplica.oninterfacerunningasadata‐flow

SEASR:@Work–FedoraComponents

Page 3: Fedora App Slide 2009 Hastac

•  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

Page 4: Fedora App Slide 2009 Hastac

•  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

Page 5: Fedora App Slide 2009 Hastac

•  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

Page 6: Fedora App Slide 2009 Hastac

SEASR:@Work–FedoraComponents

WherecouldSEASRfitintothebiggerpicture?Reference:(page15)hWp://www.fedora‐commons.org/documenta.on/2.2.3/userdocs/tutorials/tutorial1.pdf

Fedora’s“BiggerPicture”

Page 7: Fedora App Slide 2009 Hastac

SEASR:@Work–FedoraComponents

Reference:

Fedora’sApplica5onProgrammersInterface• Approximately40logicen55esdividedintotwodis5nctsets.

• APIA–Access• APIM‐Management

SEASRComponentsEachsignificantlogicalen5tydefinedbyFedoraAPI*wasrepresentedasacomponent.

• Allowsforbroadestpossiblerangeofpoten5alusesandflexibility

Connec.onConnec.on

Connec.onConnec.onSearch GetContent

Page 8: Fedora App Slide 2009 Hastac

•  TwoExamplesuses:

– Uploadwebserviceend‐pointforFedorafromZoterorunningaspersistentdataflows.

– Search&Browsesimpleexamplethatprovideswebpagesthatactasauser‐interfaceforexploringaFedorarepository.

SEASR:@Work–FedoraComponents

Page 9: Fedora App Slide 2009 Hastac

SEASR:@Work–FedoraComponents

BuildingaWebServiceEnd‐Point:

ListensforInputfromaClientnormallyintheformofaHTTPRequestthatactedupontodelivertoprovideaHTTPResponse

Request Response

ResponseObject

ProcessingSteps

Page 10: Fedora App Slide 2009 Hastac

WebServiceScenario

SEASR:@Work–FedoraComponents

Page 11: Fedora App Slide 2009 Hastac

WebServiceRequestProcessor

SEASR:@Work–FedoraComponents

Page 12: Fedora App Slide 2009 Hastac

WebServiceFunc.onalWork

AndBuildingResponse

SEASR:@Work–FedoraComponents

Page 13: Fedora App Slide 2009 Hastac

WebServiceSendResponse

toClient

SEASR:@Work–FedoraComponents

Page 14: Fedora App Slide 2009 Hastac

WebServiceOutputCouldAllowAddi.onalAc.onsinTheResponse

SEASR:@Work–FedoraComponents

Page 15: Fedora App Slide 2009 Hastac

•  TwoExamplesuses:

– Uploadwebserviceend‐pointforFedorafromZoterorunningaspersistentdataflows.

– Search&Browsesimpleexamplethatprovideswebpagesthatactasauser‐interfaceforexploringaFedorarepository.

SEASR:@Work–FedoraComponents

Page 16: Fedora App Slide 2009 Hastac

SEASR:@Work–FedoraComponentsBuildingaWeb–basedApplica5on:

CaptureInputfromaClientRequestthatareevaluatedandcauseaResponsetobecomputed,generated,&deliveredbacktotheclient

Request Response

ResponseObject

ProcessingCycle

ProcessingCycle

ProcessingCycle

Page 17: Fedora App Slide 2009 Hastac

SEASR:@Work–WebService

Page 18: Fedora App Slide 2009 Hastac

SEASR:@Work–WebSession

Page 19: Fedora App Slide 2009 Hastac

SEASR:@Work–WebResponder

Page 20: Fedora App Slide 2009 Hastac

SEASR:@Work–Condi.onalGate

Page 21: Fedora App Slide 2009 Hastac

SearchQueryAnd

Results

SEASR:@Work–FedoraComponents

Page 22: Fedora App Slide 2009 Hastac

FedoraXMLObject

SEASR:@Work–FedoraComponents

Page 23: Fedora App Slide 2009 Hastac

DetailDatastreams&Methods

SEASR:@Work–FedoraComponents

Page 24: Fedora App Slide 2009 Hastac

ViewDatastreamDublinCore

SEASR:@Work–FedoraComponents

Page 25: Fedora App Slide 2009 Hastac

ComplicatedOverviewofApplica.onOrchestra.on

SEASR:@Work–FedoraComponents

Func.onalViewofApplica.onOrchestra.on

Page 26: Fedora App Slide 2009 Hastac

SEASR:@Work–FedoraSearch

Page 27: Fedora App Slide 2009 Hastac

WebService

Interac.veWebApplica.on

SEASR:@Work–FedoraComponents