What is a Web Serviceor some relevant web services    (for) Developing Applications for      Real-time Environmental Data ...
OutlineQuestion: What is a Web Service?Answer: Acronym Soup!Fundamentals (XML+)   • SOAP and REST   • WSDLOGC Web Services...
What is a web service?Googling gives:• Answers.Com: Web-based applications that dynamically interact  with other Web appli...
SOAP  Simple Object Access Protocol                                                  Horrible looking XML specification, b...
WSDL                :Web Services Description Language                                     >>>from SOAPpy import WSDL     ...
REST’ful Web Services• REST (representational state transfer) is an  approach for getting information content  from a Web ...
Web Services the confusion:(Tim Ewald): “Today, I see three camps:1) Its all about SOAP messages …,2) Its all about WSDL,3...
Standards• Dimensions of interoperability for  earth science data dis                                            co       ...
OGC web services• Data access services, e.g.:    –   Live Access Server, NDG DataExtractor    –   GADS    –   DODS/OPeNDAP...
OGC web services• Web Map Service (WMS)• Three operations:                                       eg, GLOBE program WMS ser...
OGC web services• e.g.: ERA40 re-analysis surface air temperature, 2001-04-27   – deegree open-source WMS modified with ne...
OGC web servicesWeb Coverage Service (WCS) – cf DODS/OPeNDAP/GADSA geographic coverage is raw (typically gridded) dataWCS ...
OGC web servicesWeb Feature Service (WFS)Provides access to geographic feature instancesFeatures are defined by applicatio...
OGC web services• FOSS implementations  – server:     • deegree     • geoserver     • mapserver  – client:     • quickWMS ...
OGC web servicesSummary – Web Map Service (WMS, ISO 19128)    • GetCapabilities    • GetMap – Web Feature Service (WFS)   ...
NDG: CSML  Climate Science Modelling Language       (CSML, a GML application schema)         http://ndg.nerc.ac.uk/csml   ...
CSML                                                   ProfileSeriesFeatureProfileFeature           GridFeature           ...
NERC DataGrid; web services coming soon  Discovery Service (here now)  Data Extractor (next week)  Vocab Service (next mon...
NERC DataGrid: Discovery Service        British Atmospheric Data Centre            http://badc.nerc.ac.uk
NDG: dataExtractor and GeoSplat        British Atmospheric Data Centre            http://badc.nerc.ac.uk
UNIDATAUnidata (www.unidata.ucar.edu) provide data feeds  using their Local Data Manager (LDM) technology  to push data ar...
Unidata: LDMLDM Delivery•Scalable•Hierarchical fan out•Relying on relay sites withappropriate resources•Flexible•New data ...
UNIDATA IDS Topology     British Atmospheric Data Centre         http://badc.nerc.ac.uk
Summary•   Web services not just about SOAP and WSDL …•   We should use    •   web service standards,    •   WS mechanisms...
Upcoming SlideShare
Loading in …5
×

Bryan lawrence

692 views

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
692
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bryan lawrence

  1. 1. What is a Web Serviceor some relevant web services (for) Developing Applications for Real-time Environmental Data Bryan Lawrence Head, NCAS British Atmospheric Data Centre P.I. The NERC DataGrid.
  2. 2. OutlineQuestion: What is a Web Service?Answer: Acronym Soup!Fundamentals (XML+) • SOAP and REST • WSDLOGC Web Services • WFS, WCS, WFSUNIDATA • LDMNDG Web Services British Atmospheric Data Centre http://badc.nerc.ac.uk
  3. 3. What is a web service?Googling gives:• Answers.Com: Web-based applications that dynamically interact with other Web applications using open standards that include XML, UDDI and SOAP.• (Yuck: UDDI?)• emergingtech.ittoolbox.com: – A Service-Oriented Architecture (SOA) is a collection of services or software agents that communicate freely with each other. – Sub-topic definition: Web Services protocols and standards are the technology that promote the sharing and distribution of information and business data. A protocol is a standard method for transmitting data through a network. There are many different specialized protocols to accommodate the many kinds of data that might be transmitted. British Atmospheric Data Centre http://badc.nerc.ac.uk
  4. 4. SOAP Simple Object Access Protocol Horrible looking XML specification, but lots of SOAP pacakges available which are (generally easy to use), eg: from SOAPpy import SOAPproxy url=http://services.xmethods.net:80/soap/ servlet/rpcrouter’ n=‘urn:xmethods-Temperature’ server=SOAPProxy(url,namespace=n) temperature=server.getTemp(‘27502’) Returns the temperature at U.S. zipcode 27502 (from Dive Into Python, Mark Pilgrim)(One knew a priori that a method named getTEmp would return a float given an argument of a zip code, provided one used the right namespace – How?) British Atmospheric Data Centre http://badc.nerc.ac.uk
  5. 5. WSDL :Web Services Description Language >>>from SOAPpy import WSDL >>>Server=WDSL.Proxy(‘path/to/WSDL’) >>>server.method.keys() [u’doGoogleSearch’,u’doGetCachedPage’ …] >>>callInfo=server.methods[‘doGoogleSearch’] >>>for arg in callInfo.inparams: S . . . print arg.name, arg.type IE RT PE key (u’http://www.w3.org/2001/XMLSchema’,u’string’) . . . RO T P for a service, and AC parameters). Define expected messages their (input orR T output A BS will group together a number of An interface messages (operations)Bind an Interface via a definition toa specific transport (e.g. HTTP) and The network location where the service ismessaging (e.g. SOAP) protocol implemented , e.g. http://localhost:8080 British Atmospheric Data Centre http://badc.nerc.ac.uk
  6. 6. REST’ful Web Services• REST (representational state transfer) is an approach for getting information content from a Web site by reading a designated (ok, you need a URI) Web page that contains an XML (Extensible Markup Language) file that describes and includes the desired content.• That’s it! You use HTTP (get,put,…) to a URI, with XML as the payload … British Atmospheric Data Centre http://badc.nerc.ac.uk
  7. 7. Web Services the confusion:(Tim Ewald): “Today, I see three camps:1) Its all about SOAP messages …,2) Its all about WSDL,3) Its all about XML/HTTP.Microsoft is definitely in the first camp, focusing on doing things with SOAP whether or not they are ultimately represented as XML or a binary data rep.IBM and Iona are in the second camp, focusing on describing in WSDL, whether or not they are ultimately represented as SOAP or a binary protocol.Lots of developers and some big companies like Amazon are in the XML/HTTP camp, focusing on getting data from one place to another in a way they can consume it.[Tim Ewald: http://pluralsight.com/blogs/tewald/archive/2004/10/18/2875.aspx] British Atmospheric Data Centre http://badc.nerc.ac.uk
  8. 8. Standards• Dimensions of interoperability for earth science data dis co very ISO / OGC access e us British Atmospheric Data Centre http://badc.nerc.ac.uk
  9. 9. OGC web services• Data access services, e.g.: – Live Access Server, NDG DataExtractor – GADS – DODS/OPeNDAP – OGC web services• OGC web services – Web Map Service – Web Feature Service – Web Coverage Service[Open Geospatial Consortium (OGC): International consortium of nearly 300 companies, government agencies and universities participating in a consensus process to develop publicly available geoprocessing specifications] British Atmospheric Data Centre http://badc.nerc.ac.uk
  10. 10. OGC web services• Web Map Service (WMS)• Three operations: eg, GLOBE program WMS server – GetCapabilities (required) GetCapabilities: http://viz.globe.gov/viz-bin/wmt.cgi – GetMap (required) ?REQUEST=GetCapabilities&SERVICE=WMS – GetFeatureInfo (optional)• Typically support HTTP GET binding, SOAP being considered• GetCapabilities request – <Service> metadata for service as a whole (ISO 19115 compliant) – <Capability> metadata describes request bindings, exceptions, and: – <Layer>s: title, name, SRS, bounding box, keywords, style; nested layers inherit from parent British Atmospheric Data Centre http://badc.nerc.ac.uk
  11. 11. OGC web services• e.g.: ERA40 re-analysis surface air temperature, 2001-04-27 – deegree open-source WMS modified with netCDF connector Overlaid with rainfall from globe.digitalearth.govData Centre British Atmospheric WMS server http://badc.nerc.ac.uk
  12. 12. OGC web servicesWeb Coverage Service (WCS) – cf DODS/OPeNDAP/GADSA geographic coverage is raw (typically gridded) dataWCS similar to WMS, but provides data, not images (cf DODS/OPeNDAP, GADS)Operations: • GetCapabilities • DescribeCoverage • GetCoverageCoverages supplied in well-known-binary format: • GeoTIFF, HDF-EOS, DTED, NITF, GML, netCDF??? British Atmospheric Data Centre http://badc.nerc.ac.uk
  13. 13. OGC web servicesWeb Feature Service (WFS)Provides access to geographic feature instancesFeatures are defined by application schema compliant with the Geography Markup Language (GML)Operations: • DescribeFeatureType (required): returns XML schema for the feature • GetFeature (required): allows retrieval of features in XML compliant to the feature schema. Selected features may be constrained through Xpath expressions • Transaction and LockFeature (optional): for inserting, updating and deleting feature instances • GetCapabilities: describes capabilities of WFS (as for WMS)Typically used for vector data (eg cruise tracks), but can be any application schema British Atmospheric Data Centre http://badc.nerc.ac.uk
  14. 14. OGC web services• FOSS implementations – server: • deegree • geoserver • mapserver – client: • quickWMS • www.wmsviewer.com – List maintained on NDG wiki at http://ndg.nerc.ac.uk/kwiki/ndg/index.cgi? OtherProjects British Atmospheric Data Centre http://badc.nerc.ac.uk
  15. 15. OGC web servicesSummary – Web Map Service (WMS, ISO 19128) • GetCapabilities • GetMap – Web Feature Service (WFS) • GetCapabilities • DescribeFeatureType • GetFeature • Transaction, LockFeature – Web Coverage Service (WCS) • GetCapabilities • DescribeCoverage • GetCoverage – Catalog Service for the Web (CSW) – very new! – REST, not SOAP (currently) British Atmospheric Data Centre http://badc.nerc.ac.uk
  16. 16. NDG: CSML Climate Science Modelling Language (CSML, a GML application schema) http://ndg.nerc.ac.uk/csml – Defines seven features of interest!CSML feature type Description ExamplesTrajectoryFeature Discrete path in time and space of a ship’s cruise track, aircraft’s flight path platform or instrument.PointFeature Single point measurement raingauge measurementProfileFeature Single ‘profile’ of some parameter along a wind sounding, XBT, CTD, radiosonde directed line in space.GridFeature Single time-snapshot of a gridded field gridded analysis fieldPointSeriesFeature Series of single datum measurements tidegauge, rainfall timeseriesProfileSeriesFeature Series of profile-type measurements vertical or scanning radar, shipborne ADCP, thermistor chain timeseriesGridSeriesFeature Timeseries of gridded parameter fields. numerical weather prediction model, ocean general circulation model British Atmospheric Data Centre http://badc.nerc.ac.uk
  17. 17. CSML ProfileSeriesFeatureProfileFeature GridFeature British Atmospheric Data Centre http://badc.nerc.ac.uk
  18. 18. NERC DataGrid; web services coming soon Discovery Service (here now) Data Extractor (next week) Vocab Service (next month) Attribute Authority (next couple of months) Data Provider (next couple of months) DeliveryBroker (later this year) Browse Service (a long way off) All Open Source, documented, clear APIs British Atmospheric Data Centre http://badc.nerc.ac.uk
  19. 19. NERC DataGrid: Discovery Service British Atmospheric Data Centre http://badc.nerc.ac.uk
  20. 20. NDG: dataExtractor and GeoSplat British Atmospheric Data Centre http://badc.nerc.ac.uk
  21. 21. UNIDATAUnidata (www.unidata.ucar.edu) provide data feeds using their Local Data Manager (LDM) technology to push data around the U.S. (and further afield) in the Internet Data Distribution system (IDD).• Users to specify in advance which data should be delivered to their local systems. The IDD then delivers the data as soon as they are available.• The IDD is a data subscription service, implemented in such a way that delivery (and often processing) are triggered by external events.• WMO considering the use of LDM for some data movement. British Atmospheric Data Centre http://badc.nerc.ac.uk
  22. 22. Unidata: LDMLDM Delivery•Scalable•Hierarchical fan out•Relying on relay sites withappropriate resources•Flexible•New data products can beintroduced from any node inthe system British Atmospheric Data Centre http://badc.nerc.ac.uk
  23. 23. UNIDATA IDS Topology British Atmospheric Data Centre http://badc.nerc.ac.uk
  24. 24. Summary• Web services not just about SOAP and WSDL …• We should use • web service standards, • WS mechanisms optimised for environmental applications• Currently need to extend GML (CSML)• Options for data push if UK community want it based on LDM (or similar) technologies …• NDG can (and is) building a range of environmental web services British Atmospheric Data Centre http://badc.nerc.ac.uk

×