Sunday, October 23, 2011

Installing Microsoft WebMatrix 2 Beta

Attended a Microsoft Web Camp recently focused on WebMatrix, Html5 and Css3. My first bits of experience with the tool. Will be installing Web Matrix 2.0 beta.

  • Start with the download here.
  • With the Web Platform Installer 4.0,  the installation is not much trouble. 
Fig.1 Web Platform Installer 4.0
  • Click Install and the list of all dependencies are available right away. Note: I had .Net Framework 4.0 pre-installed on my machine.
Fig.2 Web Platform Installation
  • Click Accept and the download and installation starts.
Fig.3 Quick Start MS WebMatrix


Friday, October 21, 2011

Polling using BizTalk WCF Oracle Adapter

Came across this scenario of polling an Oracle table from BizTalk Server 2010 using the WCF Oracle Adapter and a requirement of running a post poll statement which updates the table in one of my forum posts. Used the WCF Consume Adapter Service to do a small POC for this and following are a few steps that I followed.

  • Used the Consume Adapter Service Wizard to connect to the oracle DB using the oracleEBSBinding and create a Service inbound operation for a schema artifact Test table. This will create a set of Schemas and a binding file with a receive port

Fig.1 Consume Adapter Service
  • Next I created the receive port using the auto-generated binding file and then a send port to a file location with a filter to subscribe the messages which will published by the receive port. As shown in Fig.2, I have set the required polledDataAvailableStatement, pollingAction,pollingInput(FOR UPDATE), pollingInterval and postPollStatement(UPDATE) properties on the receive port. The pollingAction can be taken from the metadata of the auto-generated schema. Following is an example(have changed the schema name)
         <xs:documentation>
          <doc:action xmlns:doc="http://schemas.microsoft.com/servicemodel/
            adapters/metadata
           /documentation">Tables/Poll/SCHEMA_NAME/TEST</doc:action> 
         </xs:documentation>

Fig.2 WCF Custom Transport Properties for Receive Port
  • To test this I deployed the auto-generated schemas and started the send port and enabled the receive port. The results in the outbound folder as shown in Fig.3
Fig.3 Outbound Folder.
  • Note that the result of the polling input in this case is after applying the postPollStatement.


Tuesday, October 11, 2011

Debatching Incoming Messages from Biztalk WCF Oracle Adapter

De-batching inbound messages from BizTalk WCF SQL Adapter using TypedPolling has been meticulously explained by Richard here.  Thought about doing something similar with the WCF Oracle Adapter and using the InboundOperationType as Polling. Following are the steps that I undertook to achieve this.

  • Use the consume adapter service to create the auto generated schemas for the select operation on a table in oracle. This step generates a schema and a binding file. 
  • Changed the schema to set the enevlope property to Yes.
Fig1. Envelope schema



  • Added the Body XPath property on the SelectReponse node that is the response with the multiple rows to point to SelectResult, its child record. SelectResponse is the message retured by the WCF Oracle Select operation. Changed the max-occurs to 1 from unbounded for the child record of SelectResult. This will be the type of message generated after de-batching.
Fig.2 Setting body XPath for Envelope schema

  • Sign this project and deploy the schema project.
  • Create a receive port to get the trigger message for getting data from oracle table. Kept it simple at select * from table. This is the message of the auto-generated type Select.
          Sample message :
Fig. 3 Sample XML request for WCF Oracle Adapter.

  • Imported the binding file to create the request response port for the oracle adapter select from table operation. Create a filter on the WCF send receive port so that it picks the trigger message directly from the message box.
Fig. 4 Filter on WCF request response port.

  • Created a send port with a filter BTS.SPName = <<WCF Send Port Name>> to pick the response of WCF send port and drop into a file location.
  • Ran the test with a trigger file. This resulted in the seperate debatched rows being created by the send port created in #7.
Fig.5 Outbound folder containing de-batched rows.


Note: if the auto-generated schema is not changed to envelope the send port created to pick response messages of WCF send receive port will create a single file containing all records.



Thursday, October 6, 2011

Pinning a site in IE9

Pinning is a very good way of getting more site impact. Pinning capabilities can be used to grab attention and pull more users into the site. More info on buildmypinnedsite

Wednesday, October 5, 2011

A Gem of a Technologist Mr. Steve Jobs

For certain Mr. Steve Jobs will be remembered for ages as a great technologist and innovator. A very sad news. My fond respects to the legend ..