Download presentation
Presentation is loading. Please wait.
Published byVincent Hunt Modified over 9 years ago
1
Web Services A good choice for sharing [ocean science] data.
2
Distributed Computing Connecting systems Transparency Transparency Scalability Scalability Fault Tolerance Fault Tolerance
3
Data Sharing Obstacles PlatformsLanguagesTransports
4
Data Sharing Methods CORBA, RMI, DCOM Problems Goals lacked heterogeneous environment Goals lacked heterogeneous environment Difficult-to-implement Difficult-to-implement Proprietary protocols Proprietary protocols Not modular – crammed specifications Not modular – crammed specifications
5
The Web Service Defined: Process between systems Leverage Internet standards Passes XML messages over HTTP Passes XML messages over HTTPPromotes Interoperability Interoperability Perl to C++ to AppleScript… Loose coupling Loose coupling Implementation-independent & Versioning
6
SOAP The Emerging Web Service Interface to existing programs Interface to existing programs Modular Design Modular Design Extensible – add-on distinct specs Extensible – add-on distinct specs Security Security Reliability Reliability Customizable – combine features as needed Customizable – combine features as needed No forced model No forced model 80+ implementations (platforms,languages) 80+ implementations (platforms,languages)
7
SOAP: Requirements Application Application Server SOAP Implementation XML parser (sometimes)
8
SOAP: How It Works Calls functions of existing programs Application server knows: Application server knows: Available functions How to decode requests How to encode responses XML Request – invokes a function call XML Request – invokes a function call With function parameters (if necessary) XML Response XML Response Packages returned data of the function
9
SOAP: Getting Started Receiving SOAP requests Define a SOAP “Service” Define a SOAP “Service” Tell Server “Providing” program Tell Server “Providing” program How to translate data (mapping) How to translate data (mapping) Sending SOAP requests Write SOAP call Write SOAP call Knowing what you are receiving What parameters to pass along (if necessary)
10
SOAP Example Online Address Book Functions: getAddressForName( name ) getAddressForName( name ) addEntry( ) addEntry( ) getAllListings() getAllListings()
11
SOAP Response: Notify Server <isd: service … id="urn:AddressFetcher"> <isd: provider <isd: provider type="java"... methods="getAddressFromName addEntry getAllListings" … class="samples.addressbook.AddressBook" … class="samples.addressbook.AddressBook" …… …</isd:service>
12
SOAP Request: Making the Call URL url = new URL("http://ragnarok.whoi.edu:7001/soap/servlet/rpcrouter"); … Call call = new Call(); … call.setTargetObjectURI(" urn:AddressFetcher "); call.setMethodName(" getAddressFromName "); … Vector params = new Vector(); params.addElement( … "John B. Good“ …); call.setParams(params); Response response = call.invoke(url); Parameter ret = response.getReturnValue(); …
13
SOAP: In Action getAddressFromName(“John B. Good”) Try it Try it addEntry(“John Doe...”) Try it Try it getAddressFromName(“John Doe”) Try it Try itgetAllListings() Try it Try it
14
SOAP: Drawbacks Performance XML lacks efficiency of parsing XML lacks efficiency of parsing XML Infoset (W3C recommendation) HTTP limitations HTTP limitations
15
Popular Web Services Product Support OS Language Apache SOAP UNIX, Windows Java GLUE Java WASP C++ SOAP::Lite Perl SOAPx4UNIXPHP
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.