Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
XML Web-Services
Sergey Baidachni
MCT, MCSD, MCDBA
Overview
Introduction
How it work?
What about Java?
Performance
Security
Global Architecture
Introduction
Road №80
Unix, Windows or …
Formats war
XML Web Services
Road №80
Where in the wall can I make a hole?
Unix, Windows or …
Conveniences for the clients
Conveniences for the administrators
Who will think about programmers?
Formats War
DVD or VHS?
XML Web Services
What is this?
URL-addressable set of functionality exposed
over a network
Advantage
HTTP: Stateless and text
XML: Standard format
Any platform and language
How does it work?
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
What can be even simpler?
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string Hello(string Name)
{
return "Hello "+Name;
}
}
Testing in browser
Create simple .NET Client
SOAP – Is it a protocol or another
documents XML?
SOAP – Universal means of
communication
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xmlns:xsd="http://www.w3.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?
UDDI
SOAP
SOAP
IIS
SOAP
Web Service
Any Client
WSDL – A method of service usage
What’s the content of the service?
What parameters are to be transmitted?
WSDL Elements
types
message
portType
binding
service
Demonstration
XSD – What do I look like?
Schema Definition Language – description of
complex types
Demonstration
<xsd:complexType name="MyType">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="Name"
type="s:string" />
</xsd:sequence>
</xsd:complexType>
DISCO, UDDI – How am I found?
Static discovery
Dynamic discovery
Locating disco.exe [options] url
Programmatic discovery
System.Web.Services.Discovery
DiscoveryDocument
DiscoveryReferenceCollection
DiscoveryClientProtocol
DiscoveryClientResult
DISCO, UDDI – How am I found?
What is UDDI?
Benefits
Information provided by UDDI
Programming UDDI
(Microsoft.UDDI.dll)
Problem with UDDI
uddi.microsoft.com
Proxy Class
Proxies and WSDL
Generating Proxies Using Wsdl.exe
Add Web Reference
Explicit call
Configuring Proxies
Web Service
Web Service Consumer
What about Java?
How to install IIS on Unix?
Sun Java SDK, Tomcat, AXIS
Java и .NET – impossible?
It works for real!
Performance Testing
What is Application Center Test?
Record simple scenario
Custom scenario
CreateConnection
CreateRequest
Send
How generate SOAP in ACT?
Security
Threats definition– model STRIDE
Selection of techniques
Selection of technologies
Best Practices
STRIDE – Threats modulation
Spoofing identity
Tampering with data
Repudiation
Information disclosure
Denial of services
Elevation of privilege
Best Practices
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
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-SecureConversation
WS-SecurePolicy