Evaluating Web Services for FDMS Cynthia Loitch OAR/PMEL (PI) Eugene Burger OAR/PMEL NOAA Research...

Post on 11-Jan-2016

220 views 0 download

Tags:

Transcript of Evaluating Web Services for FDMS Cynthia Loitch OAR/PMEL (PI) Eugene Burger OAR/PMEL NOAA Research...

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