Git – Open Source Version Control Solution

Git is an open source version control solution. Have rich functionalities, extendibility

Git is very easy to install and configure. As I am windows geek I just have to run a wizard to install Git.

As I said I windows geek to I love to work on GUI but I think Git is the only tool where I enjoy will working on command line. On installing Git on windows, it will install Git GUI and Git Bash. Git Bash is its shell or command prompt where you can execute Git commands

You can create public and private repositories, history, version controlling. There’s nothing particularly magical about a repository; it is simply a directory tree in your file system that Git treats as special. You can rename or delete a repository any time you like, using either the command line or your file browser. It uses SSH (Secure Shell) protocol to exchange information in public repositories. All you need to do is to create private and public key and configure it for SSH agent and your information is now on secure channel for Git transactions.

There are a lots of Git command but all are simpler. It mechanism is very simple. If you do not want to go up to advanced level, you can start with just little simple command. Its syntax, keyword and switches are very self explanatory.  Following are 13 simple commands; these are enough to work on basic level. Further branches are introduce that increase complexity

$ git help First you get a help and documentation about get on Git bash.
$ git init Initializes a git repository – creates the initial ‘.git’ directory in a new or in an existing project
$ git clone

 

To get a modified version from URL or initially it can be used to fork or get files from repository or you can create another local copy with same command.
$ git log To get view of history
$ git add Add file changes in working directory
$ git rm Removes files from your index and your working directory so they will not be tracked
$ git diff Available with many switches. Use to take different between two version of same file or different files also.
$ git commit Commit local changes to working tree. Can be used with –a to commit all changes in your local working directory.
$ git fetch Fetches all the objects from the remote repository that are not present in the local one.
$ git push Upload a tree to the original repository.
$ git pull Fetches the files from the remote repository and merges it with your local one.
$ git reset Resets your index and working directory to the state of your last commit.
$ git status Shows you the status of files in the index versus the working directory. It will list out files that are untracked (only in your working directory), modified (tracked but not yet updated in your index), and staged (added to your index and ready for committing).

 

Consume web service in BizTalk orchestration

If we want to consume web service in my BizTalk orchestration. I do not have to do so many efforts.

Over all mechanism is still same that we will create message and port type according to my web service and send request and then receive response. But only concern that how can I found out what port type is. What request and response should be created? For web service we will do conventional thing that we used to do. I will add web reference and then all worries are for BizTalk. 🙂

By adding the web reference of your web service you will get some cool stuff in your solution. It contains some files, web message types, port type, and multi part message type. Surly you will get all stuff you want for your service.

You will get following files
Reference.map
Reference.odx
Reference.xsd
Myservice.disco
Myservice.wsdl

Some file are optional. If your request or response message type is primitive (normally a string in this case) then request and response XSD will not be created for you.

You will use web message type for your request and response message. Further port type and multi part message can be used accordingly.

Now is become handy to consume web service as all necessary information is available. Enjoy!!!!

Some thing about WCF

WCF (Windows Communication Foundation) is a unified approach to communicate on different technologies in a single and easier manner.

WCF can be called form Ajax enabled website also Microsoft has introduce its consumption in SilverLight.

You can easy find ABC of WCF on any WCF related site

A = Address —– service location

B = Binding —— mean of communication

C = Contract —–services functionality

Address is the unique location which is used to identify your WCF service.

WCF service communicates with its end point. End points are like exposed tunnel that allow incoming message to travel into WCF Service.  Each end point is identified by a unique address. Here Address of WCF ABC plays role. End point address allows WCF client to send message on specific location where it can be entertained my correct WCF service with correct operation.

Binding will define how the data will be transfer to WCF Service. As WCF is unified channel to communicate on many protocols we define in binding that what protocol should be used to communicate. Further security, encoding, timeout etc can be defined in binding.

It can be noted that WCF use SOAP envelope to communicate on all protocol. This will also explore the importance and increase of usage of SOAP protocol in BizTalk.

If we talk about BizTalk we do not much worry about ‘C’ i.e. contact. If we look deep down then we have three types of contract. Data contract, service contract, fault contract, message contract. These contracts have the definition of many aspects of WCF in their own area.

Data contract is the format in which data can be exchange with service. If we look for BizTalk we also required valid xml with pre-defined format to communicate with service.  This format is our XDS. So we can define data contract with our XSD. BizTalk XSD is very flexible and you can play very well if you have deep knowledge. On data contract we can apply many behaviors to distinguish data with other details we can do same in XSD but in a different way and when we publish service BizTalk server do the same for us.

Service Contract should be our orchestration. As services contract define the operation that services can perform with associated data contract. We can also do the same in orchestration. Or orchestration ports operation can be used as service contract functions. We can associate XSD with operation in orchestration, same as we can associate data contract with service contract.

Fault contract define which errors are raised by the service, and how the service handles and propagates errors to its clients.

Message contract allow the service to interact directly with messages. Message contracts can be typed or untyped, and are useful in interoperability cases and when there is an existing message format we have to comply with.

Microsoft .Net include service model (System.ServiceModel) that we can use to call WCF service. Its command line utility svcutil.exe to extract its Meta data.