Web Services Development Kit WSDK - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Web Services Development Kit WSDK

Description:

Technical preview available from MSDN since August 26th, 2002. ... Controls security settings (i.e. X509 store location) Configuration Sample configuration ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 35
Provided by: johnbr78
Category:

less

Transcript and Presenter's Notes

Title: Web Services Development Kit WSDK


1
Web Services Development Kit (WSDK)
  • John Bristowe Senior Solution Developer
  • Empowered Software Solutions

2
WSDK
  • Technical preview available from MSDN since
    August 26th, 2002
  • .NET class library (Microsoft.WSDK.dll) for
    building Web services that utilize the latest Web
    service protocols
  • Support for various GXA specifications
  • WSDK exposes two programming models Low-level
    API for direct access, higher-level integration
    with ASP.NET, exposed through ASMX

3
GXA Support
  • WSDK currently supports WS-Security, WS-Routing,
    WS-Referral, DIME, and WS-Attachments
  • WSDK currently does not support WS-Inspection,
    WS-Coordination, or WS-Transaction

4
WSDK Process Model
5
WSDK Process Model
  • SOAP messages are processed as they cross
    application boundaries utilizing a pipeline of
    filters
  • Filters are responsible for processing SOAP
    headers

6
Filters
  • Headers are written to outbound SOAP messages
  • Headers are read from inbound SOAP messages
  • Certain GXA specifications mandate transforming
    the SOAP message body (i.e. WS-Security)
  • Filters may be used with other filters to form
    filter chains
  • WSDK supports custom filters

7
SoapContext
  • Access to SOAP headers is provided by the
    SoapContext class
  • On the client, SoapContext is exposed via
    RequestSoapContext and ResponseSoapContext
    through WSDKClientProtocol
  • On the server, SoapContext is exposed via
    RequestContext and ResponseContext through
    HttpSoapContext module

8
SoapContext
SoapContext
Attachments
Referrals
Security
Path
Timestamp
Envelope
9
Client Side
  • SoapWebRequest
  • SoapWebResponse

10
Server Side
  • WSDK functionality is exposed through
    Microsoft.WSDK.HttpModule, an ASP.NET HTTP module
  • Responsible for establishing input and output
    filter chains when a SOAP message is received

11
Processing a Request
  • Checks to see if the SOAP message targets a
    Remoting endpoint (i.e. .rem, .soap)
  • Verifies that a SOAPAction exists
  • Initializes RequestSoapContext and
    ResponseSoapContext
  • Initializes configuration
  • Establishes input and output filter chains to
    request/response

12
Filtering SOAP Messages
  • Pipeline is responsible for driving the SOAP
    envelope through the filter chain
  • WSDK pipeline mimics IBMs WSTK
  • Output filters (possibly) modify the contents of
    the message body (i.e. encryption) based on
    context
  • Input filters check the validity of headers and
    (possibly) modify the contents of the message
    body (i.e. decryption) based on context

13
Input Filters
  • TraceInputFilter
  • RoutingInputFilter
  • ReferralInputFilter
  • SecurityInputFilter
  • TimestampInputFilter

14
Output Filters
  • TraceInputFilter
  • RoutingInputFilter
  • ReferralInputFilter
  • SecurityInputFilter
  • TimestampInputFilter

15
WSDK Configuration
  • Utilizes Web.config
  • WSDK defines an additional configuration section
    microsoft.wsdk
  • Facilitates the use of custom filters
  • Specifies various diagnostic capabilities
  • Defines routing information
  • Controls security settings (i.e. X509 store
    location)

16
Configuration Sample
  • ltconfigurationgt
  • ltmicrosoft.wsdkgt
  • ltdiagnosticsgt
  • lttracing enabledtrue inputinput.xml
    outputoutput.xml /gt
  • lt/diagnosticsgt
  • ltreferralgt
  • ltcache namereferralCache.config /gt
  • lt/referralgt
  • ltsecuritygt
  • ltx509 storeLocationLocalMachine
    verifyTrusttrue allowTestRootFalse /gt
  • lt/securitygt
  • lt/microsoft.wsdkgt
  • lt/configurationgt

