Presentation on theme: "A PPARC funded project Asynchronous Activities in SOAP services Guy Rixon IVOA Interoperability Meeting Cambridge MA, May 2004."— Presentation transcript:
A PPARC funded project Asynchronous Activities in SOAP services Guy Rixon IVOA Interoperability Meeting Cambridge MA, May 2004
2 > What are Async. Activities? When a service does something between WSDL operations Client starts activity by calling an operation Operation returns when service accepts the job Activity not subject to HTTP timeout When client can check progress/final status without staying connected to service Service publishes progress metadata Client can poll metadata or get notification message When the activity can restart after service interruption
3 > Example with client restart Service Client OK Start query (…) Client Keep me posted! OK Client 33% done Client 66% done Client Oops, gotta close! Client Back again. Did I miss much? All done now
4 > Example with service checkpointing Client Service Start query (…) OK Back again…restart jobs from checkpoints Service Oops, gotta restart! Service 33% done. Checkpoint. Service 66% done. Checkpoint. Service All done Service
5 > Benefits Flexibility Robustness We already have services that do this Proven useful Better with a standard! Documented protocol Code reuse More facilities
6 > Proposal Use WS-ResourceFramework (WS-RF) Its what WS-RF is for Grid (GGF) compatible Industry support promised Many OSS implementations in progress Lightweight standards; own implementation? Make our own profile where WS-RF is vague E.g. Define standard metadata for progress notification
7 > Factory pattern Any operation can start an activity WS-RF doesnt specify messages to set up context. No separate factory service. Resource ID for activity returned in SOAP header. Client quotes resource ID in subsequent messages (in SOAP header).
8 > WS-ResourceLifetime Service keeps state metadata of activity + cached results (e.g. MyDB keeps DB tables) Need to free up resource when job is done Client controls the resource using ops specd in WS-ResourceLifetime: Delete resource when done Negotiate timeout Resource can time out if client abandons it Deleted by service after timeout.
9 > WS-ResourceProperties Each WSDL port-type can have resource properties declared in WSDL XML metadata structures, schema controlled Client can poll these with operations specd in WS-ResourceProperties. Suggest defining an IVOA-standard state of activity metadata-structure. Suggest associating state of activity structure + polling operations with an Activity port-type Drop-in implementation of this port-type?
10 > WS-BaseNotification Service can send messages to client for significant events in activity (Provided that client is also a SOAP service) Protocol defined by WS-BaseNotification Pushes state data (WS-ResourceProperties) to client IVOA can define standard notifications E.g. always notify when job complete or failed.