Welcome to MSDN Blogs Sign in | Join | Help

TList.exe

If you need to look at the process tree running on windows - Use tlist.exe

TList.exe comes with the Debugging Tools for Windows download.

The syntax for looking up the process tree is tlist.exe /t

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 0 Comments

Creating a Interop Assembly for RTC Client API 1.3

The Real-Time Communications (RTC) Client API is a set of COM interfaces that enables you to build applications for making PC-PC, PC-phone, or phone-phone calls or creating instant messaging (IM) sessions over the Internet. Both voice and video calls can be established on PC-PC calls.

 

There are three simple steps in creating an Interop Assembly for the RTC Client SDK binaries. The Interop assembly can be used by C# or VB.NET managed code. I have assumed that you have installed the RTC Client API SDK 1.3

 

(1) Download and install the Microsoft Platform SDK

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm

(2) Generate the type library

"midl /I "C:\Program Files\Microsoft Platform SDK\Include" rtccore.idl"

(3) Generate the interop assembly for any version of the .NET framework

"tlbimp rtccore.tlb /out:Interop.RTCCore.dll /namespace:RTCCore /sysarray"

 

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 1 Comments

Why MTOM and not WS - Attachments ?

Why should you use MTOM and not WS - Attachments ?  The answer is limited composibility and better performance with large attachments.

Composibility is the ability of a specification to be effectively used by specifications higher up in the web services (WS - *) stack

The composability characteristic of WS – Attachments / DIME is considered poor because of the non SOAP envelop approach to messaging. This makes it hard for Ws - * specifications higher in the stack to work with it. MTOM has better composibility characteristics. 

The moral of the story is to plan to use MTOM. On the Java side for interop, certain implementations support MTOM including the early release of WS02. WSE 3.0 and WCF support MTOM out of the box

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 0 Comments

Hosting a WCF Service in Cassini

If you want to test your WCF Service quickly, without using IIS, you can use the built in Web Server (aka Cassini). There are some limitations but it will work.

The limitation is that Cassini assigns a new HTTP port number on every instance of the web server. This means that every time you shut down the Cassini instance, running the project will create a new web server instance with a new port and invalid your endpoint. The trick is to not shut down your Cassini instance.

Of course the recommendation is to use IIS for more robust testing.

These are quick instructions. (I am assuming you know how to create a basic WCF service  library in VS 2005 and are familiar with the VS environment)

  • Create you WCF Library in VS 2005
  • Add a new ASP.NET project to the solution. Make sure it is not an IIS ASP.NET project and is file based.
  • Add a new text file to the project. Call it Service.svc.
  • Add the following to the svc file.

<%@ServiceHost language=c# Debug="true" Service="YourServiceLibraryName.YourServiceName" %>

  • In the Web.Config file add the bindings

<system.serviceModel>

    <services>

      <service name="YourServiceLibrary.YourServiceName">

        <!-- use base address provided by host -->

        <endpoint address="" binding="wsHttpBinding" contract="YourServiceLibrary.IYourServiceName"/>

      </service>

    </services>

  </system.serviceModel>

  • Now set the ASP.NET project as the start up project and run the project. IE should open and you should see the WCF Service page.
  • Now examine the WSDL by clicking on the wsdl link. Find the <wsa:10 Address>  towards the end of the document. This will give you the address of the service for your client to call into. (Cassini will update the port every time the web server turns on. So make sure you don’t kill the web server instance).
  • Use that endpoint in your client to test the service.

Remember ... as long as the you don't close the Cassini instance the endpoint port remains the same and the client should work.

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 0 Comments

Easy way to burn CDs and DVDs from ISO

Use the Windows Resource Kit Tools. It has a bunch of tools including cdburn that makes it a piece of cake to burn ISO's to CD or DVD

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 3 Comments

WinHEC

Don't miss BillG's keynote at WinHEC. For me the key takeway was the fact that future applications will have to find ways to use multi core technology. That means applications will need to deal with a lots of threading and need to take advantage of new programming models. Wow !!!

Also, Can't wait for the hypervisor bits .......

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

 

Posted by nagrajn | 0 Comments

Meta Data, Contract and Meta Data Driven Applications

What is meta data ?

A common definition is data about data. But what does it really mean ?

Reusing an often quoted example of a library catalog, the meta data are the reference cards you find up in a old wooden drawer that lists out attributes of a book and then point to a physical location of the book. So in this case the meta data is the reference card that points to the data (book)

In some cases the physical location may be an old wooden box in another library. (meta meta data)

What is a Service Contract ?

The Service Contract is meta data about a Service.

In a WCF WinFX service, the out of the box service meta data is defined on a variety of attributes including the operation, data, bindings, end point, behavior and well as it's operation interactions (One Way, Duplex, Session , etc)

What is a Meta Data Driven Application ?

In a meta data driven application architecture .... direct functions calls are replaced by exposed metadata.

Consumer Applications use the exposed meta data to use a Provider Service. Meta Data is typically exposed as a meta data endpoint. The Consumer application uses the meta data endpoint to procure and use the meta data to access Service functionality.

Obviously, this allows for a lot of flexibility. The consumer and the provider end point is not tightly coupled.

WS - Meta Data Exchange

Indigo supports the WS - Meta Data Exchange Protocol. In Indigo it is possible to configure a service to enable a Meta Data Exchange Endpoint (MEX).

Consumer applications can query this endpoint, grab address, binding, contract information on each service endpoint.

I will post a simple example tommorow. Hopefully :-)

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 2 Comments

The Component Container

The component container has been around for a long, long time

Component Containers are simple in concept.

  • Containers provide services to components that execute within the container "execution space". 
  • Containers may provide network addressability to a component. i.e. transform a component into a service.
  • Containers may help the component enable one or more service endpoints that define the protocol, transport and format.
  • Containers may provide an platform abstraction.
  • Containers may also provide invocation management to components that live within or without the container execution space. (Really important as we will see in the weeks ahead)
  • Containers may be able to interact with other containers in a wide variety of "quality attribute" use cases like availiability. 

Previous attempts at container implementations were at best partly successful and most suffered from a non unified approch to communication with other container implementations.

Also a unified approach does not end at the communication level but goes into other important aspects of a solution architecture like security or reliability.

The non unified approach to container architecture was the principle reason that the container tended to be architecturally invisible and not a first class player in any solutions architecture.

In todays highly diverse environments in where interop is key, a unified approach to communication and other facets of the solution architecture is extremely important.

Indigo provides a unified communication framework that is customizable and extensible through Ws - * support and the .NET framework. The power of Indigo makes it a first class player in any solutions architecture .

This unified approach was the missing magic ingredient in the container implementation. As we will see in the next few posts this gives you the power to do amazing things in your architecture and design.

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 2 Comments

Hello World

Hello Word from the "Only Indigo" blog. I want this blog to reflect my current thinking on Indigo a.k.a  Windows Communication Foundation. I am going to use Indigo in all the posts. At-least until I get beat up for it. :-)

Indigo facinates me. In my humble view it is the first true Service Oriented Architecture application container and in my view is similar in concept to an Enterprise Service Bus container.

The power of Indigo is enormous.

However a container is just that - a container and without the correct architecture and building blocks within and without does not really amount to much.

The intention of this blog is to not only explore all the facets of Indigo but to also dive deep into the surrounding architecture that makes Indigo so facinating.

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Posted by nagrajn | 2 Comments
 
Page view tracker