The SOAP Story - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

The SOAP Story

Description:

A long history on the Microsoft platform. DCOM, .NET Remoting ... (ordered list of channel types & config) channel type N. channel type 2. channel type 1 ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 42
Provided by: downloadM
Category:
Tags: soap | channel | history | story | the

less

Transcript and Presenter's Notes

Title: The SOAP Story


1
The SOAP Story
  • Martin Parry
  • Developer Platform Group
  • Microsoft Ltd
  • martin.parry_at_microsoft.com
  • http//martinparry.com

2
Agenda
  • Definitions
  • SOAP through the ages
  • SOAP and standards
  • Approaches to building and using services
  • SOAP Services with WCF
  • Services and the Workflow Foundation

3
Definitions
  • SOAP
  • Initially Simple Object Access Protocol
  • Its about services that exchange messages
  • The messages are formed from XML
  • Each message has headers plus a body
  • WSDL
  • Describes services and their operations
  • Uses XML and schema to describe messages

4
SOAP on the Microsoft Platform
  • SOAP Toolkit
  • NT4, Windows 2000
  • IIS4 or IIS5
  • Based around COM
  • Used ISAPI filter
  • No longer in mainstream support
  • Extended support expires in March 2008

5
SOAP on the Microsoft Platform
  • SOAP Toolkit
  • NT4, Windows 2000
  • IIS4 or IIS5
  • Based around COM
  • Used ISAPI filter
  • No longer in mainstream support
  • Extended support expires in March 2008

