140 likes | 273 Views
The Problem: Integrating Data, Applications, and Client Devices. The key issue we try to solve is building the distributed computing infrastructure that can connect Legacy data archives Executable codes Real time data sources Client tools for collaboration
E N D
The Problem: Integrating Data, Applications, and Client Devices • The key issue we try to solve is building the distributed computing infrastructure that can connect • Legacy data archives • Executable codes • Real time data sources • Client tools for collaboration • Audio/Video systems, whiteboard annotators, etc • Various application-specific grids can be built out of the common infrastructure • Science Grids • Emergency planning, crisis response • We choose certain fixed points for our foundations • Other standards where available: GIS standards • Web Service standards: SOAP and WSDL • Universal messaging substrate for SOAP and other messages: http://www.naradabrokering
OGC Standards for GIS • OpenGIS Consortium is an international group that defines common formats for geospatial data and service standards. • Main data format language is the XML-based GeographyMarkup Language (GML). • GML is widely accepted as the universal encoding for geo-referenced data. • OGC defines services. • Some example OGC services include • Web Feature Service (WFS): for retrieving GML encoded features, like faults, roads, county boundaries, GPS station locations,…. • Web Map Service (WMS): for creating maps out of Web Features • http://www.opengeospatial.org
What Are Web Services? • Web Services framework is a way for doing distributed computing with XML. • WSDL: Defines interfaces to functions of remote components. This is the programming interface. • SOAP: Defines the message format that you exchange between components. This carries the messages over the network. • Web Services are not web pages, CGI, servlets, applets. • XML provides cross-language support • Suitable for both human and application clients. • We are building data grid components in the same fashion. • Allows us to build general purpose client environments like Web portals and command line tools. • http://www.w3.org/2002/ws Browser Appl Web Server WSDL SOAP WSDL Web Server WSDL WSDL SOAP JDBC DB
Service Oriented Architecture • Key SOA Features (Following W3C’s WS Architecture working group.) • SOAs are composed of services that present programmatic access to resources to remote client applications. • Services communicate using messages. Messages are usually encoded using SOAP. • SOAs are metadata rich. We must describe service interfaces, provide descriptions of services and publish them into registries.
Service Oriented Architecture Service providers Service requestors Service registries Publish/Find/Bind paradigm in a GIS Grid
NaradaBrokering (NB) • NaradaBrokering is a distributed messaging infrastructure. • It may be thought of a as topic-based publish/subscribe messaging system: • interested entities can register to a NaradaBrokering node to send and receive messages on particular topics. • It supports multiple underlying transport protocols, intelligent message routing, asynchronous messaging, reliable delivery, replay of events, compression/fragmentation, discovery etc. • http://www.naradabrokering.org
Pattern Informatics in a Grid Environment • PI in a Grid environment: • Hotspot forecasts are made using publicly available seismic records. • Southern California Earthquake Data Center • Advanced National Seismic System (ANSS) catalogs • Code location is unimportant, can be a service through remote execution • Results need to be stored, shared, modified • Grid/Web Services can provide these capabilities • Problems: • How do we provide programming interfaces (not just user interfaces) to the above catalogs? • How do we connect remote data sources directly to the PI code. • How do we automate this for the entire planet? • Solutions: • Use GIS services to provide the input data, plot the output data • Use HPSearch tool to tie together and manage the distributed data sources and code.
0 Extended UDDI WFS <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-service>http://.../HPSearch</ context-service> <content> HPSearch associated additional data generated during execution of workflow. </content> </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> <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> 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://..../..../tmp.xml 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=“WSCTX 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 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
The Interdependent Energy Infrastructure SimulationSystem (IEISS)in a Grid Environment • IEISS in a Grid environment: • IEISS provides modeling, simulation and analysis of interdependent energy infrastructures. Input is data models in XML format. • Los Alamos National Laboratory • Argon National Laboratory • Code location is unimportant, can be a service through remote execution • Results need to be stored, shared, annotated • Grid/Web Services can provide these capabilities • Problems: • How do we provide programming interfaces (not just user interfaces) to the input data models? • How do we connect remote data sources directly to the IEISS code? • Solutions: • Use a SOA with GIS services to provide the input data, plot the output data • Use WS-I compatible XML metadata services to support GIS workflow applications by providing/maintaining static and dynamic information
WFS and WMS publish their WSDL URL to the UDDI Registry 1-2-3 - WMS Client -> WMS Server -> UDDI -> WFS 4-5 - WFS publishes the results as GML FeatureCollection document into a topic (“/NISAC/WFS”) in a pub/sub based messaging system. WFS -> WMS Server (creates a map overlay) and IEISS receive this GML document. WMS Server -> WMS Client (displays it) 6 - User invokes IEISS through WMS Client interface for the obtained geospatial features, and WMS Client starts a workflow session in the Context Service.
7 - On receiving invocation message, IEISS updates the shared state data to be “IEISS_IS_IN_PROGRES”. IEISS runs and produces an ESRI Shape file and then invokes shp2gml tool to convert produced Shape file to GML format. After the conversion IEISS updates shared session state to be “IEISS_COMPLETED”. As the state changes, the Context Service notifies all interested workflow entities such as WMS Client.
9-10 - WFS-L publishes the IEISS output as a GML FeatureCollection document to NB topic ‘NISAC/WFS-L’. WMS Server is subscribed to this topic and receives the GML file then converts it to map overlay,and the Client displays the new model on the map. 8 – On receiving the notification, WMS Client makes a request to the WFS-L for the IEISS output
Some Challenges • Security: These applications have interesting security requirements • Authentication, authorization and priority for different users • Time/event dependent security for crisis response • Performance: Are GIS services suitable for non-trivial data transfers? • We are using streaming data transfers for higher performance • We research fast data transfer methodologies for higher performance • Fault tolerance and scalability: We must support SOA based distributed application with reliable information sources. • We design and build fault tolerant and high performance decentralized Information Services to support metadata requirements of SOA. • Adoption: We must get the tools and services to the point where science application developers want to use them early in the development process rather than later. • Web Service client libraries to remote GIS data • Develop codes to work with data streams rather than files. • Extensibility: This architecture can be enhanced by integrating various types of distributed data sources that can provide geospatial data such as MySQL, Oracle Spatial, ESRI SDE, Shape files etc.
Location of information and software for dependent Grid Projects • htpp://www.naradabrokering.org provides Web service (and JMS) compliant distributed publish-subscribe messaging (software overlay network) • http://www.crisisgrid.org is an OGC (open geospatial consortium) Geographical Information System (GIS) compliant GIS and Sensor Grid. • http://www.opengrids.org has WS-Context, Extended UDDI etc.