Download presentation
Presentation is loading. Please wait.
Published byRudolph Phillips Modified over 9 years ago
1
The New Zealand Institute for Plant & Food Research Limited Matthew Laurenson Web Services: Introduction & Design Considerations
2
The New Zealand Institute for Plant & Food Research Limited History Remote Procedure Calls (RPC) (~1976) »allows a computer program to cause a subroutine or procedure to execute in another [computer] without programmer explicitly coding details (Wikipedia) CORBA (1991) »Allows RPC between programs written in different languages »Problems »Binary format »Firewalls SOAP (1998) »RPC using XML over HTTP
3
The New Zealand Institute for Plant & Food Research Limited Web Services – benefits Provide a service based on dynamic data »Avoid need to distribute data Maintain one copy of dynamic code Share functionality between applications Expose legacy applications Deliver functionality as services to external clients Decouple application modules »clean designs »freedom to change implementation
4
The New Zealand Institute for Plant & Food Research Limited Web Services – key concepts WSDL »(Pronounced Wizdle) »Describes a Web Service (implemented using SOAP) »XML Schema defines service in machine readable form rpc/encoded -> doc/literal/wrapped style »rpc/encoded style was initially favoured »doc/literal more flexible, favoured by.Net so became default.
5
The New Zealand Institute for Plant & Food Research Limited Two basic design approaches Most languages support generating a WSDL automatically for services published as Web Services Most languages support generating client code from a WSDL If you are coding the server, generate WSDL automatically from application If you are coding a client, generate code automatically from WSDL Stick with automatically generated client classes and/or WSDL – don’t edit!
6
The New Zealand Institute for Plant & Food Research Limited Good design Take advantage of power of XML-Schema features Using typing, enumerations, ranges Try to “chunk” work appropriately to reduce impact of latency.
7
The New Zealand Institute for Plant & Food Research Limited Interoperability Test interoperability early and often Ingest WSDL into target languages Play safe with things like element names WS-I interoperability (www.ws-i.org/) doc/literal/wrapped is where things have settled Don’t use “overloaded” methods (same names, different parameters) Don’t use language-specific features (eg Java Maps) – stick with arrays.
8
The New Zealand Institute for Plant & Food Research Limited Useful tools Proxies SOAPUI
9
The New Zealand Institute for Plant & Food Research Limited A RESTful life beyond SOAP Object represented by unique URL Get object contents using an HTTP GET Modify the object using a POST Advantages of REST web services: »Lightweight - not a lot of extra xml markup »Human Readable Results »Easy to build - no toolkits required SOAP advantages: »Easy to consume - sometimes »Rigid - type checking, adheres to a contract »Development tools - generate client code http://www.petefreitag.com/item/431.cfm
10
The New Zealand Institute for Plant & Food Research Limited JSON – alternative to XML Javascript Object Notation Used to serialize & transmit structured data A subset of Javascript (but language independent) Easier to parse in some situations Somewhat more concise than XML
11
The New Zealand Institute for Plant & Food Research Limited Example of JSON { "firstName": "John", "lastName": "Smith", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] } http://en.wikipedia.org/wiki/JSON
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.