80 likes | 193 Views
Client Side Library. Dr. Sheng Jiang Provenance Team sj@ecs.soton.ac.uk. Concept and role of CSL. Client Side Library (CSL) is a collection of functions, which allows provenance-aware applications to communicate with provenance store services
E N D
Client Side Library Dr. Sheng Jiang Provenance Team sj@ecs.soton.ac.uk
Concept and role of CSL • Client Side Library (CSL) is a collection of functions, which • allows provenance-aware applications to communicate with provenance store services • helps application developers enforce architecture rules • An implementation of the CSL should contain at least one of query library, record library and management library • CSL is intends to be embedded as part of provenance-aware applications
Interaction of Application Host A Host B Message Actor A Actor B
Message (embedded p-header) Source: hostA Sink: hostBVK: isSenderPAssertions CSL Source: hostA Sink: hostBVK: isReceiverPAssertions CSL ProvenanceStore Server ProvenanceStore Server Provenance-aware Application Host A Host B Actor A Actor B
Application API Utilities Layered Model of CSL Applications Client Side Library Provenance Store Server Server API
Server API • Defined our provenance store interface in several WSDL files • WSRF compatible • Generated stubs from these WSDL • Using WSDL2Java from the GT4 • Used as server API • Security is not enabled yet • Too complicated to be used by application developers
Application API • Simple interfaces and data structures • Re-usable information • Helper facilities • Relationship helper • Documentation style helper, Policy helper, P-Header helper, Tracer helper (not available yet) • Is Mapped to the server API using utilities
Simple Example ProvenanceService ps = new ProvenanceServiceImpl (recordPort, xQueryPort, pQueryPort) InteractionRecord irInstance = ps.newInteractionRecord (msgSink, msgSource, asserter, viewKind) GlobalPAssertionKey gpakIPA = irInstance.addInteractionPAssertion(message, documentationStyle) RecordResult rResult = irInstance.record()