280 likes | 423 Views
IRIS Web Services Initiative. building new capabilities. Outline. Introduction to web services Web services at IRIS DMC Introduction to service oriented architecture Future directions. Outline. Introduction to web services Web services at IRIS DMC
E N D
IRIS Web Services Initiative building new capabilities
Outline • Introduction to web services • Web services at IRIS DMC • Introduction to service oriented architecture • Future directions
Outline • Introduction to web services • Web services at IRIS DMC • Introduction to service oriented architecture • Future directions
What are web services? A Web service is a software system designed to support interoperable machine-to- machine interaction over a network. [www.w3c.org] • Many protocols fit this definition • CORBA • SOAP • REST • Usually specifies XML-formatted messages to be passed over HTTP
Characteristics of a web service • Distributed • Stateless • Synchronous • XML messages passed over port 80
SOAP web service overview • Client discovers a service (often skipped) • Client interprets what the service can provide through the WSDL • Client makes a request in the format specified by the WSDL • Service responds to that request
REST and SOAP REST Representational State Transfer No interface definition Query is in the form of a URL Response is XML Suitable for small numbers of input criteria, simple responses No support for binary attachments SOAP Simple Object Access Protocol Interface defined through WSDL Query is XML, contains SOAP specific headers Response is XML , contains SOAP specific headers Capable of expressing complex queries and responses Support for binary attachments
REST and SOAP REST Representational State Transfer No formal interface definition Query is in the form of a URL Response is XML Suitable for small numbers of input criteria, simple responses No support for binary attachments SOAP Simple Object Access Protocol Interface defined through WSDL Query is XML, contains SOAP specific headers Response is XML , contains SOAP specific headers Capable of expressing complex queries and responses Support for binary attachments
REST and SOAP REST Representational State Transfer No interface definition Query is in the form of a URL Response is XML Suitable for small numbers of input criteria, simple responses No support for binary attachments SOAP Simple Object Access Protocol Interface defined through WSDL Query is XML, contains SOAP specific headers Response is XML , contains SOAP specific headers Capable of expressing complex queries and responses Support for binary attachments
REST and SOAP REST Representational State Transfer No interface definition Query is in the form of a URL Response is XML Suitable for small numbers of input criteria, simple responses No support for binary attachments SOAP Simple Object Access Protocol Interface defined through WSDL Query is XML, contains SOAP specific headers Response is XML , contains SOAP specific headers Capable of expressing complex queries and responses Support for binary attachments
REST and SOAP REST Representational State Transfer No interface definition Query is in the form of a URL Response is XML Suitable for small numbers of input criteria, simple responses No support for binary attachments SOAP Simple Object Access Protocol Interface defined through WSDL Query is XML, contains SOAP specific headers Response is XML , contains SOAP specific headers Capable of expressing complex queries and responses Support for binary attachments
REST and SOAP REST Representational State Transfer No interface definition Query is in the form of a URL Response is XML Suitable for small numbers of input criteria, simple responses No support for binary attachments SOAP Simple Object Access Protocol Interface defined through WSDL Query is XML, contains SOAP specific headers Response is XML , contains SOAP specific headers Capable of expressing complex queries and responses Support for binary attachments
Example REST Message Request is a simple URL http://www.new-iris-service.edu/channels/IU/TUC/00 Client recieves XML snippet <?xml version=“1.0”?> <p:channels xmlns:p=“http://www.new-iris-service” xmlns:xlink=“http://www.w3.org/1999/xlink”> <network>IU</network> <station>TUC</station> <location>00</location> <channels> <channel>BHE</channel> <channel>BHN</channel> <channel>BHZ</channel> <channel>LHE</channel> <channel>LHN</channel> <channel>LHZ</channel> </channels> </p:channels>
Example SOAP Message SOAP Query <SOAP:Envelope xmlns:SOAP=“http://schemas.xmlsoap.org/soap/envelope> <SOAP:Body xmlns:netDC=“http://www.iris.edu/networkDC”> <netDC:GetChannelInfo> <network>IU</network> <station>TUC</station> <location>00</location> </netDC:GetChannelInfo> </SOAP:Body> </SOAP:Envelope> SOAP Response <SOAP:Envelope xmlns:SOAP=“http://schemas.xmlsoap.org/soap/envelope> <SOAP:Body xmlns:netDC=“http://www.iris.edu/networkDC”> <netDC:GetChannelInfoResponse> <network>IU</network> <station>TUC</station> <location>00</location> <channels> <channel>BHE</channel> <channel>BHN</channel> <channel>BHZ</channel> <channel>LHE</channel> <channel>LHN</channel> <channel>LHZ</channel> </channels> </netDC:GetChannelInfoResponse> </SOAP:Body> </SOAP:Envelope>
Why web services at the DMC? • Allow programmatic access to IRIS DMC resources • Different software tools can make use of same components • Outside users can incorporate these resources into their own software • Services can be accessed from a wide variety of languages, including MATLAB • Web services are becoming ubiquitous • Many organizations offer web service interfaces to various resources • NSF is encouraging the scientific community to adopt web services
Outline • Introduction to web services • Web services at IRIS DMC • Introduction to service oriented architecture • Future directions
SeismoProcess • Developed to support SOSA • Update and expand processing capabilities without re-installing application • Prototype for more general seismogram processing service
Outline • Introduction to web services • Web services at IRIS DMC • Introduction to service oriented architecture • Future directions
SOA Basic Definition • A perspective of software architecture that defines the use of services to support the requirements of software users. • Nodes on a network make resources available to other participants in the network as independent services that the participants access in a standardized way. • Most definitions of SOA identify the use of Web services (i.e., using SOAP or REST). However, one can implement SOA using any service-based technology. • The software components become very reusable because the interface is standards-compliant and is independent from the underlying implementation of the service logic. [From Wikipedia]
Characteristics of Service Oriented Architectures • Services have contracts • Provides information about itself • Establishes agreement between provider and requestor • Services are loosely coupled • They play together, but play apart as well • Changes to one service implementation shouldn’t break another • Services are composable • Multiple services can be linked together • Implies contracts are compatible (data access seismogram = analysis seismogram)
Outline • Introduction to web services • Web services at IRIS DMC • Introduction to service oriented architecture • Future directions
Why SOA at IRIS? • Make better use of resources Tools can be linked together Continuous upgrades • Provide other capabilities such as analysis and visualization tools Capabilities are coupled to data access Allow basic processing before data download • Link to other data providers Hopefully will become part of broader geosciences service architecture
Need community involvement! • Looking for potential beta users • People interested in developing clients