Web Services, XSD, WSDL and Versioning …

I’m working on a web service providing user application authorization information based on web service. The basic idea is to expose application authorization data through a web service and remove any need to implement similar functionality in each application and centralize the administration of user profiles and authorizations.

Like any other web services once deployed, all applications will be dependent on this basic user authorization services. It requires that the authorization service must offer backward compatibility and extensibility to support applications that live on their own life cyles.

A versioning strategy is shown in the following:

  • All types are defined in XSD and their namespaces are date-stamped. Ex.,
    <s:schema

          xmlns:s=“http://www.w3.org/2001/XMLSchema”

          targetNamespace=“http://tempuri.org/2004/02/16/types/”

          xmlns=“http://tempuri.org/2004/02/16/types/”

        >

         <s:complexType name=“User”>

           <s:sequence>

                  <s:element name=“FirstName” type=“s:string”/>

                  <s:element name=“LastName” type=“s:string”/>

           </s:sequence>

         </s:complexType>

    </s:schema>
  • All WSDL are stored as files that reference the XSD for exposing types. Ex.,
    <definitions

        name=“UserAuthorizationService”

        targetNamespace=“http://tempuri.org/2004/02/16/UserAuthorizationService/”

        xmlns=“http://schemas.xmlsoap.org/wsdl/”

    >

        <import namespace=“http://tempuri.org/2004/02/16/types/”

         location=“UserAuthorization.xsd” />

        <types />

        <message />

       <portType />



       <!– concrete definitions –>

       <binding />

       <service />

    </definition>



  • When implementing web services, the binding is done with import of a particular WSDL such as http://localhost/2004/02/16/UserAuhtorizationService.wsdl, insetad of relying on ASP.NET auto-generated WSDL on an endpoint.
  • When the service interface changes, a new WSDL is created and a new endpoint is created as well for the new interface. Ex, these are two versions of the service with two distinct endpoints.
  • http://localhost/2004/02/16/UserAuthorizationService.wsdl and http://localhost/2004/02/16/UserAuthorization.asmx
  • http://localhost/2004/03/UserAuthorizationService.wsdl and http://localhost/2004/03/UserAuthorization.asmx
  • Here’re some related resources:
    Designing Application-Managed Authorization
    XML Versioning

    SOHU

    Long SOHU Mar 30 C @2.30. This is a play at major support level. If the support around 28 holds up, SOHU will move back into lower 30s.

    Tomorrow is the first day BOX opens for trading. I hope the stupid cancellation fees charged by all current option exchanges will be forced to be removed due to increasing competition. There’s another stupid rule in option trading, that is, you can not have 100% electronic transaction. Up to now, all exchanges require at least somewhere during the order entry process, a human involvement must be present.

    Waiting to see job reports tomorrow.

    ES

    I hit my head when missing the spike 1131 to 1136! It happened seconds after closing a long position. After lunch, a short worked ok although the target was set at 1135 missing half of the plunge. Oh well, I was not watching the market anyway.

    Increaded LFC position. It’s moving down lately. Likely it may find support at 25, its IPO price.

    Closed SUNW position. I may reopn it when it breaks out or continues building base around 5.5 level.

    GDP Growth and Rate Hike …

    This morning GDP growth rate was published. It’s lower than expected. Considering the Feds comment on the future rate hike earlier this week, this lower than expected GDP number may ease some concerns on the feds. So we may see mkt going higher later today. S&P did reverse itself at 1120 support.