Web Service Information Systems and Applications GGF16 Semantic Grid Workshop Athens Greece February 15 2006 Geoffrey Fox Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 http://grids.ucs.indiana.edu/ptliupages/presentations/ email@example.com://www.infomall.org
Different Metadata Systems • There are many WS-* specifications addressing meta-data defined broadly • WS-MetadataExchange • WS-RF • UDDI • WS-ManagementCatalog • And many different implementations from (extended) UDDI through MCAT of the Storage Research Broker • And of course representations including RDF and OWL • Further there is system metadata (such as UDDI for core services) and metadata catalogs for each application domain such as WFS (Web Feature Service) for GIS (Geographical Information Systems) • They have different scope and different QoS trade-offs • e.g. Distributed Hash Tables (Chord) to achieve scalability in large scale networks • WS-Context • ASAP • WBEM • WS-GAF
Different Trade-offs • It has never been clear to me how a poor lonely service is meant to know where to look up meta-data and if it is meant to be thought up as a database (UDDI, Ws-Context) or as the contents of a message (WS-RF, WS-MetadataExchange) • We identified two very distinct QoS tradeoffs • 1) Large scale relatively static metadata as in UDDI catalog of all the world’s services • 2) Small scale highly dynamic metadata as in dynamic workflows for sensor integration and collaboration • Fault-tolerance andability to support dynamic changes with few millisecond delay • But only a modest number of involved services (up to 1000’s in a session) • Need Session NOT Service/Resource meta-data so don’t use WS-RF
XML Databases of Importance • We choose a message based interfaceto a backend database • We have two pieces of technology with different trade-offs but each could store any meta-data but with different QoS • WS-Context designed forcontrolling a workflow • (Extended) UDDI exemplified by semantic service discovery • WFS or ASFS (see later) provides general application specific XML data/meta-data repository built on top of a hybrid system supported by UDDI and WS-Context • These have different performance, scalability and data unit size requirement • In our implementation, each is currently “just an Oracle/MySQL” database front ended by filters that convert between XML (GML for WFS) and object-relational Schema • Example of Semantics (XML) versus representation (SQL) difference • OGSA-DAI offers Grid interface to databases – we could use but don’t as we only need to expose WFS and not MySQL to Grid
Geographical Information System compatible XML Metadata Services • We also designed and implemented an extended UDDI XML Metadata Service (alternative to OGC Web Registry Services). This service, • supports WFS GIS Metadata Catalog (functional metadata), user-defined metadata ((name, value) pairs), up-to-date service information (leasing), dynamically updated registry entries. • Our approach enables advanced query capabilities • geo-spatial and temporal queries , • metadata oriented queries, • domain independent queries such as XPATH, XQuery on metadata catalog. • http://www.opengrids.org/extendeduddi/index.html
WMS uses WFS that uses data sources <gml:featureMember> <fault> <name> Northridge2 </name> <segment> Northridge2 </segment> <author> Wald D. J.</author> <gml:lineStringProperty> <gml:LineStringsrsName="null"> <gml:coordinates> -118.72,34.243 -118.591,34.176 </gml:coordinates> </gml:LineString> </gml:lineStringProperty> </fault> </gml:featureMember>
Electric Power and Natural Gas data from LANL Interdependent Critical Infrastructure Simulations Zoom-in Zoom-out FeatureInfo mode Measure distance mode Clear Distance Drag and Drop mode Refresh to initial map
Integrating Archived Web Feature Services and Google Maps Google maps can be integrated with Web Feature Service Archives to filter and browse seismic records.
Context as Service Metadata • We define all metadata (static, semi-static, dynamic) relevant to a service as “Context”. • Context can be associated to a single service, a session (service activity) or both. • Context can be independent of any interaction • slowly varying, quasi-static context • Ex: type or endpoint of a service, less likely to change • Context can be generated as result of service interactions • dynamic, highly updated context • information associated to an activity or session • Ex: session-id, URI of the coordinator of a workflow session
Hybrid XML Metadata Services –> WS-Context + extendedUDDI • We combine functionalities of these two services: WS-Context AND extendedUDDI in one hybrid service to manage Context (service metadata). • WS-Context controlling a workflow • (Extended) UDDI supporting semantic service discovery • This approach enables uniform query capabilities on service metadata catalog. • This service supports collection of services that • are set of actively collaborating managed services for a particular common goal • generate events as result of interactions • are very small part of the whole GRID • http://www.opengrids.org/wscontext/index.html
IS Client IS Client IS Client WSDL WSDL WSDL HTTP(S) WSDL WSDL WSDL Information Service Optimized forPerformance Optimized forScalability WS-Context Ver1.0 ws-context.wsdl WSDL WSDL UDDI Version 3.0 WSDL Service Interface Descriptions uddi_api_v3_portType.wsdl WSDL WSDL Extended WS-Context Service Extended UDDI Registry Service JDBC JDBC DB DB interaction-independent relatively static metadata dynamic metadata
Applications I – Workflow based Geographical Information System (GIS) Grids • CGL GIS Research focuses on open source software for Grids to support scientific/visualization applications. • some focus areas are earthquake prediction and simulating energy interdependencies with GIS Grids. • http://www.crisisgrid.org • We use WS-Context complaint Information Services for storing transitory metadata for distributed state information. • We use extended UDDI Information Services for providing search/store/access to geo-spatial domain-specific metadata catalogs • All data filters output data as though they were a WFS so data filters and sensors interchangeable
SS Database SS SS SS SS SS SS SS Raw Data Data Information Knowledge Wisdom AnotherGrid Decisions AnotherGrid SS SS SS SS FS FS OS MD MD FS Portal OS OS FS OS SOAP Messages OS FS FS FS AnotherService FS FS MD MD OS MD OS OS FS Other Service FS FS FS FS MD OS OS OS FS FS FS MD MD FS Filter Service OS AnotherGrid FS MetaData FS FS FS MD Sensor Service SS SS SS SS SS SS SS SS SS SS AnotherService
Typical use of Grid Messaging in NASA Sensor Grid GIS Grid Grid Eventing Datamining Grid
Real Time GPS and Google Maps Subscribe to live GPS station. Position data from SOPAC is combined with Google map clients. Select and zoom to GPS station location, click icons for more information.
Applications II – Managing and Scripting Web Services: HPSearch • HPSearch is simply a scripting environment designed for managing distributed workflows. • HPSearch runs scripts which in turn invokes various services to start the flow. • The HPSearch works in tandem with WS-Context Service for communicating with services. • More info available at http://www.hpsearch.org • The WS-Context is used by HPSearch as transitory metadata store for storing shared, session related data. • HPSearch updates the session state as the services completes their execution-cycle. • Fault Tolerance addressed in Monday’s talk
Extended UDDI and WS-Context compliant Information Services handle with both quasi-static, slowly varying and dynamic highly updated metadata.
0 Extended UDDI WFS <context xsd:type="ContextType"timeout=“100"> <context-service>http://.../HPSearch</ context-service> <content> HPSearch associated additional data generated during execution of workflow. </content> </context> <context xsd:type="ContextType"timeout=“100"> <context-service>http://.../WMS</ context-service> <activity-list mustUnderstand="true" mustPropagate="true"> <service>http://.../WMS</service> <service>http://.../HPSearch</service> </activity-list> </context> <context xsd:type="ContextType"timeout=“100"> <context-service>http://.../HPSearch</ context-service> <parent-context>http://../abcdef:012345<parent-context/> <content> profile information related WMS </content> </context> <context xsd:type="ContextType"timeout=“100"> <context-service>http://.../HPSearch</ context-service> <parent-context>http://../abcdef:012345<parent-context/> <content> shared data for HPSearch activity </content> <activity-list mustUnderstand="true" mustPropagate="true"> <service>http://.../DataFilter1</service> <service>http://.../PICode</service> <service>http://.../DataFilter2</service> </activity-list> </context> <context xsd:type="ContextType"timeout=“100"> <context-id>http://../abcdef:012345<context-id/> <context-service>http://.../HPSearch</ context-service> <content>http://danube.ucs.indiana.edu:8080\x.xml</content> </context> 2 3 4 WMS 1 http://..../..../..txt WMS Client 7,8,9 6 Data Filter HP Search PI Code 5,11 10 Data Filter http://..../..../x.gml Context Information Service The Pattern Informatics GIS-SOA based workflow application session shared state service associated user profile activity <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://www.w3..."> <soap:Header encodingStyle=“URL" mustUnderstand="true"> <context xmlns=“ctxt schema“ timeout="100"> <context-id>http..</context-id> <context-service> http.. </context-service> <context-manager> http.. </context-service> <activity-list mustUnderstand="true" mustPropagate="true"> <p-service>http://../WMS</p-service> <p-service>http://../HPSearch</p-service> </activity-list> </context> </soap:Header> SOAP header for Context Examples of dynamic metadata in a GIS Workflow 5,6: WMS starts a session, invokes HPSearch to run workflow script for PI Code with a session id 7,8,9: HPSearch runs the workflow script and generates output file in GML format (& PDF Format) as result 10: HPSearch writes the URI of the of the output file into Context 11: WMS polls the information from Context Service 12: WMS retrieves the generated output file by workflow script and generates a map
Applications III – Context Store usage in communication of mobile Web Services • Handheld Flexible Representation (HHFR) is an open source software for fast communication in mobile Web Services. HHFR supports: • streaming messages, separation of message contents and usage of context store. • http://www.opengrids.org/hhfr/index.html • We use WS-Context service as context-store for redundant message parts of the SOAP messages. • redundant data is static XML fragments encoded in every SOAP message • Redundant metadata is stored as context associated to service conversion in place • The empirical results show that we gain 83% in message size and on avg. 41% on transit time by using WS-Context service.
Optimizing Grid/Web Service Messaging Performance The performance and efficiency of Web Services can be greatly increased in conversational and streaming message exchanges by removing the redundant parts of the SOAP message.
Applications IV – Context Store usage in multimedia collaboration environment such as GlobalMMCS • GlobalMMCS is audio/video conferencing system. http://www.globalmmcs.org • WS-Context service is used as session metadata catalog for describing audio/video streams in a session. • stream metadata might have various descriptive information such as starting and ending RTP packet numbers, what topic is the stream is published, etc.. • metadata is stored associated with sessions • WS-Context service provides search/store/access interface for stream metadata as archival store. • Queries support archived (find all relevant data in past) metadata • Queries support session – metadata relations (find all metadata for a given session) • Session discovery (find a session with given properties) • Clients query context store for information to be able to replay/playback an audio/video stream during or after conference session.
Gateway Gateway Gateway Gateway XGSP Media Service WS-Context Collaboration Grid NaradaBroker Audio Mixer HPSearch Video Mixer UDDI NaradaBroker Transcoder Thumbnail WS-Security Replay NaradaBroker Record Annotate SharedWS SharedDisplay WhiteBoard
GIS TV GlobalMMCS SWT Client Chat Video Mixer Webcam
Archived stream Annotation / WB e - Annotation e - Annotation e-Annotation Archived Stream Annotated e-Annotation Player Player Stream Player Whiteboard player player Whiteboard Player Archived Real Time Real TimeStream List Stream List Player Real time Real time stream Archieved stream list player stream list
Information Architecture and Semantic Grid • WS-* provides key low level capability but deliberately does not define an information (data) architecture and leaves this to domain specific specification activities such as CellML/SBML for biology, WFS/GML for GIS and XGSP for Collaboration • WS-* does define a primitive service discovery (UDDI) and meta-data capabilities including WS-Context, WS-RF, RDF and WS-MetadataExchange already discussed. • GGF defines Grid data capabilities including info-D (publish/subscribe) and OGSA-DAI for data repositories • Semantic Grid uses WS-* and GS-* extending meta-data and service discovery with data-mining and reasoning
Information Management/Processing • SOAP messages transport information expressed in a semantically rich fashion between sources and services that enhance and transform information so that complete system provides • Semantic Web technologies like RDF and OWL help us have rich expressivity • Data Information Knowledgetransformation • We build application specific information management/transformation systems ASIS for each application domain • One special domain is the system itself where the metadata associated with services, sessions, Grids, messages, streams and workflow is itself managed and supported by an SIIS
Generalizing a GIS • Geographical Information Systems GIS have been hugely successful in all fields that study the earth and related worlds • They define Geography Syntax (GML) and ways to store, access, query, manipulate and display geographical features • In SOA, GIS corresponds to a domain specific XML language and a suite of services for different functions above • However such a universal information model has not been developed in other areas even though there are many fields in which it appears possible • BIS Biological Information System • MIS Military Information System • IRIS Information Retrieval Information System • PAIS Physics Analysis Information System • SIIS Service Infrastructure Information System
ASIS Application Specific Information System I • a) Discovery capabilities that are best done using WS-* standards • b) Domain specific metadata and data including search/store/access interface. (cf WFS). Lets call generalization ASFS (Application Specific Feature Service) • Language to express domain specific features (cf GML). Lets call this ASL (Application Specific language) • Tools to manipulate information expressed in language and key data of application (cf coordinate transformations). Lets call this ASTT (Application specific Tools and Transformations) • ASL must support Data sources such as sensors (cf OGC metadata and data sensor standards) and repositories. Sensors need (common across applications) support of streams of data • Queries need to support archived (find all relevant data in past) and streaming (find all data in future with given properties) • Note all AS Services behave like Sensors and all sensors are wrapped as services • Any domain will have “raw data” (binary) and that which has been filtered to ASL. Lets call ASBD (Application Specific Binary Data)
Filter, Transformation, Reasoning, Data-mining, Analysis ASRepository AS Tool (generic) AS Service (user defined) AS Tool (generic) ASVS Display AS“Sensor” Messages using ASL ASIS Application Specific Information System II • Lets call this ASVS (Application Specific Visualization Services) generalizing WMS for GIS • The ASVS should both visualize information and provide a way of navigating (cf GetFeatureInfo) database (the ASFS) • The ASVS can itself be federated and presents an ASFS output interface • d) There should be application service interface for ASIS from which all ASIS service inherit • e) There will be other user services interfacing to ASIS • All user and system services will input and output data in ASL using filters to cope with ASBD