Evaluating Web Evaluating Web Services for Services for
FDMSFDMSCynthia Loitch OAR/PMEL (PI)Cynthia Loitch OAR/PMEL (PI)
Eugene Burger OAR/PMELEugene Burger OAR/PMEL
NOAA Research Webshop 2003Longmont, CO3-5 June 2003
OverviewOverview
What are Web Services, SOAP and What are Web Services, SOAP and FDMS?FDMS?
GoalsGoals Evaluation processEvaluation process Requirements for FDMS?Requirements for FDMS? ArchitectureArchitecture ImplementationImplementation ImpressionsImpressions ConclusionConclusion
Web Services & SOAPWeb Services & SOAP Web services is a misnomer; it has nothing to do with the Web services is a misnomer; it has nothing to do with the
WebWeb Web services encompass a set of related standards that Web services encompass a set of related standards that
enable computer applications to communicate and exchange enable computer applications to communicate and exchange data via the Internet.data via the Internet. Web Services are a technology for exposing a software Web Services are a technology for exposing a software
API to the InternetAPI to the Internet Web Services Abstraction allow independent alteration of Web Services Abstraction allow independent alteration of
client and/or server configurationclient and/or server configuration Technologies utilized:Technologies utilized:
HTTPHTTP XML – eXtensible Markup LanguageXML – eXtensible Markup Language SOAP – Simple Object Access ProtocolSOAP – Simple Object Access Protocol
W3c Standard supported by Microsoft, IBM etc.W3c Standard supported by Microsoft, IBM etc. An XML based protocol that enables applications to An XML based protocol that enables applications to
communicate over the internet by using XML communicate over the internet by using XML documents called SOAP messages.documents called SOAP messages.
SOAP Message structureSOAP Message structure
FDMSFDMS
FDMS is the Financial Database Management FDMS is the Financial Database Management System utilized by NOAA ResearchSystem utilized by NOAA Research Commitment tracking softwareCommitment tracking software Used throughout NOAA ResearchUsed throughout NOAA Research
19 offices located throughout the U.S.19 offices located throughout the U.S. Remote access via Citrix ServerRemote access via Citrix Server
Migrating system to a single SQLServer Migrating system to a single SQLServer databasedatabase Considering alternative client technologies with Considering alternative client technologies with
this databasethis database
GoalsGoals
To answer the question:To answer the question:
Are Web Services with SOAP a Are Web Services with SOAP a viable client-server technology viable client-server technology alternative for use in the next alternative for use in the next generation of the FDMS application?generation of the FDMS application?
Evaluation processEvaluation process
Familiarize ourselves with Familiarize ourselves with technologytechnology
Server infrastructureServer infrastructure Client optionsClient options Bandwidth restraints, if anyBandwidth restraints, if any
RequirementsRequirements
Client server applicationClient server application Secure data transferSecure data transfer Authenticated user sessionsAuthenticated user sessions
Query pageQuery page Screen snapshot of the dataset selection webpageScreen snapshot of the dataset selection webpage
Asking to see information on Credit Card data download from CAMSAsking to see information on Credit Card data download from CAMS
Result set renderingResult set rendering Screen snapshot of the results web pageScreen snapshot of the results web page
Shows when Credit Card data downloads occurredShows when Credit Card data downloads occurred
API exposed by the Web API exposed by the Web ServicesServices
2 methods exposed2 methods exposed getDownloadDates(String)getDownloadDates(String) getDownloadSets(Date)getDownloadSets(Date)
SOAP Invocation messageSOAP Invocation messageHTTP Post HeaderHTTP Post Header
Post /ccx/DownloadMonitor HTTP/1.0Post /ccx/DownloadMonitor HTTP/1.0
Content-Lentgh: 541Content-Lentgh: 541
Host: LocalhostHost: Localhost
Content-Type: text/xml; charset=utf-8Content-Type: text/xml; charset=utf-8
SOAPAction: SOAPAction: "Axis:DownloadMonitor:DownloadService#g"Axis:DownloadMonitor:DownloadService#getDownloadDates"etDownloadDates"
SOAP Invocation SOAP Invocation messagemessage
Root element - namespace declarationsRoot element - namespace declarations<?xml version=1.0" encoding="UTF-8"?><?xml version=1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoSOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"ap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/sxmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"oap/envelope/"
xmlns:xsd=http://www.w3.org/2001/XMLSchema"xmlns:xsd=http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/sxmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">oap/encoding/">
SOAP Invocation SOAP Invocation message message
Root element - envelope bodyRoot element - envelope body<SOAP-ENV:Body><SOAP-ENV:Body>
<ns1:getDownloadDates <ns1:getDownloadDates xmlns:ns1="axis:DownloadMonitor:Downloaxmlns:ns1="axis:DownloadMonitor:DownloadService">dService">
<DataSet xsi:type="xsd:String"><DataSet xsi:type="xsd:String">FIMAOOFIMAOO
</DataSet></DataSet></ns1:getDownloadDates></ns1:getDownloadDates>
</SOAP-ENV:Body></SOAP-ENV:Body>
<SOAP-ENV:Envelope><SOAP-ENV:Envelope>
SOAP response messageSOAP response message
HTTP/1.0 200 OKHTTP/1.0 200 OK
Content-Type: text/xml; charset=utf-8Content-Type: text/xml; charset=utf-8
Content-Length: 580Content-Length: 580
Date: Mon, 26 May 2003 16:23:34 GMTDate: Mon, 26 May 2003 16:23:34 GMT
SOAP response messageSOAP response message
<?xml version="1.0"?><?xml version="1.0"?>
<SOAP-ENV:Envelope<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoSOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"ap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/sxmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"oap/envelope/"
xmlns:xsd=http://www.w3.org/2001/XMLSchema"xmlns:xsd=http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/sxmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">oap/encoding/">
SOAP response messageSOAP response message
<SOAP-ENV:Header/><SOAP-ENV:Header/>
<SOAP-ENV:Body<SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">schemas.xmlsoap.org/soap/encoding/">
<cc1:getDownloadDatesResponse<cc1:getDownloadDatesResponse
xmlns:cc1="axis:DownloadMonitor:DownloadService" SOAP-xmlns:cc1="axis:DownloadMonitor:DownloadService" SOAP-ENC:root="1">ENC:root="1">
<return xsi:type="xsd:date"><return xsi:type="xsd:date">
1/29/2003 3:33:30 PM1/29/2003 3:33:30 PM
</return></return>
ConclusionConclusion FDMS ApplicabilityFDMS Applicability
Tomcat and Axis server configuration settings can be Tomcat and Axis server configuration settings can be complexcomplex
SOAP messages have some bandwidth overheadSOAP messages have some bandwidth overhead this could be mitigated by using compressionthis could be mitigated by using compression
Custom software could simplify (FDMS) architecture Custom software could simplify (FDMS) architecture Because the user community is limited, custom Because the user community is limited, custom
written architecture is an option with FDMS.written architecture is an option with FDMS. Industry standard Web Services does allow us to alter Industry standard Web Services does allow us to alter
server / client applications independentlyserver / client applications independently Client technologies, maybe using Web Services, Client technologies, maybe using Web Services,
will be consideredwill be considered Microsoft InfoPathMicrosoft InfoPath Acrobat formsAcrobat forms
Promising new Promising new technologiestechnologies
Microsoft InfoPathMicrosoft InfoPath InfoPath 2003 (formerly code-named InfoPath 2003 (formerly code-named
"XDocs")"XDocs") New Microsoft Office addition (2003)New Microsoft Office addition (2003) helps teams and organizations gather and share helps teams and organizations gather and share
information by creating rich, dynamic XML–information by creating rich, dynamic XML–based forms. based forms.
www.microsoft.com/office/preview/infopath/www.microsoft.com/office/preview/infopath/default.aspdefault.asp
Also XML & WebServices basedAlso XML & WebServices based
ConclusionConclusion
Our experience has lead us to Our experience has lead us to science applications for which Web science applications for which Web Services and SOAP are well suited.Services and SOAP are well suited. We will be developing Web Services We will be developing Web Services
for NOAA TAO El Nino buoy data in for NOAA TAO El Nino buoy data in FY03FY03
Top Related