Presentation is loading. Please wait.

Presentation is loading. Please wait.

ELF Developers Forum Kick-off meeting - 5 November 2004.

Similar presentations


Presentation on theme: "ELF Developers Forum Kick-off meeting - 5 November 2004."— Presentation transcript:

1 ELF Developers Forum Kick-off meeting - 5 November 2004

2 Introduction to the forum Sam Easterby-Smith - CETIS se5@bolton.ac.uk

3 Aims and objectives Fostering the ELF developer community A chance to learn from each others experiences Cut across the current boundaries Enabling “orchestration” of the various services Lots of plugging and festing Contributing to developing the ELF itself

4 Who’s framework is it anyway? ELF / IE / GRID / eResearch JISC / DEST / Industry Canada / ADL / etc

5 Why Webservices? Scott Wilson / Sam Easterby-Smith

6 Why services? “Layers of abstraction” “Breaking down monoliths” “Enabling the pick-and-mix MLE” “Fostering pedagogic diversity”

7 Why not? Security Reliability Orchestration Semantics Legacy support Trying to simplify complexity... Reinventing things which aren’t broken... It’s not all there yet... Lack of maturity… But Scott will talk about that... 5 missing pieces of SOA - Brent Sleeper

8 How? There’s more than one way to do it SOAP - the oo way REST - the resource-oriented way XML-RPC - another way WSDL - protocol independent description of an interface (either way!!) WS-I (a profile of SOAP/WSDL)

9 REST (a style not a standard) “Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.” Roy Thomas Fielding PhD Web-ish - delivery of interlinked resources While REST is not a standard, it does use standards: HTTP/URL/XML/HTML/GIF/JPEG/etc

10 REST examples The web itself or Atom: <link rel="next" type='application/x.atom+xml' title="Next 20 Entries" href="http://.."/> <link rel="prev" type='application/x.atom+xml' title="Previous 20 Entries" href="http://.."/> <link rel="comments" type='application/x.atom+xml' title="Last 20 Comments" href="http://.."/> <link rel='service.post' type='application/x.atom+xml" title="Create a new post on intertwingly.net" href=".."/> http://example.org/blog/1630.atom <link rel="alternate" type="text/html" href="http://example.org/blog/1630.html" /> <link rel="service.post" type='application/x.atom+xml' href="/blog/1630.atom-new-comment" title="Add a comment."/>

11 SOAP Simple Object Access Protocol (no-longer an acronym) “SOAP Version 1.2 (SOAP) is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics.”

12 Soap Example POST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> IBM HTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8 Content-Length: nnn <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> 34.5 Request Response

13 WSDL Web Services Description Language Platform/protocol/style/etc independent (not just SOAP!) Describes the API - or available calls and other gubbins associated with a given service. Well supported by many programming languages (Greatly speeds implementation…)

14 <!-- > createLearnerByProxy() > IN: > ; > OUT: > LearnerId, -> iaf:IdentifierDType --> WSDL Example...

15 XML-RPC “Remote Procedure Calls” A bit like SOAP (and closely related) Simple encoding of parameters into XML

16 XML-RPC example use Frontier::Client; $server = Frontier::Client->new(url => 'http://betty.userland.com/RPC2'); $name = $server->call('examples.getStateName', 41); print "$name\n"; sample.sumAndDifference 5 3

17 WS-I A tidied-up profile of SOAP and WSDL Adds constraints which may or may not be useful… Then there are the other ws-complicated things:


Download ppt "ELF Developers Forum Kick-off meeting - 5 November 2004."

Similar presentations


Ads by Google