17
Machine.config
  • WSDK installation modifies machine.config to add
    ConfigHandler for microsoft.wsdk section
  • Machine-wide configuration is well documented in
    WSDK.config located in the installation directory
    of the WSDK

18
ASP.NET WebMethods
  • Transparent integration via HttpModule

19
Creating Clients
  • Two options roll by hand or use the Web Services
    Description Language tool (wsdl.exe)

20
WS-Security
  • Supported through Microsoft.WSDK.Security.
  • Contains types that enable handling SOAP messages
    encrypted, signed, and secured with X.509
    certificates, user name tokens, and custom binary
    security tokens

21
WS-Timestamp
  • Supported through Microsoft.WSDK.Timestamp
  • Contains types that enable setting the
    expiration, creation, and received times of
    messages
  • Useful in a security scenario

22
WS-Attachments/DIME
  • Supported through Microsoft.WSDK.Dime
  • Contains types that enable to send and receive
    binary data attached to SOAP messages
  • Stream reader (DimeReader) and writer
    (DimeWriter)
  • Support for chunked records (DimeRecord)

23
WS-Routing
  • Supported through Microsoft.WSDK.Routing
  • Contains types that enable the transparent
    routing of calls to a WSDK application
  • Provides programmatic access to Path elements
    (i.e. Action, To, From, Fwd, Rev, etc.)

24
WS-Referral
  • Supported through Microsoft.WSDK.Referral.
  • Contains types that enable the redirection of
    calls to a WSDK application

25
Referral Cache
  • Inspected by the RoutingHandler for each incoming
    SOAP message
  • Routing instructions in a configuration file
    (i.e. referralCache.config), which prevents
    ASP.NET from being serving it up through HTTP

26
Updating the Referral Cache
  • Upon servicing a request, a handle to
    referralCache.config is created
  • ASP.NET worker process retains this handle,
    effectively locking the file
  • Touching web.config will unload it from memory
    and release the handle (non-optimal)
  • Update referralCache.config by creating a new
    file and update web.config to have it referenced
    (recommended)

27
Interoperability
  • Implementation of WS-Security in WSDK is
    compatible with IBMs Web Services Toolkit (WSTK)
    v3.2.2
  • BEA WebLogic Workshop?

28
Troubleshooting
  • Diagnostics
  • Tracing
  • Application event log
  • ASP.NET worker process
  • Set DACLs accordingly
  • X509 Certificates
  • Database permissions
  • Trust chains

29
WSDK
  • Pros
  • Easy to program
  • Extensible
  • Configurable
  • Cons
  • Troubleshooting
  • Lack of support for other remoting stacks

30
Articles Resources
  • Test-Drive Microsofts New Web Services
    Development Kit by Roger Jennings, XML Web
    Services Magazine
  • Programming with the Web Services Development
    Kit Technology Preview by Tim Ewald, MSDN
  • Using WS-Security with the Web Services
    Development Kit Technology Preview by Matt
    Powell, MSDN

31
Blogs
  • Don Box
  • Tim Ewald
  • Keith Ballinger
  • Ingo Rammer
  • Clemens Vasters
  • Werner Vogels
  • Jon Udell
  • John Burkhardt

32
Communities
  • Microsoft newsgroups
  • microsoft.public.webservices
  • microsoft.public.webservices.wsdk
  • DevelopMentor Lists
  • http//discuss.develop.com/
  • ASP.NET Forums
  • http//www.asp.net/forums/

33
URLs
  • MSDN XML Web Services Developer Center
  • http//msdn.microsoft.com/webservices/
  • OakLeaf Systems
  • http//www.oakleaf.ws/
  • Casey Chesnut
  • http//www.brains-n-brawn.com/

34
Contact Information
  • john.bristowe_at_empowered.com
Write a Comment
User Comments (0)
About PowerShow.com