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 .. 

Thursday, September 29, 2011

Install and Run Windows 8 on Mac 10.7 Lion using VMware Fusion

There's a loud buzz for Windows 8 Developer preview released recently. Thought of giving it a try on my Macbook. Following are a few steps:
  • Download the windows 8 developer preview from the Windows Dev Center.
  • Launched the newly bought VMware Fusion 4.
  • Command+N to open the New Virtual Machine Assistant.
Fig. 1

  • Click continue without a disc.
  • Check Use operating system installation disc or image.
    Fig. 2
  • Choose operating system Windows and Version Windows 7 x64
Fig. 3
  • Click Finish and it will ask for saving the VM.
Fig. 4

  • Click on the play button on the VM and it will start the windows 8 installation.
Fig. 5


Fig. 6

Fig. 7 Personalize screen


Fig.8 Preparing your PC screen

Fig. 9 Post Login Start Screen

  • After the complete Windows Install, tried VMware tools and to my utter surprise they installed like charm.
Fig.10 VMware Tools installation

Overall, a different UI for the start and nice options. The mac trackpad just  works well too with the swipe gesture showing the way around.

Tuesday, September 27, 2011

How to use Oracle Stored Proc with XMLType parameters in BizTalk 2010


Had a scenario in one of my projects where in we need to pass XMLType as input parameter and output parameter to a oracle stored procedure. So find some excerpts of the POC in this post.
Following are a few steps that I followed:
1) Created stored procs with XMLType as the input and output parameters.
Fig.1 Oracle Stored Procedure with XMLType parameters

2) Creating the schema's for the Oracle Stored Procedure using the Consume Adapter Service.

Fig.2 Consume Adapter Service

3) Following is the schema generated for the Oracle stored procedure.

Fig.3 BizTalk Auto Generated Schema

4) Created a simple orchestration for picking up the Request File and sending to the Oracle Stored Proc using the auto generated WCF request response port(This gets generated during the Consume Adapter Service).

Fig.4 Sample Orchestration

5) Sample file used for testing is as follows.
Fig.5 Sample File containing XMLType data as a String

6) Sample response file containing the response from the Oracle Stored Proc.

Fig. 6 Response File returned by Oracle Stored Procedure.
Overall, a couple of things to notice that while for using ambientTransactions we need to use a TNS alias. XMLtype is taken as a string so have to take care of the data that goes in the input. Reserved XML characters like '<', '>'. must be replaced with their entity.representations (&lt; and &gt;)