July 2006 - Posts

Microsoft and vendors have released first draft of Service Modeling Language (SML) today. I’m happy to  see Microsoft join in a specification that includes Schematron

Posted by gsusx | 1 comment(s)

Obviously this represents the evolution of IBM ETTK. Ha, Now I can start doing my interoperability tests with WCF

Posted by gsusx | with no comments

It’s always nice to see such a great talent in coming from Latin America. Tomas Restrepo, Carlos Medina and Gustavo Echeverry have founded Devdeo a new firm focused on connected systems architecture and implementation. Way to go guys.

 

Felicitaciones.

Posted by gsusx | with no comments

AdapterWorx community keeps growing!!!

Today Two Connect decided to make available to the AdapterWorx community the trial versions of the Salesforce.com adapter and Service Broker 1.2 adapters for BizTalk Server 2006. Stay tune because we will have new surprises coming up on the next weeks.

So go ahead download the software, start playing with it and provide feedback.

Posted by gsusx | with no comments

One of my favorite’s features of the WSE 3.0 adapter is the capabilities to invoke Web Services that uses non-HTTP transports. That’s a feature that a lot of people, including myself, were expecting on the WSE 2.0 adapter for BTS 2004.

Now with on this version we are able to invoke Web Services hosted using transports like Tcp, MSMQ, etc. We can also expose orchestration as host-independent ASMX services and how those services in an application that uses a different transport.

 

Let’s run through a simple demo.

Suppose that we have the following WSE 3.0 Web Services hosted in a Console application using TCP-IP as transport.

 

public class UtilWebService: SoapService

    {

        [SoapMethod("Echo")]

        public string Echo(string msg)

        {

            Console.WriteLine("Request received: message=" + msg);

            return "Message received: " + msg;

        }

    }

Figure 1: WSE Service code

 

The Web Services host looks like the following:

 

static void Main (string[] args)

        {

            UtilWebService service = new UtilWebService();

            Console.WriteLine("Soap Tcp Service...");

            Uri to = new Uri("soap.tcp://tc2003s:8089/MathWS");

            EndpointReference EPR = new EndpointReference(to);

            SoapReceivers.Add(EPR, service);

            Console.ReadLine();

 

        }

Figure 2: WSE Service Tcp host

 

The WSE Schema Generator wizard is able to query a TCP endpoint using WS-MetaDataExchange (I blogged about this technique a while ago) to obtain the Web Service WSDL.

 

 

 

Figure 3: Importing schemas

 

The next required step is to configure the WSE 3.0 send port at deployment time. As part of the Send Port properties we can specify a soap:tcp address.

 

 

Figure 4: Send Port properties.

 

With that configuration the WSE 3 adapter will send the following Soap request to the WSE Service.

 

<soap:Envelope xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Header>

  <wsa:Action>Echo</wsa:Action>

  <wsa:MessageID>urn:uuid:498d2ea0-d65b-465a-b779-939fa0bd0bc7</wsa:MessageID>

<wsa:ReplyTo> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

  </wsa:ReplyTo>

  <wsa:To>soap.tcp://tc2003s:8089/MathWS</wsa:To>

  </soap:Header>

<soap:Body>

  <ns0:string xmlns:ns0="http://tempuri.org/">string_0</ns0:string>

  </soap:Body>

  </soap:Envelope>

 

Figure 5: Soap Request

Posted by gsusx | 4 comment(s)

Wondering how many definitions of SOA exists out there. Colin listed a few on this post.

Posted by gsusx | 2 comment(s)

If you want to get an overview of Microsoft strategy around Web Services you should read this.

Posted by gsusx | with no comments
More Posts