XML WebServices Sergey Baidachni MCT MCSD MCDBA Overview
XML Web-Services Sergey Baidachni MCT, MCSD, MCDBA
Overview n n n Introduction How it work? What about Java? Performance Security Global Architecture
Introduction n n Road № 80 Unix, Windows or … Formats war XML Web Services
Road № 80 n Where in the wall can I make a hole?
Unix, Windows or … n n n Conveniences for the clients Conveniences for the administrators Who will think about programmers?
Formats War n DVD or VHS?
XML Web Services n What is this? q n URL-addressable set of functionality exposed over a network Advantage q q q HTTP: Stateless and text XML: Standard format Any platform and language
How does it work? n n n n Overview to XML Web Services Simple Web Services SOAP – a protocol or another document XML? WSDL – a method of service application XSD – How do I look like? DISCO, UDDI – How am I found? Proxy Class
Overview to XML Web Services Service Broker Publish Find Bind Service Provider Service Consumer
Simple Web Services n What can be even simpler? public class My. Service : System. Web. Services. Web. Service { [Web. Method] public string Hello(string Name) { return "Hello "+Name; } } Testing in browser n Create simple. NET Client n
SOAP – Is it a protocol or another documents XML? n SOAP – Universal means of communication <? xml version="1. 0" encoding="utf-8"? > <soap: Envelope xmlns: xsi="http: //www. w 3. org/2001/XMLSchemainstance" xmlns: xsd="http: //www. w 3. org/2001/XMLSchema" xmlns: soap="http: //schemas. xmlsoap. org/soap/envelope/"> <soap: Body> <Hello xmlns="http: //tempuri. org/"> <Name>string</Name> </Hello> </soap: Body> </soap: Envelope>
SOAP – Where? UDD I SOAP IIS SOAP Web Service Any Client
WSDL – A method of service usage n n n What’s the content of the service? What parameters are to be transmitted? WSDL Elements q q q n types message port. Type binding service Demonstration
XSD – What do I look like? n n Schema Definition Language – description of complex types Demonstration <xsd: complex. Type name="My. Type"> <xsd: sequence> <xsd: element min. Occurs="0" max. Occurs="1" name="Name" type="s: string" /> </xsd: sequence> </xsd: complex. Type>
DISCO, UDDI – How am I found? n n Static discovery Dynamic discovery Locating disco. exe [options] url Programmatic discovery q System. Web. Services. Discovery n n Discovery. Document Discovery. Reference. Collection Discovery. Client. Protocol Discovery. Client. Result
DISCO, UDDI – How am I found? n n n What is UDDI? Benefits Information provided by UDDI Programming UDDI (Microsoft. UDDI. dll) Problem with UDDI uddi. microsoft. com
Proxy Class n n Proxies and WSDL Generating Proxies Using Wsdl. exe q q n Add Web Reference Explicit call Configuring Proxies Web Service Consumer
What about Java? n n How to install IIS on Unix? Sun Java SDK, Tomcat, AXIS Java и. NET – impossible? It works for real!
Performance Testing n n n What is Application Center Test? Record simple scenario Custom scenario q q q n Create. Connection Create. Request Send How generate SOAP in ACT?
Security n n Threats definition– model STRIDE Selection of techniques Selection of technologies Best Practices
STRIDE – Threats modulation n n n Spoofing identity Tampering with data Repudiation Information disclosure Denial of services Elevation of privilege
Best Practices n n n Do not use an administrator’s accounting record Store secret data in a safe place Do not use lines concatenation when making queries
Global Architecture n n It is always lacking, or maybe there are problems of Web services? WS-* Specifications WS-Routing WS-Referral WS-Inspection WS-Security WS-Attachments WS-Coordination WS-Transaction WS-Policy WS-Trust WS-Secure. Conversation WS-Secure. Policy
- Slides: 23