Download presentation
Presentation is loading. Please wait.
Published byLaurel Cowdrey Modified over 10 years ago
1
CERN IDS
2
CERN – European Organization for Nuclear Research Administrative Support - Internet Development Services Implementing Soap & Web Services By Jozef Dranseld (ST-MA) & Derek Mathieson (AS-IDS)
3
CERN IDS Presentation Roadmap Past Future Present
4
CERN IDS Why Web Services? The Web can grow significantly in power and scope if it is extended to support communication between applications, from one program to another. - From the W3C XML Protocol Working Group Charter
5
CERN IDS The Hype New paradigm? Reason to move platforms? Replacement for EDI?
6
CERN IDS Plateau of productivity Slope of enlightenment Trough of disillusionment Peak of inflated expectations Technology trigger Gartners Hype Curve Key: Time to plateau Less than two years Two to five years Five to 10 years Beyond 10 years Biometrics Grid Computing Web Services Nanocomputing Personal fuel cells Text-to- speech Wireless LANs/802.11 Virtual private networks Visibility Maturity Source: Gartner Group June 2002 Natural-language search Identity services Personal digital assistant phones E-tags Speech recognition in call centers Voice over IP Bluetooth Public key infrastructure Speech recognition on desktops Location sensing WAP/ Wireless Web Peer-to-peer computing
7
CERN IDS What are Web Services? Identified by a URI Interfaces defined using XML Can be discovered by other systems Interact using XML based messages conveyed by Internet protocols Source: Web Services Glossary
8
CERN IDS What are Web Services? XML Application 2Application 1
9
CERN IDS Is this New? Sun RPC (1985) CORBA (1992) DCE / RPC (1993) Microsoft COM (1993) Microsoft DCOM (1996) Java RMI (1996)
10
Is this New? CERN IDS
11
CERN IDS A Brief History …
12
CERN IDS Is this Different? Platform neutral Open Standards –Interoperable Based on ubiquitous software –XML Parsers –HTTP Server
13
CERN IDS The Components
14
CERN IDS Transport HTTP POST is most common But other protocols such as –FTP –SMTP –HTTP GET And other exotic ones: –Jabber –BEEP
15
CERN IDS Packaging – Soap Used to mean –Simple –Object –Access –Protocol From SOAP 1.2 > SOAP is no longer an acronym Two Types of SOAP
16
CERN IDS Packaging – Soap SOAP RPC: –encode and bind data structures into xml. –encode an RPC call
17
CERN IDS Serialization class PurchaseOrder { String item = socks; int amount = 1; } socks 1 Serializer
18
CERN IDS Packaging - SOAP SOAP document style –packages xml in an envelope
19
CERN IDS Packaging – Soap HTTP Post SOAP Envelope SOAP Body SOAP Head
20
CERN IDS Packaging – Soap 1234
21
CERN IDS Packaging – Soap socks 1
22
CERN IDS Description – WSDL Web Services Description Language Web Services Description Language (WSDL) provides a model and an XML format for describing Web services. w3c.org
23
CERN IDS Description – WSDL Messages Types Operations Encoding Endpoint
24
CERN IDS Types <schema targetNamespace=" IMessageService.xsd" xmlns="…/XMLSchema" xmlns:SOAPENC="…/soap/encoding/"/>
25
CERN IDS Messages
26
CERN IDS Operations
27
CERN IDS Encoding
28
CERN IDS Endpoint
29
CERN IDS Discovery – UDDI Universal Description, Discovery and Integration A UDDI Server acts as a registry for Web Services and makes them searchable.
30
CERN IDS Discovery – UDDI Demonstration: https://uddi.ibm.com/ubr/registry.html
31
CERN IDS Discovery – UDDI UDDI Registry Inquiry Publish
32
CERN IDS Discovery – UDDI UDDI Registry Inquiry Publish
33
CERN IDS Examples Java –Client –Server VBScript –Client –high level API –Client – low level API.NET –C# Client –C# Server
34
CERN IDS Design Recommendations Create a local class Create a method with the same name
35
CERN IDS Examples (Java Client) URL endpointURL = new URL(endpoint); Call call = new Call(); call.setSOAPTransport(m_httpconn); call.setTargetObjectURI("MessageService"); call.setMethodName("setMessage"); call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
36
CERN IDS Examples (Java Client) Vector params = new Vector(); params.addElement( new Parameter("name", java.lang.String.class, name, null)); params.addElement( new Parameter("colour", java.lang.String.class, colour, null)); call.setParams(params); Response response = call.invoke(endpointURL, "");
37
CERN IDS Examples (Java Client) Demonstration
38
CERN IDS Examples (Java Server) A Web service Server is simple: –New class with method Then: –Register class with soap router –Or –Place the source code in a jws file
39
CERN IDS Examples (VB Client) High Level API (After adding a Web Service Reference) Dim serv As clsws_MessageService Set serv = New clsws_MessageService serv.wsm_setMessage txtName.Text, txtColor.Text
40
CERN IDS Examples (VB Client) Serializer.Init Connector.InputStream Serializer.startEnvelope, ENC Serializer.SoapNamespace "xsi", XSI Serializer.SoapNamespace "SOAP-ENC", ENC Serializer.SoapNamespace "xsd", XSD Serializer.startBody Serializer.startElement Method, URI,, "method" Serializer.startElement parameter Serializer.SoapAttribute "type",, "xsd:string", "xsi" Serializer.writeString username Serializer.endElement Serializer.endBody Serializer.endEnvelope Connector.EndMessage
41
CERN IDS Examples (VB Client) Name Colour
42
CERN IDS Examples (C# Client) Add a Web References to a project Localhost.MessageService serv = new Localhost.MessageService(); serv.setMessage(x, y);
43
CERN IDS Examples (C# Client) Demonstration
44
CERN IDS Examples (C# Server) public class Demo : System.Web.Services.WebService { public Demo() { InitializeComponent(); } [Web Method] public string HelloWorld() { return Hello World; }
45
Web Services Future CERN IDS
46
CERN IDS Security WS do not define how to do security, they rely on other mechanisms layered on top. Very common to use SSL –Good for simple cases Weak when multi-tier Forces encryption of all data – sometimes not needed
47
CERN IDS Security Bookstore Client Application
48
CERN IDS Security Client Application Bookstore Bank Warehouse
49
CERN IDS WS Security Standardisation W3C - http://www.w3c.org –XML Encryption –XML Digital Signatures WS-I - http://www.ws-i.org –WS Security Profile OASIS - http://www.oasis-open.org –WS-Security –SAML - Security Assertion Markup Language –XACML - Extensible Access Control Markup Language –XKMS - XML Key Management Specification
50
CERN IDS Fire Wall Security – Fire Walls Bookstore Client Application
51
CERN IDS Security Firewall transparency Double-edged sword –Simplifies deployment –Opens up potential holes in enterprise security Similar to CGI, etc.
52
CERN IDS WS-I Web Services Interoperability Organization http://www.ws-i.org R1017A RECEIVER MUST NOT mandate the use of the xsi:type attribute in messages except as required in order to indicate a derived type WS-I Basic Profile Version 1.0
53
CERN IDS Missing Pieces Security –Single Sign-on, credentials Transactions Quality of service –Timeliness guarantees Asynchronous operations –Co-ordination, workflow
54
CERN IDS Real Examples Amazon Web Services API Google Web API HP & IBM online stores
55
CERN IDS Next Steps Overtime Interface Other documents (Materials Request, TID, Transport Request) E-Business – with ebXML
56
CERN IDS Plateau of productivity Slope of enlightenment Trough of disillusionment Peak of inflated expectations Technology trigger Gartners Hype Curve Key: Time to plateau Less than two years Two to five years Five to 10 years Beyond 10 years Web Services Visibility Maturity Source: Gartner Group June 2002
57
CERN IDS Thank you Presentation and source code of demos: http://ais.cern.ch/presentations
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.