6
SOAP on the Microsoft Platform
  • SOAP Moniker
  • Introduced in Windows XP Professional
  • Scriptable mechanism for invoking web services
  • Example vbscript...
  • Dim proxy
  • Set proxy GetObject(soapwsdlhttp//....)

7
SOAP on the Microsoft Platform
  • .NET Remoting
  • Supports TCP and HTTP transports
  • Can use IIS, or not
  • Supports SOAP formatting, or binary
  • Significant difference -
  • Distributed Object programming paradigm
  • As opposed to message passing

8
SOAP on the Microsoft Platform
  • ASP.NET
  • .asmx web services
  • add web reference
  • Still relies on IIS
  • Support in v2.0 for WS-I Basic Profile
  • No other standards support is built-in

9
SOAP on the Microsoft Platform
  • Web Services Enhancements
  • Now in v3.0
  • Adds support for some WS- protocols
  • Allows non-IIS services
  • Allows non-HTTP transport

10
SOAP on the Microsoft Platform
  • Windows Communication Foundation
  • Introduced in .NET FX 3.0
  • Entirely new communications API
  • Allows for changes in transports and protocols
  • Very extensible
  • Can use IIS, or not
  • Can use HTTP, or not
  • Ships with named pipes, TCP, MSMQ, P2P

11
Standards
  • WS-Security
  • Message-level security
  • WS-SecureConversation
  • Optimisation for WS-Security
  • WS-Policy
  • Contractual info not contained in WSDL
  • WS-SecurityPolicy
  • Policy rules that are specific to security
  • WS-Trust
  • Defines STS

12
Approaches Distributed Objects
  • A long history on the Microsoft platform
  • DCOM, .NET Remoting
  • Difficulty in managing object lifetimes
  • Wisdom of making network transparent?
  • Perhaps the developer needs to know?
  • Simple, OO paradigm easy to code against

13
Approaches Message Exchange
  • Probably still use a proxy class
  • How is message body formed?
  • Serialized object graph, or
  • Application code emits XML content directly
  • SOAP is all about message exchange really
  • Just a question of how this appears to the
    application developer
  • Different exchange patterns
  • Request/response, one-way, duplex, intermediaries

14
Approaches - SOA
  • There are multiple definitions of SOA
  • Not necessarily tied to web services
  • A service performs one standalone piece of the
    business process
  • Participates in message exchange
  • No notion of data behaviour, as in OO
  • Should use contract policy so that clients can
    be built correctly
  • Sometimes see service brokers

15
.NET Remoting
ASMX
Interop with other platforms
Extensibility Location transparency
Attribute- Based Programming
Message- Oriented Programming
WS- Protocol Support
Enterprise Services
System.Messaging
WSE
16
Distributed Applications
Client
  • Services pass messages described by a contract
  • Service may provide metadata, describing -
  • The contract
  • The policy applied to communication

17
Mechanics of Communication
Service
Client
What do I send?
Contract
Where do I send it?
Address
How should I send it?
Binding
18
Mechanics of Communication
Service
Client
19
Contracts
ServiceContract public interface INuggetAccess
OperationContract string GetTopics()
.NET Interface
Service
Client
20
Richness of metadata
Service
  • Service can advertise a lot of info to a client
  • WSDL
  • WS-Policy (security etc)
  • Can do so over
  • HTTP
  • WS- MetadataExchange
  • Makes building clients a lot simpler

Endpoints
Contracts
21
Contract Details
  • Message exchange might be -
  • One-way, Request/Response, Two-way (Duplex)
  • WCF also supports serialization models from .NET
    2.0
  • System.Xml.XmlSerialization, System.Runtime.Serial
    ization

22
Hosting Services
public class Service INuggetAccess
string GetTopics()
IIS
lt_at_ ServiceHost ServiceService" gt
References
NuggetAccessService.svc
  • ServiceHost is the key class for hosting
  • Needs manual steps in your host application
  • Automatically done by IIS when provided with a
    .svc file
  • IIS handles additional transports in v7.0

23
Windows Communication Foundation
24
WCF sketched architecture
Client
Service
Metadata
Your code
Your code
25
Standard Framework Bindings
  • Pre-built set in the framework
  • WS-I Basic Profile
  • WS- on HTTP
  • TCP
  • Named Pipes
  • MSMQ
  • Peer
  • Configure/code your own as a "custom" binding

26
Instancing, Concurrency, Sessions
  • Service classes can be instantiated -
  • Singleton, Per-Call, Per-Session, Shareable
  • Service code can be either -
  • Single threaded, Re-entrant or Multi-threaded

Service
Message A
Singleton
Message B
Message C
Client
27
Instancing, Concurrency, Sessions
  • Service classes can be instantiated -
  • Singleton, Per-Call, Per-Session, Shareable
  • Service code can be either -
  • Single threaded, Re-entrant or Multi-threaded

Service
Message A
Single Call
Message B
Single Call
Message C
Client
Single Call
28
Instancing, Concurrency, Sessions
  • Service classes can be instantiated -
  • Singleton, Per-Call, Per-Session, Shareable
  • Service code can be either -
  • Single threaded, Re-entrant or Multi-threaded

Service
session
Message A
Per Session
Message B
Per Session
Message C
Client
29
Security in WCF Out of the box
  • Transport Level
  • HTTPS
  • IIS authentication modes
  • Message Level
  • UserName, X.509 Certificate, Windows
  • IssuedToken that is, federated security
  • ASP.NET membership and role providers

30
Security in WCF - Extensibility
  • Roll your own
  • Username validator
  • Token validator
  • Credential types
  • Security Token Service
  • SAML claims
  • Etc...

31
Federated Security with WCF
32
WCF in .NET FX 3.5
  • Most of the new stuff isnt SOAP
  • Well see some of that in the next session
  • Client proxies and partial trust environments
  • Durable services
  • Coming together with Workflow

33
Partial Trust
  • Now possible to call through WCF proxies in a
    partial trust environment
  • Various caveats
  • Transport is HTTP only, Security is HTTPS only
  • Encodings is all except MTOM
  • Bindings are BasicHttpBinding, WsHttpBinding,
    WebHttpBinding
  • Other limitations
  • No Reliable Messaging, Transactions, Secure
    Conversation

34
Durable Services
  • Provider-based framework for easily adding
    long-running abilities to WCF services

Host (e.g. IIS)
client
implementation
state
token
state
35
Durable Services
  • Provider-based framework for easily adding
    long-running abilities to WCF services

Host (e.g. IIS)
client
implementation
state
token
state
36
Workflow
  • WF is not strictly about services, or SOAP
  • In .NET FX 3.5, WF has some WCF integration
  • A workflow can consume services
  • We can implement a service as a workflow

37
Services with WF
38
Summary
  • The Microsoft platform has evolved along with
    SOAP and its accompanying standards
  • Culminating in WCF
  • The most flexible, extensible communications
    stack weve ever produced

39
Additional Information
  • MSDN Developer Center for Web Services
  • http//msdn2.microsoft.com/en-gb/webservices/defau
    lt.aspx
  • Standards
  • http//www.w3.org
  • http//www.ws-i.org
  • http//www.oasis-open.org
  • SOA
  • http//www.opengroup.org/projects/soa
  • http//wiki.oasis-open.org/soa-rm
  • WCF
  • http//netfx3.com/content/WCFHome.aspx
  • WF
  • http//netfx3.com/content/WFHome.aspx

40
MSDN in the UK
  • Visit http//msdn.co.uk
  • Newsletter
  • Events
  • Screencasts
  • Blogs

41
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com